注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

红尘若梦

生活的色彩

 
 
 

日志

 
 

Android开发中SQLite应用初步  

2015-12-09 08:50:59|  分类: 技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Andriod为较大的数据处理提供了SQLite,在数据存储、管理、维护等各方面都相当出色,功能非常的强大,性能也很不错。现在的主流移动设备像Android、iPhone等都使用SQLite作为复杂数据的存储引擎,在为移动设备开发应用程序时,就要使用到SQLite来存储或缓存大量数据,掌握移动设备上的SQLite开发技巧,更是不一种必不可少的技能。尤其对于Android平台来说,利用好系统内置的丰富API,完全可以轻轻松松的完成对数据的存取。
下面就来看看相关的操作简易例子,为了简便,将相应的结果用Toast来显示了,如果需要看效果,请直接加其入Activity的onCreate中。

//打开或创建593668.com.db数据库
SQLiteDatabase db = openOrCreateDatabase("593668.com.db", Context.MODE_PRIVATE, null);
//如果存在表就先删除
db.execSQL("DROP TABLE IF EXISTS site");
//创建site表
db.execSQL("CREATE TABLE site (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, hits SMALLINT)");
//插入数据
db.execSQL("INSERT INTO site VALUES (NULL,'593668.com', '1')");
//插入数据,另一用法
db.execSQL("INSERT INTO site VALUES (NULL,?,?)",new String[]{"237h.com", "2"});
//插入数据,另一用法,利用ContentValues
ContentValues cv = new ContentValues();
cv.put(
"name", "9zfx.com");
cv.put(
"hits", "10");
db.insert(
"site", null, cv);
//更新数据
db.execSQL("UPDATE site SET hits=3 WHERE name='237h.com'");
//更新数据,另一用法
cv.put("hits", "18");
db.update(
"site", cv, "name = ?", new String[]{"237h.com"});
//删除数据
db.execSQL("DELETE FROM site WHERE name='237h.com'");
//删除数据,另一用法
db.delete("site", "name= ?", new String[]{"9zfx.com"});
//读取数据
Cursor c = db.rawQuery("SELECT * FROM site WHERE hits>?", new String[]{"0"});
while (c.moveToNext()) {
int _id = c.getInt(c.getColumnIndex("_id"));
String name = c.getString(c.getColumnIndex(
"name"));
int hits = c.getInt(c.getColumnIndex("hits"));
Toast.
makeText(this.getBaseContext(), "_id=>" + _id + ", name=>" + name + ", hits=>" + age, 10000).show();
}
//关闭游标
c.close();
//关闭当前数据库
db.close();
//删除数据库
//deleteDatabase("593668.com.db");

在执行完上面的代码后,就会在/data/data/[PACKAGE_NAME]/databases目录下生成一个“593668.com.db”的数据库文件。而上面的代码中,可说基本上已经囊括了大部分的数据库操作例子;学习了之后,对于添加、更新和删除数据来说,都可以轻易上手,相信把相关技术溶入自己的项目中也不是难事。关于更多的信息,大家可以去参考官方文档中的说明。另提及一句:当完成了对数据库的操作后,记得一定要调用SQLiteDatabase的close()方法释放数据库连接,否则容易出现SQLiteException。
  评论这张
 
阅读(54)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017