假设我想在地图的主屏幕上显示某个图像。此外,还有一个菜单选项,允许用户从库中选择图像,一旦选中,它将缩小/裁剪图像并将其存储在应用程序的内部存储中(using something like here)。如果我理解正确,那么即使在应用程序被杀之后,图像仍会存在。
现在,一次只能有一个图像,因此每次运行菜单选项时都应该覆盖上一个图像文件。但是,如果用户没有更改图像,应该仍然会显示一些默认图像文件,该图像应该存储在我的项目中?
或者,我应该在我的drawable或raw资源目录中保留一个默认图像,并保留一个布尔标志以知道是否有必要加载另一个图像?)。但是,我需要确保应用程序死后,布尔值仍然存在。可能使用共享偏好?)
答案 0 :(得分:1)
应用程序附带的任何图像都应该在您的可绘制资源中。只需将PNG或JPEG文件拖到res / drawables文件夹中即可。这是迄今为止最简单的方法,并且很容易为您维护。
使用BitmapFactory.decodeResource()
从该资源创建位图,或者如果该自定义图像可用,则使用BitmapFactory.decodeFile()
。
我不知道你的应用,所以我不知道你是如何决定是否使用默认图像或自定义图像。您可以检查文件是否存在,如果这是一个有效的标准,或者您可以像您建议的那样在共享首选项中使用布尔值。