我有en錯誤,實際上是代碼拋出異常。我不能從sqlite數據庫讀取數據。當我讀取sqlite數據庫時拋出異常
這裏是我的課whic是數據庫
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;
}
這裏是哪裏打來的讀取數據庫的方法的方法數據庫類(我發佈了)
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;
}
但是我得到了一個異常。這是一個例外。
哪裏是我的錯?我無法捕捉,我看不到。請問你能幫幫我嗎?
請向我們展示完整的堆棧跟蹤,並指出它出現在哪條線上。 –
檢查此問題http://stackoverflow.com/questions/18189995/android-getwritabledatabase-throws-a-nullpointerexception – Pavan
我已經向您展示了關於異常的所有函數 –