android 软件覆盖安装引发的问题
来源:互联网 发布:淘宝焦点图 编辑:程序博客网 时间:2024/05/16 11:02
我们做APP新功能引导的时候,遇到的问题。覆盖安装,数据库表和sharedpreference中的数据都是不会变化的。要注意这一点。
1. 最大的收获当属 覆盖安装 引发的各种问题。 究其原因,能引起覆盖安装问题的最常见原因莫过于数据库表结构的异动(增加一个字段,减少一个字段,甚至是新表的建立)。任何在发版之前修改数据库表结构的行为都是不可取的,即使是很简单的逻辑。 a. 覆盖安装apk文件后,shared_prefs中的数据不会丢失,数据库表中的数据也不会丢失。 b. 升级数据库的方法 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)什么时候会被执行呢?在你做任何的数据库操作之前执行。 而这个时候 public void onCreate(SQLiteDatabase db) 则不再被执行.
比如你想在最新的软件版本中,增加一个字段。你需要这样写: public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch (oldVersion) {case 23: // 如果我们覆盖的软件版本是23,则执行此分支。
db.beginTransaction();db.execSQL("Alter table "+Constant.TABLE_DOWNLOAD+" add column " + DownloadColumns.SITE + " VARCHAR");db.setTransactionSuccessful(); db.endTransaction();break;
case 22:
- android 软件覆盖安装引发的问题
- 安装软件出错,注册表受限引发的问题的解决办法!
- 48-同名覆盖引发的问题
- android 覆盖安装问题
- Android应用安装覆盖问题
- android 自动更新 覆盖安装后 自动启动的问题
- 解决在android平台上apk的覆盖安装so文件不覆盖问题
- 安装SQLite3引发的库问题
- Android应用覆盖安装时crash问题
- android.os.Debug.waitForDebugger() 引发的问题
- android:一个Open键引发的问题!!
- android 图片格式和像素引发的问题
- Android 解决apk覆盖安装的时候,出现安装失败,与旧版本部兼容的问题
- C++中继承技术引发的问题:重载(overload),覆盖(override)和隐藏(hide)的区别
- C++中继承技术引发的问题:重载(overload),覆盖(override)和隐藏(hide)的区别
- Android-ADASitemap软件安装问题
- 安装程序:软件从无到有。卸载程序:软件从有到无。更新程序:软件的覆盖安装,
- Eclipse Android安装APP时覆盖安装问题
- php去除空格、制表符、换页符
- 记第七届ACM校赛-回忆
- JQuery中的事件对象详解
- SQL Server2005杂谈(1):使用公用表表达式(CTE)简化嵌套SQL
- Hibernate读书笔记-----SQL查询 addScalar()或addEntity()
- android 软件覆盖安装引发的问题
- 打工,才是最愚蠢的投资!~
- code engine
- hdu 1565 状态压缩 dp
- 解决struts2配置文件无提示问题
- 如何简单部署用VSTO SE 2005开发的Excel,Word插件
- 《Thinking In Java》笔记(1)
- SQL Server2005杂谈(2):公用表表达式(CTE)的递归调用
- hdu 3117 Fibonacci Numbers