我正在尝试开发一个Android应用程序,其中有一个从手机内存上传图像的选项,然后它将显示在列表视图中,其中某些标题由用户提供。
我已经创建了它的布局,但我不知道如何实现这个概念。
我在LinearLayout中使用了一个EditText和一个Button来上传文件,并在另一个活动中使用ListView来显示图像
答案 0 :(得分:1)
首先,您必须从手机内存中获取图像,例如“
Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, 1);
Bitmap mBitmap = null;
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK)
{
Uri chosenImageUri = data.getData();
mBitmap = Media.getBitmap(this.getContentResolver(), chosenImageUri);
}
}
`您将以位图图像的形式获取图像。将此位图图像转换为ByteArray []:
ByteArrayOutputStream stream = new ByteArrayOutputStream();
mBitmap .compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
然后在具有blob数据类型的Database中获取一列,然后在该列中插入此字节数组;
db.execSQL("create table Images(id integer, imageData blob);");
用于插入
ContentValues values = new ContentValues();
values.put("id", imageIdValue);
values.put("imageData ", byteArray);
database.insert("Image", null, values);
我希望这会对你有所帮助。