如果想操作多个数据库就不要把数据库的名字写死了

  1. public MyOpenHelper(Context context, String name){
  2. //第一个参数上下文
  3. //第二个参数 数据库的名字 如果传入null 就是在内存中创建一个数据库 内存中的数据库在应用退出之后 数据就会丢失
  4. //如果是聊天记录之类我真正的想给它存起来,下一次再启动还想用那你就要给它存储到一个具体的数据库里面。这个名字就一定要传进来
  5. //第三个参数 游标工厂 如果使用系统默认的游标工厂就传入null
  6. //第四个参数 数据库的版本号 用版本号来控制数据库的升级和降级 版本号从1开始
  7. super(context, "itheima.db", null, 1);
  8. // TODO Auto-generated constructor stub
  9. }

把"itheima.db"用String name代替而不是写死了就可以操作多个数据库了.如果写死的话拿到的SQLiteDatabase实际上操作的都是同一个数据库就是这个itheima.db.当数据库文件itheima.db第一次创建的时候,它会走onCreate().一旦我这个数据库文件创建起来之后,再去运行这个项目,这个onCreate()就不会走了.因为它只是当数据库文件第一次创建的时候才会执行onCreate().

onCreate()就是当数据库文件第一次创建的时候被执行。onCreate()做表结构的初始化也可以丢一些初始化的数据。

当数据库升级的时候就会走这个onUpgrade

数据库升级的SQL语句什么时候会被调用?数据库升级就是版本号增加的时候。

  1. super(context, "itheima.db", null, 2);

  1. @Override
  2. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

第一个参数SQLiteDatabase执行具体的SQL.

04_数据库升级onUpgrade&ondowngrade的更多相关文章

  1. Android SQLiteOpenHelper Sqlite数据库升级onUpgrade

    Android Sqlite数据库升级,在Android APP开发之中,非常常见: 在确定原来的数据库版本号之后,在原来数据库版本号+1,就会执行onUpgrade方法,进行数据库升级操作: 在on ...

  2. Android之数据库升级onUpgrade降级onDowngrade

    借用API文档解释: public abstract void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 当数据库需要升 ...

  3. Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())[4]

    数据库版本升级对软件的管理操作. 我们手机经常会收到xxx软件升级什么的提醒,你的软件版本更新,同时你的数据库对应的版本也要相应的更新. 数据库版本更新需要主要的问题: 软件的1.0版本升级到1.1版 ...

  4. Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())的注意点

    以下内容可以作为面试官在面试的时候的问题,感觉比较好,是比较常用的知识点,可以用来考察基础是否扎实. 也可以程序猿学习.开发中的注意点.因为稍微不注意,就有可能导致数据库不能用. DBAdapter. ...

  5. 优雅的处理Android数据库升级的问题

    原始完成于:2015-04-27 19:28:22 提供一种思路,优雅的处理Android数据库升级的问题,直接上代码: 1 package com.example.databaseissuetest ...

  6. Android 数据库升级解决方案

    转自:http://blog.csdn.net/leehong2005/article/details/9128501 请考虑如下情况: 在数据库升级时,不同版本的数据库,他们定义的表结构完全可能是不 ...

  7. Android SQLite数据库升级,怎么做(事物更改)

    SQLiteOpenHelper // 如果数据库文件不存在,只有onCreate()被调用(该方法在创建数据库时被调用一次) public abstract void onCreate(SQLite ...

  8. GreenDao 使用和数据库升级

    1使用方法 一.添加依赖 在bulid.gradle文件下的dependencies下添加所需依赖   compile 'org.greenrobot:greendao:3.2.2' // add l ...

  9. 记录一下寄几个儿的greendao数据库升级,可以说是非常菜鸡了嗯

    之前使用的greendao数据库存储服务器所有的历史推送消息,但是后来消息需要加几个新的字段 举个栗子,比如要新增红色框住的字段到数据库中: 本仙女作为一只思想成熟的菜鸡,当然是加了字段就赶紧重新往里 ...

随机推荐

  1. 九度OJ 1079:手机键盘 (翻译)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2279 解决:1233 题目描述: 按照手机键盘输入字母的方式,计算所花费的时间 如:a,b,c都在"1"键上,输入a只 ...

  2. Cocos2d-js官方完整项目教程翻译:六、添加Chipmunk物理引擎在我们的游戏世界里

    添加Chipmunk物理引擎在我们的游戏世界里         一.简介                   cocos2d JS能给我们力量来创造令人印象深刻的游戏世界.但缺乏某种现实.       ...

  3. 【题解】 P5021赛道修建

    [题解]P5021 赛道修建 二分加贪心,轻松拿省一(我没有QAQ) 题干有提示: 输出格式: 输出共一行,包含一个整数,表示长度最小的赛道长度的最大值. 注意到没,最小的最大值,还要多明显? 那么我 ...

  4. Python的pymysql模块

    PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中则使用MySQLDB. 1.基本语法 # 导入pymysql模块 import pymysql # 连接da ...

  5. Understanding JDBC Internals & Timeout Configuration

    原版:http://www.cubrid.org/blog/dev-platform/understanding-jdbc-internals-and-timeout-configuration 中文 ...

  6. bind(),live(),delegate(),on()绑定事件方式

    1.bind():向匹配元素添加一个或多个事件处理器. 适用所有版本,但是自从jquery1.7版本以后bind()函数推荐用on()来代替. $(selector).bind(event,data, ...

  7. 《机器学习实战》学习笔记第十三章 —— 利用PCA来简化数据

    相关博文: 吴恩达机器学习笔记(八) —— 降维与主成分分析法(PCA) 主成分分析(PCA)的推导与解释 主要内容: 一.向量內积的几何意义 二.基的变换 三.协方差矩阵 四.PCA求解 一.向量內 ...

  8. jQuery 中的常用函数

    on() : 方法在被选元素及子元素上添加一个或多个事件处理程序.自1.7 版本起,on()方法是 bind(),live() 和 delegate()方法的替代品 语法: $(selector).o ...

  9. html5--1.10绝对路径和相对路径

    html5--1.10绝对路径和相对路径 学习要点: 绝对路径和相对路径 1.绝对路径 需要指出链接资源的绝对位置,与你的HTML文档的位置无关: 1. 服务器中的位置:href="http ...

  10. 分享知识-快乐自己:全面解析 java注解实战指南

    请你在看这篇文章时,不要感到枯燥,从头到尾一行行看,代码一行行读,你一定会有所收获的. 问: 为什么学习注解? 学习注解有什么好处? 学完能做什么? 答: 1):能够读懂别人的代码,特别是框架相关的代 ...