iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android数据库升级实例
  • 245
分享到

Android数据库升级实例

android数据库Android 2022-06-06 12:06:05 245人浏览 安东尼
摘要

  第一部分   Andoird的sqliteOpenHelper类中有一个onUpgrade方法。帮助文档中只是说当数据库升级时该方法被触发。经过实践,解决了我一连串的

  第一部分   Andoird的sqliteOpenHelper类中有一个onUpgrade方法。帮助文档中只是说当数据库升级时该方法被触发。经过实践,解决了我一连串的疑问:   1. 帮助文档里说的“数据库升级”是指什么?   你开发了一个程序,当前是1.0版本。该程序用到了数据库。到1.1版本时,你在数据库的某个表中增加了一个字段。那么软件1.0版本用的数据库在软件1.1版本要被升级了。   2. 数据库升级应该注意什么?   软件的1.0版本升级到1.1版本时,老的数据不能丢。那么在1.1版本的程序中要有地方能够检测出来新的软件版本与老的数据库不兼容,并且能够有办法 把1.0软件的数据库升级到1.1软件能够使用的数据库。换句话说,要在1.0软件的数据库的那个表中增加那个字段,并赋予这个字段默认值。   3. 程序如何知道数据库需要升级?   SQLiteOpenHelper类的构造函数有一个参数是int version,它的意思是指数据库版本号。比如在软件1.0版本中,我们使用SQLiteOpenHelper访问数据库时,该参数为1,那么数据库版本号1会写在我们的数据库中。   到了1.1版本,我们的数据库需要发生变化,那么我们1.1版本的程序中要使用一个大于1的整数来构造SQLiteOpenHelper类,用于访问新的数据库,比如2。   当我们的1.1新程序读取1.0版本的老数据库时,发现老数据库里存储的数据库版本是1,而我们新程序访问它时填的版本号为2,系统知道数据库需要升级。   4. 何时触发数据库升级?如何升级?   当系统在构造SQLiteOpenHelper类的对象时,如果发现版本号不一样,会自动调用onUpgrade函数,让你在这里对数据库进行升级。根据上述场景,在这个函数中把老版本数据库的相应表中增加字段,并给每条记录增加默认值即可。   新版本号和老版本号都会作为onUpgrade函数的参数传进来,便于开发者知道数据库应该从哪个版本升级到哪个版本。   升级完成后,数据库会自动存储新的版本号为当前数据库版本号。   参考:StackOverFlow对“数据库版本在数据库中的存储位置”的问答。   第二部分做Android应用,不可避免的会与SQLite打交道。随着应用的不断升级,原有的数据库结构可能已经不再适应新的功能,这时候,需要对 SQLite数据库的结构进行升级了。 SQLite提供了ALTER TABLE命令,允许用户重命名或添加新的字段到已有表中,但是不能从表中删除字段。   并且只能在表的末尾添加字段,比如,为 Subscription添加两个字段:   1 ALTER TABLE Subscription ADD COLUMN Activation BLOB;   2 ALTER TABLE Subscription ADD COLUMN Key BLOB;   另外,如果遇到复杂的修改操作,比如在修改的同时,需要进行数据的转移,那么可以采取在一个事务中执行如下语句来实现修改表的需求。   1. 将表名改为临时表   ALTER TABLE Subscription RENAME TO __temp__Subscription;   2. 创建新表   CREATE TABLE Subscription (OrderId VARCHAR(32) PRIMARY KEY ,UserName VARCHAR(32) NOTNULL ,ProductId VARCHAR(16) NOT NULL);   3. 导入数据   INSERT INTO Subscription SELECT OrderId, “”, ProductId FROM __temp__Subscription;   或者   INSERT INTO Subscription() SELECT OrderId, “”, ProductId FROM __temp__Subscription;   * 注意 双引号”” 是用来补充原来不存在的数据的   4. 删除临时表   DROP TABLE __temp__Subscription;   通过以上四个步骤,可以完成旧数据库结构向新数据库结构的迁移,并且其中还可以保证数据不会应为升级而流失。   当然,如果遇到减少字段的情况,也可以通过创建临时表的方式来实现。


--结束END--

本文标题: Android数据库升级实例

