在Android Studio中向Java项目添加图像?
我正试图在android studio中添加我的java项目。我得到了很多&在Android工作室中添加了我的项目 现在我无法将这些资产添加到我的项目中。所以请帮我解决这个问题 提前谢谢 结构 代码在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
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打包例程知道将什么放在哪里。虽然这对现有项目来说是一种痛苦,但这一过程是直截了当的:
此处的更多详细信息:如果您在渐变视图(蓝色箭头)中刷新项目,并将其标记为资源文件夹,则应该介绍您。另一件事是路径:当使用
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']
}
}
}