| |||||||
Das Thema "Wo werden im Handy SQLite Datenbanken gespeichert?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Android-Hilfe.de Mitglied | Oder gibt es eine Möglichkeit direkt zu sagen er soll die DB auf der sdcard abspeichern? Danke |
| | |
| | #2 (permalink) |
| Erfahrener Benutzer Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Normalerweise werden die Daten unter /data/data/<packagename>/databases/<dbname> abgespeichert. Aber Dir steht es frei im ContentProvider statt des DatabaseHelpers direkt die SQLiteDatabase zuverwenden. Da kann man eine beliebige Datei als Datenbank angeben. Aber dann kann jede App Deine Daten lesen.... |
| | |
| | #3 (permalink) |
| Android-Hilfe.de Mitglied |
Hm Ok und der Ordner wird bei mir immer leer angezeigt. Hast du ein minimal Beispiel wie ich Daten aus meiner datenbank als liste ausgeben lassen kann? Wollte wissen wo die Daten liegen weil ich nicht weiss ob mein Programm die datenbank angelegt hat und ob die Daten in diese geschrieben wurden. Geändert von ensacom (17.05.2009 um 20:42 Uhr) |
| | |
| | #4 (permalink) |
| Erfahrener Benutzer Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Tippe in der Konsole aus unter android-..../tools: adb shell su sqlite3 data/data/<packagename>/databases/<dbname> select * from <tablename>; .quit |
| | |
| | #5 (permalink) |
| Android-Hilfe.de Mitglied |
ich benutze keinen emulator sondern führe alles drekt im handy aus. habe es über das terminal probiert Code: ensacom-laptop tools # ./adb shell $ sqlite3 data/data/com.ensacom.android.ensacom1/databases/tankpro sqlite3: permission denied $ Oder kennst Du eine kurze Minimal-Anleitung zum erstellen, schreiben und auslesen? |
| | |
| | #6 (permalink) |
| Erfahrener Benutzer Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Vorher in der shell su eintippen um root rechte zu haben. Ohne Root-Rechte geht es wohl nicht. Meinst Du einen DatabaseHelper für SD cards? Oder was für eine Minimal-Anleitung? |
| | |
| | #7 (permalink) |
| Android-Hilfe.de Mitglied |
Habe vorher su eingegeben. trotzdem diese Meldung. Ich brauche nur eine Minimalanleitung, wie ich eine Datenbank anlege, eine Tabelle anlege, einen Datensatz einfüge und die Daten auslese. Also schon mit DatabaseHelper. Brauche nur was minimales ohne viel drumrum nur das ich mal sehe wie es funktioniert. Das Tutorial Notes ist viel zu umfangreich, da blicke ich nicht ganz durch. Will einfach die Daten dann in einer Liste ausgeben. |
| | |
| | #8 (permalink) |
| Erfahrener Benutzer Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Was ist nicht klar im Notepad tutorial? Notepad Exercise 1 | Android Developers Da wird genau das beschrieben. Besser kann ich das auch nicht. Oder geht es um das Englisch? Gruß Friedger |
| | |
| | #9 (permalink) |
| Android-Hilfe.de Mitglied |
Hallo, ich habe schon hier das Problem, das im quelltext selber kein Fehler angezeigt wird, aber wenn ich das Programm starte, das es sofort mit "xxx wurde unerwartet beendet. xxx" beendet wird. Der Fehler scheint in der Zeile zu liegen. Code: ListAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.fahrzeuge, c, columns, names); Code: public class fahrzeuge extends ListActivity {
SQLiteDatabase myDB = null;
private final String MY_DATABASE_NAME = "tankpro";
private final String MY_DATABASE_TABLE = "fahrzeuge";
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
//Datenbank erstellen oder öffnen
myDB = this.openOrCreateDatabase(MY_DATABASE_NAME, MODE_PRIVATE, null);
//Tabelle erstellen wenn noch nicht vorhanden
myDB.execSQL("CREATE TABLE IF NOT EXISTS " + MY_DATABASE_TABLE
+ " (id integer AUTO_INCREMENT PRIMARY KEY, name varchar(100), model varchar(100), bemerkungen varchar(255), kraftstoffart varchar(100))"
+";");
//Daten in Tabelle einfügen
myDB.execSQL("INSERT INTO "+MY_DATABASE_TABLE+" (name, model, bemerkungen, kraftstoffart) "
+"VALUES ('Audi','TT','Keine Bemerkung','Super');");
//Daten aus Tabelle auslesen
Cursor c = myDB.rawQuery("SELECT name, model FROM " + MY_DATABASE_TABLE + ";", null);
//Indizies der Spalten speichern
int kfzNameColumn = c.getColumnIndex("name");
int kfzModelColumn = c.getColumnIndex("model");
//Cursor an ersten Treffer setzten
c.moveToFirst();
//KFZName in Variable speichern
String kfzname = c.getString(kfzNameColumn);
//KFZModel in Variable speichern
String kfzmodel = c.getString(kfzModelColumn);
startManagingCursor(c);
String[] columns = new String[]{kfzname};
int[] names = new int[]{R.id.row_entry};
ListAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.fahrzeuge, c, columns, names);
this.setListAdapter(mAdapter);
} Ich weiß das noch einiges zwischen try und finally gesetzt werden muss. NACHTRAG: Ich weiß jetzt das Daten ausgelesen werden. Habe einfach was mit Toast ausgeben lassen Code: Toast toast = Toast.makeText(fahrzeuge.this, kfzname + kfzmodel, Toast.LENGTH_SHORT); Geändert von ensacom (18.05.2009 um 11:20 Uhr) |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Fotos Von Kamara werden wo gespeichert? | PlaYOuT | T-Mobile G1 Forum | 2 | 24.05.2009 11:49 |
| Lesen und schreiben in eine SQLite-Datenbank | ensacom | Android App Entwicklung | 2 | 18.05.2009 14:23 |
| Wo werden runtergeladene Bilder gespeichert und wie kann ich sie löschen? | pMay | Android Allgemein | 1 | 08.05.2009 01:49 |
| Wo werden Bilder gespeichert | Chaos-Koch | T-Mobile G1 Forum | 8 | 22.04.2009 01:52 |
| Kontakte werden automatisch in den Favoriten gespeichert, Warum? | Umut | T-Mobile G1 Forum | 3 | 21.02.2009 22:18 |