如何将 Drawable 保存在资源文件夹中?

Posted

技术标签:

【中文标题】如何将 Drawable 保存在资源文件夹中?【英文标题】:How to save a Drawable in the resource folder? 【发布时间】:2012-07-30 18:55:07 【问题描述】:

我想保存这个:

私有可绘制图标; 图标 = pk.getApplicationIcon(procInfos.get(1).processName);

我得到图标然后我想将它保存在资源文件夹中。 提前致谢。

【问题讨论】:

不可能。另见:***.com/questions/5469954/… 【参考方案1】:

资源在运行时是只读的;您不能在“资源文件夹”中“保存”任何内容。欢迎您将数据保存到内部或外部存储。

在这种情况下,我怀疑您是否应该这样做,因为这些图标是从PackageManager 动态读取的,而不是存储的。毕竟,这些图标不仅会随着应用程序的更新而改变,而且您没有这些图标的权利。

【讨论】:

【参考方案2】:

如果您想在编译时将静态文件保存在您的应用程序中,请将文件保存在您的项目res/raw/ 目录中。您可以使用openRawResource() 打开它,传递R.raw.<filename> resource ID。此方法返回一个InputStream,您可以使用它来读取文件(但您不能写入原始文件)。您可以在sqlite 数据库中动态保存图像here 是关于它的教程。 You can't save the image at Runtime in application folders.

【讨论】:

以上是关于如何将 Drawable 保存在资源文件夹中?的主要内容,如果未能解决你的问题,请参考以下文章

如何从资源创建Drawable

Android - 如何显示来自可绘制资源的图像?

Android问题之res/raw和assets的区别及文件大小限制

Android 应用程序结构

Android怎么找到最优适配资源

如何从 android 包中的资源 id 获取 Drawable 对象?