@rafaelSalihov

Как задать имя таблицы базы данных в конструктор для SQLiteOpenHelper?

Простыми конструкторами вроде пользоваться умею, если наследуется не получается.

public class DatabaseHelper extends SQLiteOpenHelper  {




    public static final String DBNAME = "sample.sqlite";
    public static final String DBLOCATION = "/data/data/plitkurs4.ru.arab/databases/";
    private Context mContext;
    private SQLiteDatabase mDatabase;
    

    public DatabaseHelper(Context context) {
        super(context,  DBNAME,   null, 1);
        this.mContext = context;
    }



    @Override
    public void onCreate(SQLiteDatabase db) {

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

    public void openDatabase() {
        String dbPath = mContext.getDatabasePath(DBNAME).getPath();
        if(mDatabase != null && mDatabase.isOpen()) {
            return;
        }
        mDatabase = SQLiteDatabase.openDatabase(dbPath, null, SQLiteDatabase.OPEN_READWRITE);
    }

    public void closeDatabase() {
        if(mDatabase!=null) {
            mDatabase.close();
        }
    }

    public List<Product> getListProduct() {


        Product product = null;
        List<Product> productList = new ArrayList<>();
        openDatabase();
        Cursor cursor = mDatabase.rawQuery("SELECT * FROM PRODUCT" , null);
        cursor.moveToFirst();
        while (!cursor.isAfterLast()) {
            product = new Product(cursor.getInt(0), cursor.getString(1), cursor.getString(3), cursor.getString(2),cursor.getInt(4),cursor.getInt(5));
            productList.add(product);
            cursor.moveToNext();
        }
        cursor.close();
        closeDatabase();
        return productList;
    }
}

Есть класс DatabaseHelper нужно в конструкторе задать изменение базы данных PRODUCT, как я понял в место нее переменную подставить нужно, но дальше не получается как это вставить?

Чтобы при обращении изменять в выводе в другом классе Book_Activity_detal.
private DatabaseHelper mDBHelper;
mProductList = mDBHelper.getListProduct(); - чтобы сюда задавать вместо PRODUCT другое.
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы