sqlite-Datenbank nicht erstellt

Bin ich mit dem standard-Ansatz, die ich gelernt von den beliebten notepad-Beispiel für den Aufbau meines ersten app.

Aber ich steckengeblieben in ein seltsames problem.

Die SQLite-Datenbank-Datei (.db) wird nicht angelegt in /data/data/Paket/Datenbanken. Ich habe überprüft manifest-Datei und OpenHelper Datei aus Kopfüber android dev. Buch ( ich benutze es als Referenz ), aber ich fand mich nicht in der Lage, um herauszufinden, warum die Datenbank-Datei wird nicht erstellt..

Gibt es irgendwelche speziellen Berechtigungen oder etwas, das wir wechseln müssen, um es zu arbeiten??

seltsame Sache ist, dass seine arbeiten gut für pre-loaded Beispiele. bedeutet".db' - Datei erstellt mit dem Editor Beispiel, aber wenn ich versuche, es scheitert. 🙁

hier sind meine Dateien.

Paket - Datenbank.test

1. AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<uses-sdk android:minSdkVersion="10" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".Database_testActivity"
        android:label="@string/app_name" >
    </activity>
</application>

2.TestOpenHelper.java

package database.test;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class TestOpenHelper extends SQLiteOpenHelper {

TestOpenHelper(Context context){
    super(context,"mydb.db",null,1);
}
@Override
public void onCreate(SQLiteDatabase database){
    database.execSQL("create table test_1 " + " (field1 integer primary key, field2 integer);");
}
public void onUpgrade (SQLiteDatabase database, int oldVersion, int newVersion){
    database.execSQL("drop table if exists test1");
    onCreate(database);
}
}

3.Database_testActivity.java

package database.test;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;

public class Database_testActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ListView listview = (ListView)findViewById(R.id.test_list);
    TestAdapter ta = new TestAdapter();
    listview.setAdapter(ta);

    TestOpenHelper openHelper = new TestOpenHelper(this);
}
}   

Ich weiß, das ist eine sehr grundlegende Frage, aber ich habe versucht, dies zu lösen, für die letzten fünfzehn Tage, und jetzt bin ich komplett frustriert.

Bitte um Hilfe ..

  • Sollten Sie verwenden Log an verschiedenen Orten und überwachen logcat zu verfolgen, was passiert. Auch ich kann mich irren, aber haben Sie versucht, mit "mydb" für die db-Namen in der TestOpenHelper Konstruktor? Wie gesagt, ich kann falsch sein, aber ich kann nicht helfen, Gefühl mit einem Dateinamen-Erweiterung (wie in "mydb.db") Probleme verursachen könnte.
  • können Sie werfen etwas Licht auf using Log. Ich habe verschiedene Namen, aber nichts passiert. danke
  • auch jede app. in /data/data beginnt mit com.android.etwas, aber mir nicht. kann es der Grund sein für mein problem ??
  • Etwas wie Log.d("MyAppName", "In TestOpenHelper constructor");
InformationsquelleAutor Bond | 2012-06-04
Schreibe einen Kommentar