我试图在android studio中添加我的java项目。我得到了很多references&在Android工作室添加了我的项目。
现在我无法将资产添加到我的项目中。所以请帮我解决一下
先谢谢
结构
CODE
Open Session In View
错误
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);
答案 0 :(得分:3)
如果您在gradle视图(蓝色箭头)中刷新项目并且AS将其标记为资源文件夹,则应覆盖该项目。另一个是路径:使用/
时,您的路径应以斜杠Class.getResource()
开头,因为您的图像位于资源文件夹的根目录中。
请在此处查看已接受的答案:Classpath resource within jar
答案 1 :(得分:2)
您resource
目录位于非Android Studio标准位置。我的猜测是你没有改变你的Gradle文件以试图包含该目录。
最好是将图像资源移动到标准位置,以便apk打包例程知道放在哪里。虽然这对现有项目来说很痛苦,但这个过程是直截了当的:
可选地
您可以尝试从Java项目中添加资源 在您的build.gradle(app)中:
android {
....
sourceSets {
main {
// default is resources.srcDirs = ['src']
resources.srcDirs = ['src/main/java']
}
}
}
但我没有用图像试过它。
此处有更多详情:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Project-Structure
答案 2 :(得分:0)
请查看以下图片 Add Assets
当您打算在代码中使用它时,您可以使用以下代码
//用于活动中的图像
AssetManager assetManager = getAssets();
InputStream instr = assetManager.open(“close_btn.png”);
BitmapFactory.Options options = new BitmapFactory.Options();
mImage = BitmapFactory.decodeStream(instr,null,options);