0

每个人都知道联系人管理器的样子。在右上角,您可以单击此图像视图。这使您可以从图库中选择图像。

我正在寻找的是如何在我的应用程序中实现此功能。我已经设置了一个图像按钮,您可以在其中单击。这会将您带到画廊。

接下来是设置 onActivityResult 方法,可能是一个用于存储图像的数据库和一种检索图像的方法,以便它可以显示在图像按钮中。

拜托,我真的很想知道如何构建它,但不知道如何开始。有人可以发布一些上述步骤的示例代码吗?你会是我的英雄!

4

1 回答 1

2

从您的问题来看,您似乎在这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  
                    }
       }
   }
}

在您检索到图像的文件路径后,您可以自由地做任何您想做的事情。正如您所说,您显然可以将其存储在用户表的本地数据库中。

于 2012-05-30T14:09:01.290 回答