本文链接: https://www.lsjlt.com/news/28761.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android 架构之数据库框架升级
    目录1、备份原数据库File文件2、数据库升级XML编写 updateXml.xml3、创建XML解析器 3.1 对应工具类 DomUtils.class 3.2 对应XM...
    99+
    2024-04-02
  • Android中怎么升级SQLite数据库版本
    这篇文章给大家介绍Android中怎么升级SQLite数据库版本,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android SQLite数据库版本升级的管理实现我们知道在SQLiteOpenHelper的构造方法:s...
    99+
    2023-05-30
    android sqlite
  • IOS数据库升级数据迁移的示例分析
    这篇文章主要介绍IOS数据库升级数据迁移的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!IOS 数据库升级数据迁移的实例详解概要:很久以前就遇到过数据库版本升级的引用场景,当...
    99+
    2024-04-02
  • android轻量级无侵入式管理数据库自动升级组件
    目录SpeSqliteManager4Android改动日志介绍核心设计思想架构设计关配置项json:集成步骤核心代码运行效果SpeSqliteManager4Android 改动...
    99+
    2023-02-28
    android数据库管理组件 android轻量级无侵入式组件
  • android轻量级无侵入式管理数据库自动升级组件怎么实现
    这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“android...
    99+
    2023-07-05
  • 如何升级PostgreSQL数据库版本
    要升级PostgreSQL数据库版本,可以按照以下步骤操作: 1.备份数据库:在升级之前,务必对数据库进行备份,以防止数据丢失。 2...
    99+
    2024-04-09
    PostgreSQL
  • gitlab升级数据库结构变吗
    GitLab 是一款开源的代码管理平台,它支持一个团队内多人协同工作,能够方便地进行代码版本控制、代码合并、备份和恢复等操作。GitLab经常会进行更新和升级,让团队拥有更好的体验和更高的效率。那么,当我们在进行GitLab的升级时,数据库...
    99+
    2023-10-22
  • MySQL数据库升级的坑有哪些
    这篇文章主要介绍“MySQL数据库升级的坑有哪些”,在日常操作中,相信很多人在MySQL数据库升级的坑有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数据库升级...
    99+
    2024-04-02
  • Android开发中如何实现数据库升级且表添加新列的方法
    这篇文章给大家分享的是有关Android开发中如何实现数据库升级且表添加新列的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:突然想到我们android版本升级的时候经常会遇到升级版本的时候在新版本中...
    99+
    2023-05-30
    android 数据库
  • 如何升级Aurora数据库的版本
    要升级Aurora数据库的版本,您可以按照以下步骤操作: 创建数据库快照:在升级数据库版本之前,建议您先创建数据库快照以备份数据。...
    99+
    2024-04-02
  • Android数据库增删改查实战案例
    目录一、案例演示二、实现步骤1、activity_main.xml2、MainActivity.java3、UserDao.java4、User.java5、SQLiteOpenHe...
    99+
    2023-05-16
    android数据库增删改查实例 android数据库增删改查代码 android中数据库的增删改查
  • 阿里云硬件升级数据库教程
    # 本教程将详细介绍如何通过阿里云对硬件进行升级,以优化数据库性能和稳定性。我们将讲解如何选择合适的硬件设备、如何安装和配置数据库服务器以及如何监测和调整数据库性能。第一节:选择合适的硬件设备在进行硬件升级之前,我们需要先确定需要升级的硬件...
    99+
    2024-01-25
    阿里 硬件 数据库
  • 如何升级阿里云数据库系统
    在今天的数字化时代,数据库系统已经成为企业和组织的核心组成部分,因此对数据库系统的管理和优化非常重要。这篇文章将介绍如何升级阿里云数据库系统,以提高性能、增加可靠性、优化安全性等方面的需求。 首先,升级阿里云数据库系统需要对现有的数据库系统...
    99+
    2023-12-15
    阿里 数据库系统
  • 如何升级AmazonAurora数据库引擎版本
    要升级Amazon Aurora数据库引擎版本,您可以按照以下步骤操作: 登录到管理控制台。转到Amazon RDS控制台。在左侧...
    99+
    2024-04-09
    AmazonAurora
  • 【数据库】mysql5.6升级至5.7(物理方式)
    本文的升级方式为物理升级: 直接替换掉mysql的安装目录和修改my.cnf,利用mysql_upgrade来完成系统表的升级,这种方法需要备份原有的文件,属于物理拷贝,速度较快。缺点的话,跨版本...
    99+
    2024-04-02
  • Oracle数据库异机升级是怎样的
    这期内容当中小编将会给大家带来有关Oracle数据库异机升级是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。架构介绍:源库:单实例  ip:192.168...
    99+
    2024-04-02
  • 在Oracle数据库中如何实现跨平台数据迁移和升级
    在Oracle数据库中,可以使用以下方法实现跨平台数据迁移和升级: 使用Oracle Data Pump工具:Oracle Da...
    99+
    2024-03-02
    Oracle
  • 在AmazonAurora中如何管理数据库实例的生命周期和版本升级
    在Amazon Aurora中,可以通过使用Amazon RDS控制台或AWS CLI来管理数据库实例的生命周期和版本升级。 创建...
    99+
    2024-04-09
    AmazonAurora
  • MySQL数据库高级操作示例
    小编给大家分享一下MySQL数据库高级操作示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!文章目录数据表高级操作准备工作:安装...
    99+
    2024-04-02
  • 提升你数据库标题的高级策略
    引言: 数据库表标题对于组织和查询数据至关重要。精心设计的标题可以提高数据库性能、可维护性和用户体验。本文将探讨提升数据库表标题的七项高级策略,帮助你创建高效且易于理解的表结构。 策略 1:遵循命名约定 使用大写字母来分隔单词,例如 P...
    99+
    2024-02-18
    数据库表标题 数据库设计 性能优化
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作