Android周学习Step By Step(6)--Android的数据库SQLite
2011-06-30 20:41
561 查看
在Android中可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库、Content
provider和网络。下面主要说一说SQLite
SQLite是轻量级的嵌入式数据库,麻雀虽小但五脏俱全。
l
新建数据库
通过SQLiteOpenHelper类可以生成一个数据库并对数据库的版本进行管理。当在程序中调用这个类的方法getWritableDataBase()或者getReadableDataBase()方法的时候,如果当时没有数据,那么Android系统就会自动生成一个数据库。代码如下:
private static class DatabaseHelper extends SQLiteOpenHelper {
[code] DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE " + TABLE_NAME + " (" + TITLE
+ " text not null, " + BODY + " text not null " + ");";
Log.i("haiyang:createDB=", sql);
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
[/code]
其中onCreate(SQLiteDatabase)在数据库第一次生成的时候会调用这个方法,一般在这个方法里生成数据表。
onUpgrade(SQLiteDatabase,int,int)方法是当数据库升级的时候会被Android系统主动调用。一般在这个方法里边删除数据表,并建立新的数据表,以及一些其他的操作这取决于软件的需求。
l
新建数据表
数据库有了下一步就是建表了,和建数据库一样也是通过执行SQL语句进行建表的操作代码如下
private void CreateTable() {
[code]SQLiteDatabase db = mOpenHelper.getWritableDatabase();
String sql = "CREATE TABLE " + TABLE_NAME + " (" + TITLE
+ " text not null, " + BODY + " text not null " + ");";
Log.i("haiyang:createDB=", sql);
try {
db.execSQL("DROP TABLE IF EXISTS diary");
db.execSQL(sql);
setTitle("数据表成功重建");
} catch (SQLException e) {
setTitle("数据表重建错误");
}
}
[/code]
对数据库的操作
对数据库的操作无非就是增、删、改、查了,Android和.NET是一样的,都是通过传SQL语句并执行来对数据进行相关的操作。以插入数据为例,具体代码如下(删除、修改操作同理,只需要改写SQL语句即可)
/*
[code] * 插入两条数据
*/
private void insertItem() {
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
String sql1 = "insert into " + TABLE_NAME + " (" + TITLE + ", " + BODY
+ ") values('haiyang', 'android的发展真是迅速啊');";
String sql2 = "insert into " + TABLE_NAME + " (" + TITLE + ", " + BODY
+ ") values('icesky', 'android的发展真是迅速啊');";
try {
Log.i("haiyang:sql1=", sql1);
Log.i("haiyang:sql2=", sql2);
db.execSQL(sql1);
db.execSQL(sql2);
setTitle("插入两条数据成功");
} catch (SQLException e) {
setTitle("插入两条数据失败");
}
}
[/code]
也可以通过insert方法直接进行数据插入,这里相当于.NET中的SQLHelper一样,Android已经为我们写了增、删、改、查的方法,只需要加进去相应的参数即可。
在Android中查询到的数据将放在Cursor当中,Cursor是Android当中的一个接口,通过Cursor我们可以对从数据库中获得的数据进行相应的操作,相当于.NET中的DataTable或者DataSet。简单的查询代码如下
private void showItems() {
[code] SQLiteDatabase db = mOpenHelper.getReadableDatabase();
String col[] = { TITLE, BODY };
Cursor cur = db.query(TABLE_NAME, col, null, null, null, null, null);
Integer num = cur.getCount();
setTitle(Integer.toString(num) + " 条记录");
}
[/code]
相关文章推荐
- Android周学习Step By Step(6)--Android的数据库SQLite
- android学习之sqlite数据库
- Android SQLite数据库学习笔记
- Android周学习Step By Step(8)--Intent之启动新的Activity
- android 数据库 SQLiteOpenHelper和ContentProvider学习笔记---添加数据及显示(一)
- Android学习之旅--sqlite3 数据库命令操作
- Android SQLite数据库使用 学习与代码实践
- Android基础学习之SQLiteHelper(数据库帮助类)
- 【转】Android获取用于操作数据库的SQLiteDatabase实例【学习记录】
- 学习笔记 android数据库之 Sqlite
- Android数据存储之SQLite 数据库学习
- 2014-10-27Android学习------SQLite数据库操作(二)-----数据库的创建--SQLiteHelper extends SQLiteOpenHelper
- Android学习之旅--sqlite3 数据库命令操作
- Android sqlite数据库学习
- Android学习---数据库的增删改查(sqlite CRUD)
- 【Android】数据存储数据库SQLite(之前有看到的一篇关于SQLite文章,简单明了、覆盖较全面适合学习)
- Android学习--SQLite存储方式(数据库)
- Android周学习Step By Step(3)--应用工程文件组成
- 管理数据库 -学习sql server2005 step by step(三)
- Android的数据库(SQLite)学习