Pokud chcete načíst obrázky z SQlite, pak doporučuji uložit umístění souboru/souboru, pokud jsou data uložena lokálně, pro zobrazení jednoho obrázku na všech zobrazeních obrázků je to proto, že načítáte pouze jeden obrázek, možná budete chtít chcete-li vložit všechna svá ID do pole a předat je db, měl by dotaz db také vrátit pole/seznam polí umístění obrázků, které byste měli načíst do zobrazení obrázků pomocí for loop
např. mám dotaz, který načítá spoustu obrázků z mé databáze SQLite, zobrazí se obrázky podkategorie určité kategorie s názvem boty, takže máme obrázky smart shoes
, Casual shoes
a další I předávám Id jako parametr
public ArrayList<CategoryItem> getAllSubCategories(int mtargetID) throws SQLException{
ArrayList<CategoryItem> myshoes = new ArrayList<>();
// Select All Query
String sQuery = " SELECT "+Constant.CATEGORY_TB_ID+", "+Constant.SUB_DESCRIPTION+
", "+Constant.SUB_IMAGEPATH+" FROM "+Constant.CATEGORY_TABLE+
" INNER JOIN "+Constant.SUB_CATEGORY_TABLE+" ON "+Constant.CATEGORY_TB_ID +" = " +Constant.SUB_CATEGORY_FK
+ " WHERE "+Constant.CATEGORY_TB_ID +" = ?";
String[] args = new String[1];
args[0] = String.valueOf(mtargetID);
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(sQuery, args);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
CategoryItem myShoesItem = new CategoryItem();
//my shoe image path on external storage
myShoeItem.setmCategoryImgPath(cursor.getString(2));
//i add my image paths to my array list
myshoes.add(myShoeItem);
} while (cursor.moveToNext());
}
// return my arraylist for display into my imageview
return mshoes;
}
na přijímací straně pak transversem přes svůj araylist
for(int i = 0; i <getAllSubCategories.size(); i++ )
{
imageView.setImageUri(getAllSubCategories.get(i).getmCategoryImgPath())
}
pomocí této metody nastavíte obrázky pro všechna vaše zobrazení obrázků.