每个人都知道联系人管理器的样子。在右上角,您可以单击此图像视图。这使您可以从图库中选择图像。
我正在寻找的是如何在我的应用程序中实现此功能。我已经设置了一个图像按钮,您可以在其中单击。这会将您带到画廊。
接下来是设置 onActivityResult 方法,可能是一个用于存储图像的数据库和一种检索图像的方法,以便它可以显示在图像按钮中。
拜托,我真的很想知道如何构建它,但不知道如何开始。有人可以发布一些上述步骤的示例代码吗?你会是我的英雄!
从您的问题来看,您似乎在这onActivityResult
部分中最挣扎。
它应该是这样的:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == 0 && data != null && data.getData() != null) {
Uri uri = data.getData();
if(uri != null) {
Cursor cursor = getContentResolver().query(uri, new String[] {
android.provider.MediaStore.Images.ImageColumns.DATA},
null, null, null);
cursor.moveToFirst();
String imageFilePath = cursor.getString(0);
cursor.close();
if(imageFilePath != null) {
// Do whatever you want like decode it into a Bitmap
Bitmap bitmap = BitmapFactory.decodeFile(imageFilePath);
// Or.. store it somewhere in your local db
}
}
}
}
在您检索到图像的文件路径后,您可以自由地做任何您想做的事情。正如您所说,您显然可以将其存储在用户表的本地数据库中。