目录

  • 1 第一周 android简介
    • 1.1 第一课 Android基础入门1
    • 1.2 第二课 Android基础入门2
    • 1.3 第三课 Android UI开发介绍
  • 2 第二周 android布局
    • 2.1 第一课 Android 布局文件介绍1
    • 2.2 第二课 Android 布局文件介绍2
    • 2.3 第三课 Android 布局文件介绍3
  • 3 第三周 Android UI组件开发
    • 3.1 第一课 Button和ImageButton
    • 3.2 第二课 TextView和EditText
    • 3.3 第三课 RadioButton和CheckBox
  • 4 第四周 Android UI组件开发
    • 4.1 第一课 Spinner和ListView
    • 4.2 第二课 应用案例-手机信息页面
    • 4.3 第三课 Android生命周期
  • 5 第五周 Android组件通信
    • 5.1 第一课 Intent的介绍
    • 5.2 第二课 Intent实现各种系统功能
    • 5.3 第三课 应用案例-手机注册页面
  • 6 第六周 数据存储
    • 6.1 第一课 应用案例-新建联系人
    • 6.2 第二课 数据存储-简单文件存储
    • 6.3 第三课 SharedPreferences存储
  • 7 第七周 数据存储
    • 7.1 第一课 xml文件存储
    • 7.2 第二课 应用案例-植物百科
    • 7.3 第三课  ListView 组件高级使用
  • 8 第八周 SQLite数据库
    • 8.1 第一课 应用案例-应用列表
    • 8.2 第二课 使用SQLite数据库存储(创建数据库和表)
    • 8.3 第三课 使用SQLite数据库存储(对表数据操作)
  • 9 第九周 项目实战-商品购物车处理
    • 9.1 第一课 使用SQLite数据库存储(对表数据查询)
    • 9.2 第二课 商品购物车处理(布局)
    • 9.3 第三课 商品购物车处理(数据处理)
  • 10 第十周 内容提供者及广播
    • 10.1 第一课 内容提供者的使用
    • 10.2 第二课 广播概念以及如何使用
    • 10.3 第三课 自定义广播
  • 11 第十一周 广播和服务
    • 11.1 第一课 应用案例-电池电量
    • 11.2 第二课 应用案例-通话记录
    • 11.3 第三课 服务简介
  • 12 第十二周 服务应用
    • 12.1 第一课 应用案例—音乐播放器
    • 12.2 第二课 应用案例—地震监测
    • 12.3 第三课 获得手机SIM卡信息
  • 13 第十三周 网络编程
    • 13.1 第一课 网络编程入门
    • 13.2 第二课 使用HttpClient访问网络
    • 13.3 第三课 webview组件
  • 14 第十四周 网络编程应用案例
    • 14.1 第一课 消息机制简介
    • 14.2 第二课 应用案例-应用升级
    • 14.3 第三课 应用案例-应用升级
第二课 使用SQLite数据库存储(创建数据库和表)

一、SQLite数据库简介

SQLite是一个轻量级数据库,第一个版本诞生于2000年5月。它最初是为嵌入式设计的,占用资源非常低,在内存中只需要占用几百KB的存储空间。 

SQLite是遵守ACID关联式的数据库管理系统。ACID是指数据库事务正确执行的基本要素,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

SQLite没有服务器进程,它通过文件保存数据,该文件是跨平台的,可以放在其他平台中使用。并且支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)五种数据类型。

二、SQLite数据库的使用

Android SDK提供了一系列对数据库进行操作的类和接口。常用的数据库操作类有:

SQLiteOpenHelper类

该类是一个抽象类,用于创建数据库和数据库版本更新。

SQLiteDatabase类

该类是一个数据库访问类,封装了一系列数据库操作的API,可以对数据进行增删改查操作。

Cursor接口

是一个游标接口,在数据库操作中作为返回值,相当于结果集ResultSet。


   代码建库

使用SQLite代码建库,必须继承SQLiteOpenHelper抽象类,该类无默认构造函数,故子类必须显式调用该类的构造函数。

SQLiteOpenHelper类中常用方法:

    1. getReadableDatabase():创建并(或)打开一个数据库。

    2. getWritableDatabase():创建并(或)打开对其进行读和写的操作一个数据库。


SQLiteDatabase:数据库类,提供一些用于管理SQLite数据库的方法。

execSQL(String sql):执行单条SQL语句。


public class MyDatabaseHelper extends SQLiteOpenHelper {

private static final String DATABASENAME = "test.db" ;

private static final int DATABASERVERSION = 1 ; // 设置数据库的版本

private static final String TABLENAME = "t_words" ;

public MyDatabaseHelper(Context context) { // 用户最关心的也肯定只是Context

super(context, DATABASENAME, null, DATABASERVERSION);

}

@Override

public void onCreate(SQLiteDatabase db) { // 创建数据表

String sql = "CREATE TABLE " + TABLENAME + "("

+ "english VARCHAR(30) PRIMARY KEY ," // 在SQLite中设置为Integer、PRIMARY KEY则ID自动增长

+ "chinese VARCHAR(100) NOT NULL" + ");";


db.execSQL(sql) ; // 执行SQL

System.out.println("****************** 创建:onCreate()。");

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

String sql = "DROP TABLE IF EXISTS " + TABLENAME ;

db.execSQL(sql) ;

System.out.println("****************** 更新:onUpgrade()。");

this.onCreate(db) ;

}

}