zoukankan      html  css  js  c++  java
  • Android oncreate onupgrade什么时候被调用

    在学习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 数据库名 的方式进入数据库,如此即可查看数据库中的内容。

  • 相关阅读:
    Feed back TFS 2017 RC upgrade status to product team in product group 2017.03.01
    TFS Training for Kunlun bank (http://www.klb.cn/) 微软研发流程(ALM)管理培训会议(昆仑银行) 2016.09.21
    微软DevOps软件开发高级培训课程(深圳站) 2016.04.06
    秒杀系统架构设计
    程序员职业规划
    程序员跳槽时,会遇到哪些套路?
    程序员3大点
    程序员37个小贴士
    程序员6大点
    程序员面试 10 大潜规则
  • 原文地址:https://www.cnblogs.com/xgjblog/p/3671115.html
Copyright © 2011-2022 走看看