Als u afbeeldingen van SQlite wilt laden, raad ik u aan de bestands-/bestandslocatie op te slaan als de gegevens lokaal zijn opgeslagen. om al uw id's in een array te plaatsen en deze door te geven aan de db, moet de db-query ook een array/arraylijst van afbeeldingslocaties retourneren die u in uw afbeeldingsweergaven moet laden met behulp van een for loop
ik heb bijvoorbeeld een zoekopdracht die een aantal afbeeldingen uit mijn SQLite-database laadt, dit geeft subcategorieafbeeldingen weer van een bepaalde categorie met de naam schoenen, dus we hebben afbeeldingen van smart shoes
, Casual shoes
en meer geef ik een ID door als parameter
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;
}
aan de ontvangende kant ga ik dan dwars door mijn araylist
for(int i = 0; i <getAllSubCategories.size(); i++ )
{
imageView.setImageUri(getAllSubCategories.get(i).getmCategoryImgPath())
}
met deze methode stelt u afbeeldingen in op al uw afbeeldingsweergaven.