我跟着一篇关于如何使用android SDK处理SQLite数据库的教程。我的问题是,当我调用方法“getUsername()”时,应用程序崩溃。我究竟做错了什么?SQLiteOpenHelper崩溃Android应用程序
package racenet.racenet;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class Preferences extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 2;
private static final String DATABASE_NAME = "racenet.racenet.db";
Preferences(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE settings(key TEXT, value TEXT)");
values = new ContentValues();
values.put("user_name", "");
getWritableDatabase().insert("settings", null, values);
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
}
public String getUsername() {
Cursor c = getReadableDatabase().query("settings", new String[]{"value"},
"key = 'user_name'", null, null, null, null);
c.moveToFirst();
String username = c.getString(0);
c.close();
return username;
}
}
请上传你的错误。 – Lucifer 2012-03-17 09:37:18