ContentResolver (insert) bringt Programm zum Absturz

D

DocJunioR

Ambitioniertes Mitglied
Threadstarter
Ich bin gerade dabei, mir einen Importer für .CSV-Dateien zu schreiben, die ein Outlook mal ausgespuckt hat, nachdem mein altes handy dort synchronisiert wurde.

Jetzt habe ich mir also einen Filebrowser geschrieben, der das System durchwandern kann. Auf Buttondruck soll das Ganze dann importiert werden.

Zum Testen habe ich jetzt einfach erstmal den Insert aus dem dev guide ausprobiert. Das Ganze sieht so aus
Code:
[B]package de.docjunior.importel;
import java.io.File;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Contacts.People;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class ImportTelefonnummern extends Activity implements OnItemClickListener, OnClickListener { private TextView tv; private Button bt; private ListView lv; private String path; private ArrayAdapter<String> files; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.filebrowser_dialog); tv = (TextView) findViewById(R.id.Pfad); bt = (Button) findViewById(R.id.Submit); bt.setOnClickListener(this); lv = (ListView) findViewById(R.id.FileList); lv.setOnItemClickListener(this); path = getString(R.string.browser_root); getFileList(); } protected void getFileList() { File dirFile = new File(path); if (dirFile.isDirectory()) { String fileList[] = dirFile.list(); for (int i = 0; i < fileList.length; i++) { File fp = new File(path + fileList[i]); if (fp.isDirectory()) { fileList[i] = fileList[i] + "/"; } } files = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, fileList); lv.setAdapter(files); lv.setTextFilterEnabled(true); } } public void onItemClick(AdapterView<?> l, View v, int position, long id) { if (l == lv) { String newDir = path + files.getItem(position); File file = new File(newDir); if (file.isDirectory()) { path = newDir; this.getFileList(); } tv.setText(newDir); } } public void onClick (View v) { if (v == bt) { ContentValues values = new ContentValues(); values.put(People.NAME, "Abraham Lincoln"); values.put(People.STARRED, 1); Uri uri = getContentResolver().insert(People.CONTENT_URI, values); } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { String dirlist[] = path.split("/"); String newDir = "/"; for (int i = 1; i < (dirlist.length - 1); i++) { newDir = newDir + dirlist[i] + "/"; } path = newDir; tv.setText(path); this.getFileList(); } return true; }
}[/B]
Beim Knopfdruck stirbt das Programm ab. Aber warum?
 
D

DocJunioR

Ambitioniertes Mitglied
Threadstarter
wenn du mir jetzt noch erklären könntest, wie das geht? ich hab vorgestern angefangen, mich durch die api zu graben..
 
S

swordi

Gewerbliches Mitglied
wenn du eclipse hast, dann einfach debug starten und in die debug view wechseln, dann zeigt er dir die fehler schon etwas besser an
 
D

DocJunioR

Ambitioniertes Mitglied
Threadstarter
ah siehda!! ich hatt gar keine permission dafür- warum steht das nicht im dev guide drin???
 
Oben Unten