У меня есть код для доступа к таблице SQLite, которая отлично работает из моей "основной" деятельности.Я пытаюсь сделать код более элегантным, создав отдельный класс для обработки вставок данных, удалений и т. Д.
Когда я перемещаю точно такой же код из основного действия в отдельный класс, я получаю следующую ошибку:
Метод openOrCreateDatabase (String, int, null) не определен для типа BarCode
Я замечаю, что при расширении класса моей базы данных с помощью «Activity» возникает ошибкадалеко.Однако теперь, когда я запускаю код, я получаю NullPointerException .
Как будет правильным способом абстрагировать код базы данных и при этом иметь возможность ссылаться на него из действия в Android?
Извините, если я неправильно понял жаргон, потому что я новичок в Android и Java.
Вот полный код:
package com.example.stockcontrol;
import java.util.Locale;
import android.app.Activity;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
public class BarCode extends Activity {
public BarCode() {
}
public void insertBarCode(String upc) {
SQLiteDatabase db;
db = openOrCreateDatabase(
"StockControl.db"
, SQLiteDatabase.CREATE_IF_NECESSARY
, null
);
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
ContentValues mUpc = new ContentValues();
mUpc.put("upc", "444");
mUpc.put("description", "Box o toast");
mUpc.put("scan_count", "1");
db.insertOrThrow("tbl_upc", null, mUpc);
}
}