无法将图像加载到Android应用程序中

时间:2016-05-13 23:04:30

标签: android intellij-idea

我对Android编码很陌生,所以请不要对我大喊大叫>。<

我正在关注在线指南,向我解释如何编写Android游戏代码。虽然我一直在加载图像,但我无法正确使用它。

我使用IntelliJ Idea作为我的IDE。默认情况下所有目录的排序方式如下图所示: Folders Layout

我在Paint上绘制了一个非常难看的混乱,并使用this guide将其添加到目录中。它对我的图像做了一些事情,并在每个目录中添加了一个menu.png文件。

在代码中,我正在尝试使用带有.open()方法的AssetManager使用字符串“menu.png”加载图像(使用getAssets()方法从主Activity获取AssetManager)。但是,我一直在获得IO异常,我不知道如何解决它。我在网上查看了几个指南,但我仍然无法理解这一点。请帮帮我!

P.S。我不是母语人士,对我的英语很抱歉。 谢谢大家,祝你有个愉快的一天!

1 个答案:

答案 0 :(得分:1)

要加载图片,您需要使用Android意图,它会将您带到默认的图像加载器应用程序(由手机制造商提供)。

首先创建意图。这应该是当用户单击按钮或类似事件时。
// Creates an Intent to pick a photo Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 然后执行intent:
// ARGS: the intent, a key to access later startActivityForResult(i, 1);

您现在必须设置onActivityResult(int requestCode, int resultCode, Intent data)(详细说明here)。 以下是一些示例代码:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
        Uri selectedImage = data.getData();
        try {
            // Do whatever you want with this bitmap (image)
            Bitmap bitmapImage = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
            Log.i("Image Path", selectedImage.getPath());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

就是这样!使用创建的Bitmap执行任何操作。请记住,此方法直接进入您的班级。