Nếu bạn muốn tải hình ảnh từ SQlite thì tôi khuyên bạn nên lưu tệp / vị trí tệp nếu dữ liệu được lưu trữ cục bộ, để hiển thị một hình ảnh duy nhất trên tất cả chế độ xem hình ảnh là do bạn chỉ tải một hình ảnh duy nhất, bạn có thể muốn để đặt tất cả id của bạn vào một mảng và chuyển nó đến db, truy vấn db cũng sẽ trả về một mảng / danh sách mảng các vị trí hình ảnh mà bạn nên tải vào các chế độ xem hình ảnh của mình bằng cách sử dụng for loop
Ví dụ:tôi có một truy vấn tải một loạt hình ảnh từ cơ sở dữ liệu SQLite của tôi, điều này hiển thị hình ảnh danh mục phụ của một danh mục nhất định có tên là giày để chúng tôi có hình ảnh về smart shoes
, Casual shoes
và hơn thế nữa, tôi chuyển một Id dưới dạng tham số
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;
}
ở phía bên nhận, sau đó, tôi duyệt qua araylist của mình
for(int i = 0; i <getAllSubCategories.size(); i++ )
{
imageView.setImageUri(getAllSubCategories.get(i).getmCategoryImgPath())
}
với phương pháp này, bạn sẽ đặt hình ảnh cho tất cả các lần xem hình ảnh của mình.