我有错误,实际上代码抛出异常。我无法从sqlite数据库中读取数据。
这是我的课程,它是关于数据库的工作
public class Database extends SQLiteOpenHelper{
public SQLiteDatabase db;
public Database(Context c)
{
super(c, c.getDatabasePath("MobileTech.db").toString(), null, 3);
getWritableDatabase().close();
}
@Override
public void onCreate(SQLiteDatabase db)
{
Log.e("x", "MobileTech.db oluşturuluyor");
/**
* Mobil Kullanıcı Tablosu
*/
db.execSQL("CREATE TABLE MOBILEUSERS" +
"(ID TEXT PRIMARY KEY, USERNAME TEXT, PASSWORD TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
这里是读取此类的mobileusers方法:
//I try to read mobileusers data here
public ArrayList<MobileUsers> getMobileUsers()
{
ArrayList<MobileUsers>userList = new ArrayList<MobileUsers>();
db=getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT USERNAME,PASSWORD FROM MOBILEUSERS", null);
while (cursor.moveToNext())
{
MobileUsers user = new MobileUsers(cursor.getString(0), cursor.getString(1));
userList.add(user);
}
db.close();
return userList;
}
这里是从数据库类调用read数据库方法的方法(我发布了)
public ArrayList<MobileUsers> userList()
{
ArrayList<MobileUsers>userList = new ArrayList<MobileUsers>();
Database db = new Database(this.c);
userList = db.getMobileUsers();
for(MobileUsers mobileUser : userList)
{
Log.e("isim", mobileUser.name);
Log.e("şifre", mobileUser.password);
}
return userList;
}
但我得到了一个例外。这个例外就在这里。
我的错误在哪里?我无法抓住,我看不到。你能帮帮我吗?
答案 0 :(得分:0)
问题在于这一行:
super(c, c.getDatabasePath("MobileTech.db").toString(), null, 3);
Context c
为空,或getDatabasePath("MobileTech.db")
返回null。