Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android Studio中向Java项目添加图像?_Java_Android Studio_Ide - Fatal编程技术网

在Android Studio中向Java项目添加图像?

在Android Studio中向Java项目添加图像?,java,android-studio,ide,Java,Android Studio,Ide,我正试图在android studio中添加我的java项目。我得到了很多&在Android工作室中添加了我的项目 现在我无法将这些资产添加到我的项目中。所以请帮我解决这个问题 提前谢谢 结构 代码 this.trayIcon = new TrayIcon(ImageIO.read(this.getClass().getResourceAsStream("icon.png"))); this.trayIcon.setImageAutoSize(true); this.t

我正试图在android studio中添加我的java项目。我得到了很多&在Android工作室中添加了我的项目

现在我无法将这些资产添加到我的项目中。所以请帮我解决这个问题

提前谢谢

结构

代码

    this.trayIcon = new TrayIcon(ImageIO.read(this.getClass().getResourceAsStream("icon.png")));
    this.trayIcon.setImageAutoSize(true);
    this.trayIcon.setToolTip("Remot Server");
    this.trayIcon.setPopupMenu(menu);

    SystemTray.getSystemTray().add(this.trayIcon);
错误

Exception in thread "main" java.lang.IllegalArgumentException: input == null!
    at javax.imageio.ImageIO.read(ImageIO.java:1348)

您的
resource
目录位于非Android Studio标准位置。我的猜测是,您没有更改Gradle文件以尝试包含该目录

最好是将图像资源移动到标准位置,以便apk打包例程知道将什么放在哪里。虽然这对现有项目来说是一种痛苦,但这一过程是直截了当的:

  • 创建一个新的空的Android Studio生成的应用程序,以便所有配置都是最新的
  • 将代码和资源复制到适当的位置 或者

    您可以尝试从Java项目中添加资源 在build.gradle(应用程序)中:

    但我还没有试过用图像


    此处的更多详细信息:

    如果您在渐变视图(蓝色箭头)中刷新项目,并将其标记为资源文件夹,则应该介绍您。另一件事是路径:当使用
    Class.getResource()
    时,路径应该以斜杠开始,因为图像位于资源文件夹的根目录中


    请在此处查看接受的答案:

    请查看下图。

    当您要在代码中使用它时,可以使用以下代码
    //对于活动中的图像
    AssetManager AssetManager=getAssets()
    InputStream instr=assetManager.open(“close_btn.png”)
    BitmapFactory.Options=new-BitmapFactory.Options()

    mImage=BitmapFactory.decodeStream(instr,null,options)

    可能相关:感谢您的链接。这对我不起作用,这个TrayIcon到底是什么?为什么你需要输入流的复杂方式?你可以在TrayIcon学习,这里添加了另一个可能的解决方案。我尝试了你的解决方案。但它仍然不起作用?
    android {
        ....
        sourceSets {
            main {
                // default is resources.srcDirs = ['src']
                resources.srcDirs = ['src/main/java']
            }
        }
     }