3

我已经按照这里的教程进行操作:http ://androidsamples.blogspot.com/2009/06/how-to-display-thumbnails-of-images.html 以及另一个几乎相同的代码,我有在不同设备上处理图像的方式存在一些问题/不一致。

我收集图像的代码是这样的:

private void init_phone_image_grid() {
    String[] img = { MediaStore.Images.Thumbnails._ID };
    Uri uri = MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI;
    imagecursor = managedQuery(uri, img, null,
            null, MediaStore.Images.Thumbnails.IMAGE_ID);
    image_column_index = imagecursor
            .getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
    count = imagecursor.getCount();
    imagegrid = (GridView) findViewById(R.id.PhoneImageGrid);
    imagegrid.setAdapter(new ImageAdapter(getApplicationContext()));
    imagegrid.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView parent, View v, int position,
                long id) {
            System.gc();
            String[] proj = { MediaStore.Images.Media.DATA };
            actualimagecursor = managedQuery(
                    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, proj,
                    null, null, null);
            actual_image_column_index = actualimagecursor
                    .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            actualimagecursor.moveToPosition(position);
            String i = actualimagecursor
                    .getString(actual_image_column_index);
            System.gc();
            Intent intent = new Intent(getApplicationContext(),
                    EvidenceImageView.class);
            intent.putExtra("filename", i);
            startActivity(intent);
        }
    });
}

我有一个运行 android 2.2 的模拟器,并且能够创建一个 sdcard 文件来挂载它。我使用 adb 将一些图像复制到一个文件夹中并重新启动了模拟器(我的应用程序一开始没有显示任何图像)。重新启动后一些图像显示在我的应用程序中,但不是全部。然后在我打开模拟器附带的图库应用程序后,我能够让我的图库很好地加载所有图像。但是我也有一个 HTC thunberbolt而且我上面有照片(在/sdcard/DCIM/100MEDIA下),它根本不会在同一个应用程序中显示任何图像(指的是我正在处理的那个)..我没有挂电话到电脑上,所以我知道我的手机能够访问 sdcard 没有问题。我也是我试过我手机附带的图库应用程序,我的照片/视频加载得很好。我相信 HTC 手机附带的应用程序与普通安卓手机附带的应用程序有点不同。这让我想知道如果系统没有以相同的方式处理图像..

我是 android 开发的新手,希望这会很简单.. 我查看了一些其他应用程序,例如 facebook,当我想上传照片时,它似乎直接带我进入 htc 提供的画廊..也许我可以采取同样的方法(不完全确定如何)..最终我希望用户能够选择多个图像并上传所有图像......我还找到了 Android 附带的相机应用程序的源代码:

https://android.googlesource.com/platform/packages/apps/Camera/+/master/src/com/android/camera

这有点有用,但在这一点上需要消化相当多的信息。

任何关于“这些东西是如何工作的”的解释都会很棒。但主要的是,我如何让我的画廊显示所有缩略图(如果需要,创建缩略图).. 或者,我如何与系统画廊交互..

4

1 回答 1

1

当我想上传照片时,它似乎直接带我进入 htc 提供的画廊。也许我可以采取同样的方法

这有什么问题:

如何为我的应用从图库(SD 卡)中选择图像?

于 2011-05-13T23:54:55.753 回答