Android下数据库的操作应用(一)

>  android中存储数据有多种方式,比如文件File存储、参数SharedPreferences存储,还有数据库存储。下面就数据库的应用分别从以下方面展开说明:

> 创建一个数据库

>  创建数据库的表结构

>  数据库的升级更新


【1】创建数据库

  • 新建工程Sqlite_01,新建一个MyDataBaseOpenHelper类,确定数据库名称、游标工厂、版本号等:
<span style="color:#330033;">/*
 * 定义一个数据库的打开帮助类
 */
public class MyDataBaseOpenHelper extends SQLiteOpenHelper {

	/*
	 * context:上下文
	 * test.db:数据库的名称
	 * null:游标工厂,从数据库的头部文件开始
	 * 1:version,数据库的版本号,最小从1开始
	 */
	public MyDataBaseOpenHelper(Context context) {
		</span><span style="color:#ff0000;">super(context, "test.db", null, 1);</span><span style="color:#330033;">
	}

	@Override
	public void onCreate(SQLiteDatabase db) {

	}

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

	}

}</span>
接着在MainActivity中创建MyDataBaseOpenHelper实例对象,通过getReadableDatabase使数据库创建成功:
<span style="color: rgb(51, 0, 51); white-space: pre;">	</span><span style="color:#330033;">protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//这一行代码执行完毕,数据库是不会创建的。
		MyDataBaseOpenHelper helper=new MyDataBaseOpenHelper(this);
		//下面这行代码执行,才会创建一个数据库
		</span><span style="color:#ff0000;">helper.getReadableDatabase();</span><span style="color:#330033;">
	}</span>
运行后,打开DDMS,便能在data_data_com.beijing.sqlite_01下看到数据库test.db出现了:


【2】创建数据库的表结构
  • 我们注意到在数据库打开帮助类中有两个方法onCreate()和onUpgrade()方法
<span style="white-space:pre">	</span>@Override
	public void onCreate(SQLiteDatabase db) {
		
	}

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

	}
第一个方法onCreate()方法是在数据库第一次创建的时候调用的,而且只会执行一次。一般是在这个方法里初始化数据库的表结构。方法的参数db就是我们创建的数据库本身,可以直接操作创建表:
<span style="white-space:pre">	</span>@Override
	public void onCreate(SQLiteDatabase db) {
		<span style="color:#ff0000;">db.execSQL("create table student (_id integer primary key autoincrement, name varchar(20),phone varchar(30))");</span>
	}
完成后可以在DDMS中到处数据库test.bd,查看其内容后发现出现了id、name、phone几列:

【3】数据库的升级更新
  • 第二个方法onUpgrade(),是数据库更新的时候调用的。比如版本的升级或数据库表结构的变动。需要注意的是数据库的版本只能升级不能降级。在onUpgrade()方法中为原来的表结构增加一项内容account,同时将版本号修改为2:
<span style="white-space:pre">	</span>@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		db.execSQL("alter table student add account varchar(20)");
	}
从DDMS中到处test.db查看内容,已经更新了,多处了一列account:

另外,可以看到在onUpgrade()方法中还有两个参数oldVersion和newVersion,这是数据库的旧版本与新版本,有时需要世界从一个就版本升级到新版本时,就会用到这两个参数。

>  本文是数据库操作应用的一部分内容,紧接第二部分: Android下数据库的操作应用(二)

> 本文的代码链接 http://download.csdn.net/detail/programmerteny/9471606, 可下载研究


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值