Android正在从应用程序文件夹读取png/我需要移动它们吗?

Android正在从应用程序文件夹读取png/我需要移动它们吗?,android,image,loading,bundle,assets,Android,Image,Loading,Bundle,Assets,我的应用程序中有150多个PNG,我需要经常阅读 我是否必须像打开数据库一样将这些文件从我的资产文件夹移动到/data/data/myApp.com/ 或 难道没有一种方法,就像在iPhone中一样,只是从应用程序包中读取数据吗 似乎我可以将PNG添加到myApp.com/images并从中读取,而不是将其添加到资产中,无论它是内部安装的还是SD卡? 谢谢你的帮助 问候 ~davidContext.getAssets()()返回一个AssetManager,允许您读取捆绑数据。 比如说 Inpu

我的应用程序中有150多个PNG,我需要经常阅读

我是否必须像打开数据库一样将这些文件从我的资产文件夹移动到/data/data/myApp.com/

难道没有一种方法,就像在iPhone中一样,只是从应用程序包中读取数据吗

似乎我可以将PNG添加到myApp.com/images并从中读取,而不是将其添加到资产中,无论它是内部安装的还是SD卡?

谢谢你的帮助

问候 ~david

Context.getAssets()
()返回一个
AssetManager
,允许您读取捆绑数据。 比如说

InputStream is=getAssets().open("image.png",AssetManager.ACCESS_STREAMING);

将从您的资产文件夹中读取image.png。

好的,谢谢您的提示,我希望可以直接从包中设置ImageView图像,而不是通过InputStream。在接受答案之前(如果有人给我直接加载到ImageView的提示),让我看看是否可以解决这个问题。如果要直接设置它,请将其添加为资源。如果是asset,则将输入流传递给
BitmapFactory.decodeStream(InputStream)
BEAUTIFUL!非常感谢rkapl,我已经在想,将所有文件移动到assest文件夹(并在每次启动时检查它们是否已经像数据库一样移动)然后从那里加载太多了。再次感谢这就是我所需要的(当然是在一次尝试中):ivSection.setImageBitmap(BitmapFactory.decodeStream(this.getAssets().open(“images/1_ksi2.png”,AssetManager.ACCESS_BUFFER));如果您将它们放在项目的
/res/drawable
目录中,您可以直接使用它们,或者我误解了您的要求?