以编程方式使用Android内置Gallery应用程序中的图像

本尼

我看了一下这篇文章:以编程方式从Android内置的Gallery应用程序获取/选择图像

我想我了解发生了什么事,但是从我看到的情况来看,他从未“使用”选定的图像?我需要将选定的图像绘制在某个屏幕上。

到目前为止,我已经做到了:

public void onActivityResult(int request, int response, Intent data) {
    super.onActivityResult(request, response, data);

    if(response == RESULT_OK) {
        if(request == SELECT_PICTURE) {
            Uri selectedImage = data.getData();
            selectedImagePath = getPath(selectedImage);
            imageView.setImageURI(selectedImage);
            BitmapFactory.Options options = new BitmapFactory.Options();
            options.inPreferredConfig = Bitmap.Config.ARGB_8888;
            bitImage1 = BitmapFactory.decodeFile(selectedImagePath, options);
            imageView.setImageBitmap(bitImage1);
            imageBoolean = true;

        }
    }
}
public String getPath(Uri uri) {
    // just some safety built in
    if( uri == null ) {
        // TODO perform some logging or show user feedback
        return null;
    }
    // try to retrieve the image from the media store first
    // this will only work for images selected from gallery
    String[] projection = { MediaStore.Images.Media.DATA };
    Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
    if( cursor != null ){
        int column_index = cursor
                .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    }

    // this is our fallback here
    return uri.getPath();
}
@Override
 public void draw() {
    Canvas canvas = new Canvas();
    canvas.drawBitmap(bitImage1, 0.0f, 0.0f, null);
}
@Override
public void imageUpload() {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {

            intent.setType("image/");
            intent.setAction(Intent.ACTION_GET_CONTENT);
            startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE);

        }
    });

}

