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

时间:2015-12-18 21:35:18

标签: java android-studio ide

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

现在我无法将资产添加到我的项目中。所以请帮我解决一下

先谢谢

结构

enter image description here

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);

3 个答案:

答案 0 :(得分:3)

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

请在此处查看已接受的答案:Classpath resource within jar

答案 1 :(得分:2)

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

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

  1. 创建一个新的空Android Studio生成的应用,以便所有配置都是最新的
  2. 将代码和资源复制到适当的位置。
  3. 可选地

    您可以尝试从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);