处女男学Android(十四)---Android 重量级数据存储之SQLite



前言



不知不觉的Android基础系列已经写了十三篇了,这是第十四篇~上一篇blog记录了Android中的一种数据存储方案,即共享参数(Sharedpreferences)的使用(处女男学Android(十三)---Android 轻量级数据存储之SharedPreferences)。最近初学如何在Android中应用SQLite,写了一个基于ListView的增删查的小例子,本篇blog就记录一下我学习到的如何在Android中操作SQLite持久化客户端数据。



初始化SQLite



关于SQLite的基础知识本篇就不做介绍了,我们只需知道它也是一个关系型的轻量级数据库,并且是嵌入式的数据库引擎,较适用于移动设备的数据存储,详情可参考百科:http://baike.baidu.com/link?url=_RNKz-r1FBwEm4iVvyxLQzCuKRdR12RrHNtUUa2nhSpILvUyT3g8jxVMbQzWmRHAUaRPYBem04hwMyom3kVx0a

本节记录初始化,那无非就是建库和建表了,下面先看这样一段初始化代码:

package com.wl.cigrec.dao;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {

	// 数据库名
	private static final String DB_NAME = "mycigrec.db";
	// 数据库版本
	private static final int VERSION = 1;

	public DBHelper(Context context) {
		super(context, DB_NAME, null, VERSION);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO Auto-generated method stub
		String sql1 = "create table t_order("
				+ "id integer primary key autoincrement," + "count integer ,"
				+ "money real,date date,balance real,orderid varchar(20))";
		String sql2 = "create table t_order_detail("
				+ "id integer primary key autoincrement,"
				+ "cigname varchar(20),cigprice real,cigcount integer,orderid varchar(20))";
		db.execSQL(sql1);
		db.execSQL(sql2);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		// TODO Auto-generated method stub
		System.out.println("------onUpgrade called------" + "oldVersion-->"
				+ oldVersion + "," + "newVersion-->" + newVersion);
	}

}

这就是初始化数据库的代码了,完全参考官方文档中的示例代码,下面逐行解释一下重点内容。

Line 7 定义了一个DB帮助类并且继承了SQLiteOpenHelper类,这个类是Android提供的管理数据库的工具类,封装了很多便捷操作DB的方法,实际开发中我们一般都会选择去扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值