1
您好我的Android應用程序有問題。我想爲我的應用程序使用sqlite數據庫,並且我有一個使用onCreate()
,onPause()
和onResume()
方法的活動。我創建了一個類DatenbankManager
,創建了一個表id和名稱,但是如果我使用模擬器啓動我的應用程序,則會在此之後收到消息並關閉我的應用程序。爲什麼我不能在我的Android應用程序中創建SQLite數據庫
這裏我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
}
}
這裏我MainActivity:
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中我看到這一點:
我恨這個debuger:d
什麼是你的logcat的輸出? – Jave
看到我的更新我做了一個截圖 – Tarasov
運行adb kill-server,adb start-server。這將啓動你的調試器,你會得到所有的舊消息。 :)而不要說它是一個出色的記錄器/監控工具。 – Siddharth