У меня есть ошибка, на самом деле код генерирует исключение. Я не мог читать данные из базы данных 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
Я уже показываю вам все функции об исключении –