如何从我的应用程序数据文件夹中获取任何文件的路径

How to get path of any file from my my application data folder

我的应用程序文件如下,我想在 java 代码中获取 sharethis.png 文件,语法是什么?

我用过这个...

Bitmap bMap = BitmapFactory.decodeFile("file:///android_asset/www/sharethis.png");

但不工作

尝试:

Bitmap shareThis = BitmapFactory.decodeResource(context.getResources(),
                                       R.drawable.shareThis);

如果您想从 assets 文件夹中的 JavaScript 或 html 文件引用它,请使用 file:///android_asset/www/sharethis.jpg.

否则,根据this answer,这将列出资产文件夹中的所有文件:

AssetManager assetManager = getAssets();
String[] files = assetManager.list("");

打开某个文件:

InputStream input = assetManager.open(assetName);

试试这个:

 try {

    // get input stream

    InputStream ims = getAssets().open("sharethis.png");

    // load image as Drawable

    Drawable d = Drawable.createFromStream(ims, null);

    // set image to ImageView
    mImage.setImageDrawable(d);

}

catch(IOException ex) {

      Log.e("I/O ERROR","Failed")
}

不要使用资产 dir,而是将文件放入 /res/raw ,然后您可以使用以下 URI 访问它:android.resource://com.your.packagename/" + R.raw.sharethis