Можно ли получить тексты и изображения из одной базы данных SQLite? - PullRequest
0 голосов
/ 06 марта 2020

В моем случае у меня есть одна база данных, которая имеет 4 столбца: 1. id, 2 Sticker_Name, 3 Sticker_author и 4-й - IMAGE, я знаю, как извлечь указанный столбец c из базы данных, но моя проблема в том, что когда я получить определенные c столбцы из SQLite. Изображение также извлекается и отображается в recyclerListView. Я не понимаю, что я могу сделать, чтобы решить проблемы.

вот мой код ..

Для извлечения указанных столбцов c из базы данных он работает хорошо, но изображение также отображается в recyclerListView при сохранении во втором действии в базе данных ..

 private void fetchdat(){
    word_list = new ArrayList<>();
    SQLiteDatabase sd=mydb.getWritableDatabase();
    Cursor cursor1=sd.query("stickerstable",new String[] {STICKER_AUTHOR},null,null,null,null,null);
   if (cursor1.moveToFirst()){
       do {

           word_list.add(new data_items(
                   cursor1.getString(cursor1.getColumnIndex(STICKER_AUTHOR))
           ));
       }while (cursor1.moveToNext());
       cursor1.close();
       sd.close();
   }

    mAdapter = new recycle_Adapter(word_list);
    recyclerView.setAdapter(mAdapter);
}

вот код

, благодаря которому я извлекаю все данные столбцов из базы данных SQLite.

  private void FetchData(){
    word_list = new ArrayList<>();
     SQLiteDatabase sd = mydb.getWritableDatabase();
    Cursor cursor = sd.query("stickerstable",null, null, null, null, null, null);
    if (cursor.moveToFirst()){
        do{
            word_list.add(new data_items(
                    cursor.getInt(cursor.getColumnIndex(ID)),
                    cursor.getString(cursor.getColumnIndex(STICKER_AUTHOR)),
                    cursor.getString(cursor.getColumnIndex(STICKER_NAME)
                     )));

        }

        while (cursor.moveToNext());
        cursor.close();
        sd.close();
    }


     mAdapter = new recycle_Adapter(word_list);
    recyclerView.setAdapter(mAdapter);


  }

1 Ответ

0 голосов
/ 06 марта 2020

может быть, это поможет вам:

private List<String> getAuthorList () {
            List<String> authorList = new ArrayList<>();
            try {
                SQLiteDatabase sd = mydb.getWritableDatabase();
                Cursor cursor = sd.rawQuery(
                        "SELECT Sticker_author FROM " + tableName + " WHERE <here is your condition> ", null);

                if (cursor.getCount() > 0) {
                    cursor.moveToFirst();

                    while (!cursor.isAfterLast()) {
                        String author    = cursor.getString(0);
                        authorList.add(author);
                        cursor.moveToNext();
                    }

                    if (cursor != null) {
                        cursor.close();
                    }

                }

            } catch (Exception e) {
                e.printStackTrace();
            }

            return authorList;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...