相关疑难解决方法(0)

如何引用库项目中的资产

在属于Library项目的类中,我调用:

webview.loadUrl("file:///android_asset/info.html", null);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这只有在我将文件info.html 复制Application的项目资产文件夹中时才有效.

有没有办法告诉Android库代码:"在库的资源文件夹中查找此文件,而不是在应用程序的资源文件夹中"?

android android-assets android-library library-project

52
推荐指数
4
解决办法
4万
查看次数

如何访问android库项目中的资源

我正在构建一个内部需要一些静态资源(images/xml等)的android库项目.

然后我想知道我可以把这些资源放在哪里以及如何访问它们?

因为我把资源放在了assets文件夹中.我使用AssetManager访问资源:

public class DataProvider {
    byte[] getDrawableData(int num) {
        AssetManager am = Resources.getSystem().getAssets();
        InputStream is = null;
        try {
            is = am.open("t.jpg");
        } catch (IOException e) {
            return "".getBytes();
        }
        if (is != null) {
            Drawable dw = Drawable.createFromStream(is, null);
            Bitmap bm = ((BitmapDrawable) dw).getBitmap();
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bm.compress(Bitmap.CompressFormat.JPEG, 100, stream);
            return stream.toByteArray();
        }

        return "".getBytes();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误: W/System.err(19583): java.io.FileNotFoundException: t.jpg

问题是什么?


如上所述Sankar V,图书馆项目不支持原始资产.然后我似乎必须把resurces放在res文件夹下.

但我试图使用Resources.getSystem().getResources()....无法得到我想要的方法.人们说这种方法只能获得系统级资源而不是应用级资源.

如果这是事实.这是否意味着我必须在Context …

resources android

15
推荐指数
1
解决办法
2万
查看次数

在NDK中使用资源文件

我有一个我正在创建的NDK库,需要包含和访问二进制数据文件(.dat扩展名).我无法让编译库看到这个文件.为了让事情变得更困难,我在图书馆包中做这件事.

我认为,如果在我的Android.mk文件中,我将此.dat文件复制到我的应用程序的资源文件夹,然后从应用程序中访问它,但我觉得必须有更好的方法.

有什么建议?

android android-ndk

2
推荐指数
1
解决办法
3802
查看次数