| |||||||
Das Thema "ContentResolver (insert) bringt Programm zum Absturz" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 25.06.2009
Beiträge: 51
Abgegebene Danke: 0
Erhielt 5 Danke für 4 Beiträge
| 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: 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;
/** Called when the activity is first created. */
@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();
}
/** lists all files in a directory */
protected void getFileList() {
/* list files in directory */
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);
/* create a ListAdapter from filelist */
lv.setAdapter(files);
/* enable listview textfilter */
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 is a directory
if (file.isDirectory()) {
path = newDir;
this.getFileList();
}
// set selection as text
tv.setText(newDir);
}
}
public void onClick (View v) {
if (v == bt) {
// TODO: parse the File and import to Content Provider People
ContentValues values = new ContentValues();
// Add Abraham Lincoln to contacts and make him a favorite.
values.put(People.NAME, "Abraham Lincoln");
// 1 = the new contact is ad ded to favorites
// 0 = the new contact is not added to favorites
values.put(People.STARRED, 1);
Uri uri = getContentResolver().insert(People.CONTENT_URI, values);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
// return super.onKeyDown(keyCode, event);
if (keyCode == KeyEvent.KEYCODE_BACK) {
// recreate String
String dirlist[] = path.split("/");
String newDir = "/";
// put slashes to directories
for (int i = 1; i < (dirlist.length - 1); i++) {
newDir = newDir + dirlist[i] + "/";
}
// recreate list
path = newDir;
tv.setText(path);
this.getFileList();
}
return true;
}
} |
| | |
| | #3 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 25.06.2009
Beiträge: 51
Abgegebene Danke: 0
Erhielt 5 Danke für 4 Beiträge
|
wenn du mir jetzt noch erklären könntest, wie das geht? ich hab vorgestern angefangen, mich durch die api zu graben..
|
| | |
| | #4 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
wenn du eclipse hast, dann einfach debug starten und in die debug view wechseln, dann zeigt er dir die fehler schon etwas besser an
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
| | #5 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 25.06.2009
Beiträge: 51
Abgegebene Danke: 0
Erhielt 5 Danke für 4 Beiträge
|
ah siehda!! ich hatt gar keine permission dafür- warum steht das nicht im dev guide drin???
|
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |