嗨,我的 android 应用程序有问题。我想为我的应用程序使用一个 sqlite 数据库,并且我有一个使用onCreate()
,onPause()
和onResume()
方法的活动。我已经建立了一个类DatenbankManager
,它创建了一个表 ID 和名称,但是如果我用模拟器启动我的应用程序,我会收到一条消息,然后我的应用程序关闭。
这是我的 DatenbankManager 类:
package de.tarasov.database_example_tarasov;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatenbankManager extends SQLiteOpenHelper {
private static final String DB_Name = "Stundenplanname.db";
private static final int DB_VERSION = 1;
private static final String KLASSEN_CREATE = "CREATE TABLE Stundenplan(" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT, "+
"name TEXT NOT NULL";
private static final String KLASSEN_DROP = "DROP TABLE IF EXIST Stundenplan";
//Konstruktor
public DatenbankManager(Context context) {
super(context, DB_Name, null, DB_VERSION);
}
//Methode wenn eine Datenbank erstellt werden muss
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(KLASSEN_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(KLASSEN_DROP); // Löscht Tabelle wenn nicht vorhanden
onCreate(db); //Erstellt Tabelle
}
}
这是我的主要活动:
package de.tarasov.database_example_tarasov;
import android.os.Bundle;
import android.widget.Toast;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
public class MainActivity extends Activity {
private SQLiteDatabase mDatenbank;
private DatenbankManager mHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHelper = new DatenbankManager(this);
}
@Override
protected void onPause() {
super.onPause();
mDatenbank.close(); //Schließt Datenbank
Toast.makeText(this,
getResources().getString(R.string.db_close),
Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume() {
super.onResume();
mDatenbank = mHelper.getReadableDatabase(); //Datenbank öffnen
//Gibt Kurztext aus
Toast.makeText(this,
getResources().getString(R.string.db_open),
Toast.LENGTH_SHORT).show();
}
}
这是错误消息:
如果我进行调试,我会看到:
Source not found.
在 LogCat 我看到这个:
我讨厌这个调试器:D