在学习Android数据库SQLite之前,必须意识到这一点,目前在Android系统中集成的是SQLite3 版本,SQLite是一个开源的嵌入式数据库,他支持NULL、INTEGER、REAL、TEXT和BLOB数据类型,不支持静态数据类型,而是使用列 关系。可以把SQLite数据库近似看成是一种无数据类型的数据库,你可以把任何类型的资料存放在飞Integer类型的主键之外的其他字段上去,另外字 段的长度也是没有限度的。不过建议一定要在编写SQL语句的时候,按照标准的SQL语法,因为这样在别人看你的代码时候,便于更好的理解。

SQLite可以解析大部分的标准SQL语句:

建表语句:create table 表名(主键名 integer primary key
autoincrement,其他列名及属性) 查询语句:select * from 表名 where 条件子句 group by 分组子句
having…order by 排序子句。 分页语句:select * from 表名 limit 记录数 offset 开始位置 或者
select * from 表名 limit 开始位置,记录数 插入语句:insert into 表名(字段列表) values (值列表)
更新语句:update 表名 set 字段名=值 where 条件子句 删除语句:delete from 表名 where 条件子句

删表语句:drop table if exists 表名

而为了方便对数据库进行版本管理,建议在开发项目的时候使用SQLiteOpenHelper类,它提供了两个重要的方法,分别是
onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db,int
oldVersion,int
vewVersion),前者用于初次使用软件时生成数据库,后者用于升级软件时更新数据库表结构。提示一下,在软件升级前,最好对原有数据进行备份,在
新表建好后把数据导入新表中。实现了这两个方法,就可以用他的getWritableDatabase()和getReadableDatabase()
来获得数据库。这里提醒一句,在使用SQLite的进行查询时最好用占位符“?”来代替各值,例如:

java代码:

  1. SQLiteDatabase db=databaseHelper.getWritableDatabase();
  2. db.execSQL(“update person set name=?,age=? where personid=?”,new Obect{person.getName(),person.getAge(),person.getId()});

复制代码

execSQL()方法是用来执行除查找语句外的sql语句,查找语句用rawQuery()来执行它会放回一个Cursor。当然,他还提供了封装好的Java类方法供我们操作。具体方法不介绍了,可以直接查看文档中SQLiteDatabase类的用法。

那要查看数据库中的内容怎么办呢?一种方法是把数据库文件导出到电脑中,然后用SQLite
Developer这个软件即可打开查看其中的结构和内容。另一种是直接用命令行查看(推荐),可以通过adb
shell进入模拟器的Linux控制台,找到数据库文件,用#sqlite3 数据库名 的方式进入数据库,如此即可查看数据库中的内容。

Android oncreate onupgrade什么时候被调用的更多相关文章

  1. Android——onCreate( )方法详解(转)

    android开发之onCreate( )方法详解 onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Go ...

  2. 有关ViewPager的使用及解决Android下ViewPager和PagerAdapter中调用notifyDataSetChanged失效的问题

    ViewPager是android-support-v4.jar包中的一个系统控件,继承自ViewGroup,专门用以实现左右滑动切换View的效果,使用时需要首先在Project->prope ...

  3. 解析android framework下利用app_process来调用java写的命令及示例

    解析android framework下利用app_process来调用java写的命令及示例 在android SDK的framework/base/cmds目录下了,有不少目录,这些目的最终都是b ...

  4. Android学习---如何创建数据库,SQLite(onCreate,onUpgrade方法)和SQLiteStudio的使用

    一.android中使用什么数据库? SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程式庫中.它是D.RichardHipp建立的公有领域项目.SQLite 是一个软件库,实现 ...

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

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

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

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

  7. Android横竖屏切换不重新调用onCreate()

    再次感叹Android的碎片化!!!! 设置AndroidManifest.xml中Activity的android:configChanges=”keyboardHidden|orientation ...

  8. Android入门篇2-activity调用跟数据传递

    一.activity调用 假设ActivityTest调用SecondActivity 1.显示调用 button1.setOnClickListener(new View.OnClickListen ...

  9. onConfigurationChanged与OnCreate,究竟谁被调用的问题

    在以前的版本中只要在AndroidManifest.xml文件中对activity指定android:configChanges="keyboardHidden|orientation&qu ...

随机推荐

  1. TPC-E在populate测试Database时需要注意的一些事项

    第一,  安装时不要使用named instance, 默认的instance就好. 否则会报连不上Database. 第二, TPC-E工具文件夹的完整路径中不可以有空格, 否则会在generate ...

  2. Font Awesome使用简介

      Font awesome是一种用字体来实现图标的CSS插件. 使用方法: 到http://fortawesome.github.io/Font-Awesome/ 下载代码包. 代码包解压到本地后, ...

  3. ACM-尼姆博弈之取(m堆)石子游戏——hdu2176

    取(m堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  4. 火狐浏览器Firefox Firefox中的xpi文件是什么

    firefox中的xpi文件是什么? 问一下 最佳答案 XPI是什么? firefox中的xpi实际上类似于IE中的插件或扩展(如Flash插件等). 格式一般为.Zip, 由XUL.Javascri ...

  5. 字符串的公共前缀对Mysql B+树查询影响回溯分析

        年前项目组接微信公众号. 上线之后,跟微信相关的用cid列的查询会话的SQL变慢了几十倍!思考这个问题思考了非常久.从出现以来一直是我心头的一个结.cid这一列是建了索引的,普通的cid列更新 ...

  6. Windows 8提升普通管理员权限为超级管理员权限以及激活超级管理员Administrator

    在Windows 8下运行某些操作时(比如删除一些文件或者更改某些系统设置时)系统会提示我们权限不够.须要Administrator账户的权限. 相信很多其它的使用者都会觉得自己当前使用的账户已经是系 ...

  7. iOS类方法实例方法 与 self

    Objective-C里面既有实例方法也类方法.类方法(Class Method) 有时被称为工厂方法(Factory Method)或者方便方法(Convenience method).工厂方法的称 ...

  8. DHTML【9】--Javascript

    大家好,好长时间不见了,因为博主最近在驾校学习开车,所以耽误了DHTML的更新日程,对此实感愧疚. 好了,不再得瑟了,接下来该介绍DHTML中比较核心的一个东东—Javascript. 初看Javas ...

  9. Linux对文件归档和压缩(学习笔记八)

    一.归档和压缩 压缩命令工具:gzip,bzip2 归档命令工具:tar 二.压缩 2.1.gzip gzip是一种标准的.广泛应用的文件压缩和解压缩实用工具.gzip允许文件并置.用gzip压缩文件 ...

  10. windows XP系统搜索无线网络时提示“windows无法配置此无线连接”,如何处理?

    转自:http://support1.lenovo.com.cn/lenovo/wsi/htmls/detail_12839009034375918.html 文章编号:C191612     201 ...