如何显示 ArrayList<Bitmap> 中的图像 (SQLite)
how to show images from a ArrayList<Bitmap> (SQLlte)
我遇到这个问题,我无法在我的 android 工作室应用程序的列表中显示来自我的数据库的图像(位图)。
我可以制作图片并将其 (base64) 保存在我的数据库中并检索它。
但我不知道如何在显示器上显示所有图像。
我尝试使用列表适配器来完成它,但它不起作用:/
ArrayList<Bitmap> listData = new ArrayList<>();
while(data.moveToNext()){
//get the value from the database in column 1
//then add it to the ArrayList
byte [] encodeByte =Base64.decode(data.getString(1),Base64.DEFAULT);
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
Bitmap bitmap =BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
listData.add(bitmap);
}
这是根据 listData
的大小显示多个视图的快捷方式。
先在your_current_activity.xml
中添加LinearLayout
。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context=".MainActivity">
</LinearLayout>
在javaclass
LinearLayout linearLayout = findViewById(R.id.linearLayout);
ArrayList<Bitmap> listData = new ArrayList<>();
for (Bitmap a : listData) {
ImageView image = new ImageView(this);
image.setLayoutParams(new android.view.ViewGroup.LayoutParams(80, 60));
image.setMaxHeight(20);
image.setMaxWidth(20);
image.setImageBitmap(a);
linearLayout.addView(image);
}
下面是我的输出(假设我在 listData 中有 5 张图片)
我遇到这个问题,我无法在我的 android 工作室应用程序的列表中显示来自我的数据库的图像(位图)。
我可以制作图片并将其 (base64) 保存在我的数据库中并检索它。 但我不知道如何在显示器上显示所有图像。
我尝试使用列表适配器来完成它,但它不起作用:/
ArrayList<Bitmap> listData = new ArrayList<>();
while(data.moveToNext()){
//get the value from the database in column 1
//then add it to the ArrayList
byte [] encodeByte =Base64.decode(data.getString(1),Base64.DEFAULT);
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
Bitmap bitmap =BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
listData.add(bitmap);
}
这是根据 listData
的大小显示多个视图的快捷方式。
先在your_current_activity.xml
中添加LinearLayout
。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context=".MainActivity">
</LinearLayout>
在javaclass
LinearLayout linearLayout = findViewById(R.id.linearLayout);
ArrayList<Bitmap> listData = new ArrayList<>();
for (Bitmap a : listData) {
ImageView image = new ImageView(this);
image.setLayoutParams(new android.view.ViewGroup.LayoutParams(80, 60));
image.setMaxHeight(20);
image.setMaxWidth(20);
image.setImageBitmap(a);
linearLayout.addView(image);
}
下面是我的输出(假设我在 listData 中有 5 张图片)