我在屏幕类中的按钮上调用了imageUpload()方法,该方法调出了画廊,然后按下图像并出现以下错误:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { dat=content://media/external/images/media/6865 (has extras) }} to activity {com.package.android/package.android.AndroidLauncher}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageURI(android.net.Uri)' on a null object reference

这是我的屏幕课程,需要绘制图像:

public class EditScreen implements Screen, purchaseInterface {
public EditScreen(final Stor gam) {
public void render(float delta) {
....
....
}
public void show() {
boxImage1.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            imageUpload();


        }
    });
    if(returnImageSet()) {
        draw();
    }
@Override
public void imageUpload() {
    pInt.imageUpload();
}

编辑:

public String getPath(Uri uri) {
    // just some safety built in
    if( uri == null ) {
        // TODO perform some logging or show user feedback
        return null;
    }
    // try to retrieve the image from the media store first
    // this will only work for images selected from gallery
    String[] projection = { MediaStore.Images.Media.DATA };
    try {
        InputStream inputStream = getContentResolver().openInputStream(uri);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

    // this is our fallback here
    return uri.getPath();
}
常用软件

您的getPath()实施将在少数Android设备上运行,并且每天都会越来越少。AUri不是文件

使用ContentResolveropenInputStream()得到一个InputStreamUri你给出onActivityResult()然后,使用decodeStream()BitmapFactory获得Bitmap在后台线程上执行所有这些操作。

或者,使用可以为您完成此工作的第三方图像加载库(例如Picasso,Universal Image Loader)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

以编程方式使用Android内置Gallery应用程序中的图像

来自分类Dev

[Android-Kitkat]以编程方式从Android的内置Gallery应用获取/选择图像

来自分类Dev

[Android-Kitkat]以编程方式从Android的内置Gallery应用获取/选择图像

来自分类Dev

在Android中以编程方式关闭android应用程序

来自分类常见问题

以编程方式清除Android应用程序中的缓存

来自分类Dev

在android中安装后以编程方式启动应用程序

来自分类Dev

限制应用程序在 Android 上以编程方式使用 VPN

来自分类Dev

以编程方式退出android应用程序

来自分类Dev

如何在android studio中以编程方式在最近的应用程序中锁定应用程序

来自分类Dev

从我的Android应用程序以编程方式打开选定的文件(图像,pdf等)?

来自分类Dev

以编程方式将图像附加到Messages应用程序

来自分类Dev

以编程方式将图像附加到Messages应用程序

来自分类Dev

Android以编程方式隐藏/取消隐藏应用程序图标

来自分类Dev

以编程方式取消安装android应用程序

来自分类Dev

以编程方式不带finish()退出Android应用程序

来自分类Dev

如何以编程方式卸载android系统应用程序?

来自分类Dev

Android以编程方式隐藏/取消隐藏应用程序图标

来自分类Dev

以编程方式不带finish()退出Android应用程序

来自分类Dev

从Android应用程序以编程方式签入Facebook

来自分类Dev

Android-以编程方式限制可以运行的应用程序

来自分类Dev

是否有可能以编程方式关闭在android中后台运行的应用程序?

来自分类Dev

在Android中以编程方式在应用程序图标之间切换

来自分类Dev

如何在Android中以编程方式关闭所有正在运行的应用程序?

来自分类Dev

如何在Android中以编程方式根据开关值更改应用程序图标

来自分类Dev

如何在Android中以编程方式关闭我的应用程序?

来自分类Dev

在我的 Android 应用程序中以编程方式打开通知

来自分类Dev

如何在 ReactJS android 应用程序中以编程方式截取屏幕截图?

来自分类Dev

Android如何以编程方式确定我的应用程序正在使用哪种XML布局?

来自分类Dev

在Android应用程序中使用JavaScript以编程方式登录网站

Related 相关文章

  1. 1

    以编程方式使用Android内置Gallery应用程序中的图像

  2. 2

    [Android-Kitkat]以编程方式从Android的内置Gallery应用获取/选择图像

  3. 3

    [Android-Kitkat]以编程方式从Android的内置Gallery应用获取/选择图像

  4. 4

    在Android中以编程方式关闭android应用程序

  5. 5

    以编程方式清除Android应用程序中的缓存

  6. 6

    在android中安装后以编程方式启动应用程序

  7. 7

    限制应用程序在 Android 上以编程方式使用 VPN

  8. 8

    以编程方式退出android应用程序

  9. 9

    如何在android studio中以编程方式在最近的应用程序中锁定应用程序

  10. 10

    从我的Android应用程序以编程方式打开选定的文件(图像,pdf等)?

  11. 11

    以编程方式将图像附加到Messages应用程序

  12. 12

    以编程方式将图像附加到Messages应用程序

  13. 13

    Android以编程方式隐藏/取消隐藏应用程序图标

  14. 14

    以编程方式取消安装android应用程序

  15. 15

    以编程方式不带finish()退出Android应用程序

  16. 16

    如何以编程方式卸载android系统应用程序?

  17. 17

    Android以编程方式隐藏/取消隐藏应用程序图标

  18. 18

    以编程方式不带finish()退出Android应用程序

  19. 19

    从Android应用程序以编程方式签入Facebook

  20. 20

    Android-以编程方式限制可以运行的应用程序

  21. 21

    是否有可能以编程方式关闭在android中后台运行的应用程序?

  22. 22

    在Android中以编程方式在应用程序图标之间切换

  23. 23

    如何在Android中以编程方式关闭所有正在运行的应用程序?

  24. 24

    如何在Android中以编程方式根据开关值更改应用程序图标

  25. 25

    如何在Android中以编程方式关闭我的应用程序?

  26. 26

    在我的 Android 应用程序中以编程方式打开通知

  27. 27

    如何在 ReactJS android 应用程序中以编程方式截取屏幕截图?

  28. 28

    Android如何以编程方式确定我的应用程序正在使用哪种XML布局?

  29. 29

    在Android应用程序中使用JavaScript以编程方式登录网站

热门标签

归档