我是Android新手。我刚刚在Android 2.1中创建了一个带有256 MB android-SD卡的AVD。我已经插入了两张图片。我使用DDMS透视图完成了这项工作。现在,图像存储在SDcard的DCIM文件夹中的文件夹100ANDRO中。现在我想创建一个应用程序,允许用户通过浏览文件夹选择图像,并需要将相应的图像保存到数据库android-sqlite。
有人可以帮我找到合适的方法吗?提前谢谢。
答案 0 :(得分:1)
我找到了一种方法。
我为UPLOAD和我设置的点击操作创建了一个按钮。
upload.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, 1);
}
});
我已经将此方法与下面的同一课程一起覆盖。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
{
if (resultCode == RESULT_OK)
{
Uri photoUri = data.getData();
if (photoUri != null)
{
try {
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(photoUri, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
Bitmap bitmap = BitmapFactory.decodeFile(filePath);
imgView.setImageBitmap(bitmap);
int size = bitmap.getWidth() * bitmap.getHeight();
ByteArrayOutputStream out = new ByteArrayOutputStream(size);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
try {
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();}
String bb = out.toString();
byte[] x = out.toByteArray();
image_value.setTag(x);
image_value.setText(filePath);
}catch(Exception e)
{}
}
}
}
此处image_value表示xml文件中的隐藏文本视图。 我已将图像位置和字节的值作为文本视图的值和标记传递。 后来我将这些字节保存到数据库中供以后显示。工作正常。
感谢所有人。