Не удается написать в sqlite из другого действия

Я пытаюсь вызвать метод и записать в свою базу данных из другого действия в Android, но мое приложение падает, потому что оно не может записать. Моя деятельность не имеет On Create, потому что это не нужно. Поэтому у меня есть этот код:DB db = new DB(ServSearcher.this); который я хочу дать мне доступ к моей базе данных, а затем я использую мой метод ниже, как:

List<Contact> contacts = db.getAllContacts();
for (Contact cn : contacts) {
    db.addContact(new Contact(var, getTime()));

Вот моя ошибка logcat:

java.lang.NullPointerException
        at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:268)
        at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
        at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
        at com.android.SecondActivity.DB.getAllContacts(DB.java:88)
        at com.android.SecondActivity.ServSearcher$5.onAvailable(ServSearcher.java:189)

Я думаю, что очевидно, что мое приложение не может записать в базу данных, поэтому эта строка неверна DB db = new DB(ServSearcher.this); или хотя бы не дает мне доступа, есть идеи?

редактировать после комментария V_J:

Вот мой метод на БД

public List<Contact> getAllContacts() {

        List<Contact> contactList = new ArrayList<Contact>();
    // Select All Query
    String selectQuery = "SELECT  * FROM " + TABLE_CONTACTS;

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {
            Contact contact = new Contact();
            contact.setTime(cursor.getInt(0));
            contact.setName(cursor.getString(1));
            // Adding contact to list
            contactList.add(contact);
        } while (cursor.moveToNext());
    }

    // return contact list
    return contactList;
}

1 ответ

Решение

Я думаю, что вы можете решить свою проблему с помощью шаблона синглтона, я оставляю ссылку ниже для вашего объяснения.

https://en.wikipedia.org/wiki/Singleton_pattern

Другие вопросы по тегам