java - Android升级应用程序版本时资源会发生什么变化

标签 java android resources updates

我的应用程序带有assets资源(很多),raw资源(一些)和用户在使用应用程序时创建的其他一些对象(包括SharedPreferences).

当我安装新版本的应用程序时,我无法理解所有这些资源会发生什么。这些是被覆盖还是保持在以前的状态(如果是,我该如何更改)?

最佳答案

SharedPreferences 是未 bundle 在 APK 中的 xml 文件,而是在安装应用程序并使用 SharedPreferences API 时生成的文件。这些文件是在您的应用程序的数据文件夹中创建的,并且对应用程序是私有(private)的(除非您另外指定)。在应用程序更新期间,它们保持不变。删除/覆盖它们的唯一方法是通过以下方法之一:

a) 用户卸载/重新安装应用

b) 用户在系统设置的应用设置页面中清除存储(应用数据)

c) 您通过 SharedPreferences API 或通过备份/恢复 API 删除它们

资源随您的 apk(或应用程序包)一起提供。基本上 res/ 文件夹中的所有内容。所以所有样式、字符串、drawable、a​​ssets等在安装后都被替换为新APK的res文件夹中的内容。

关于java - Android升级应用程序版本时资源会发生什么变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63286192/

相关文章:

当应用程序在前台时,Android AlarmManager 打开屏幕

c# - Assembly.GetManifestResourceStream 始终返回 null

android - 创建新 Activity 时资源 NotfoundException

php - 将我的 Controller 移动到 laravel 5 中的子文件夹后,获取 Controller 不存在

java - Java 应用程序中创建的代理有多少使用 Spring core、Hibernate、Spring AOP?

java - 如何查看 JDBC/MySQL 的 TRANSACTION_REPEATABLE_READ 操作?

java - 通过查看内置类的编译器代码来编写优化代码的示例

android - Libgdx 最高分。谷歌播放服务

java - 用于访问当前登录用户对象的 ACEGI 标记

java - Android 房间库错误 : Cannot find getter for field