设为首页 收藏本站
查看: 1084|回复: 0

[经验分享] Android4开发入门经典 之 第八部分:SQLite

[复制链接]

尚未签到

发表于 2016-12-1 06:10:34 | 显示全部楼层 |阅读模式
SQLite基本知识
SQLite介绍
SQLite是一个开源的、嵌入式关系型数据库。目前非常流行,firefox和iphone中也是使用的它,PHP5.0里面也包含了SQLite。
SQLite是嵌入式的
SQLite引擎不是在独立进程中运行,而是嵌入到程序中成为程序的一个部分。所以主要的通信协议是在编程语言内使用API调用,整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。
使用SQLite进行CRUD
Android提供了一个SQLiteOpenHelper,通过它可以容易的创建数据库,如下:

java代码:查看复制到剪贴板打印


  • public class DBHelper extends SQLiteOpenHelper {  
  • public DBHelper(Context context,String name,SQLiteDatabase.CursorFactory factory,int version){  
  • // content是上下文环境,通常是一个Activity  
  • // name是数据库的名字,其实一个应用可以固定在这里写一个名字  
  • // factory是游标工厂,通常是null,使用系统提供的就可以了  
  • // version数据库版本,一般一个应用的版本号是一样的,也可以在这里固定写上  
  • super(context, name, factory, version);  
  • }  
  • public void onCreate(SQLiteDatabase db) {  
  • // 创建数据库过后的回调方法,通常用来创建表和插入初始数据  
  • String sql = "create table tbl_user (uuid varchar(20),name varchar(20))";  
  • db.execSQL(sql);  
  • }  
  • public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  • // 更新数据库版本的操作  
  • }  
  • public void onOpen(SQLiteDatabase db) {  
  • super.onOpen(db);  
  • // 每次成功打开数据库后首先被执行的方法  
  • }  
  • }  


实现新增功能,示例如下:

java代码:查看复制到剪贴板打印


  • DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);  
  • SQLiteDatabase db = dh.getWritableDatabase();  
  •    
  • ContentValues cv = new ContentValues();  
  • cv.put("uuid""u1");  
  • cv.put("name""u1name");  
  • db.insert("tbl_user",null, cv);  



实现修改功能,示例如下:

java代码:查看复制到剪贴板打印


  • DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);  
  • SQLiteDatabase db = dh.getWritableDatabase();  
  •    
  • ContentValues cv = new ContentValues();  
  • cv.put("name""uuuuuu");  
  •    
  • db.update("tbl_user", cv, "uuid=?"new String[]{"u1"});  


实现删除功能,示例如下:

java代码:查看复制到剪贴板打印


  • DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);  
  • SQLiteDatabase db = dh.getWritableDatabase();  
  • db.delete("tbl_user""uuid=?"new String[]{"u1"});  



实现查询功能,示例如下:

java代码:查看复制到剪贴板打印


  • DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);  
  • SQLiteDatabase db = dh.getWritableDatabase();  
  •    
  • Cursor c = db.query("tbl_user"new String[]{"uuid","name"},  
  • "",null"""""","");  
  • while(c.moveToNext()){  
  • String uuid = c.getString(c.getColumnIndex("uuid"));  
  • String name = c.getString(c.getColumnIndex("name"));  
  •    
  • System.out.println("uuid="+uuid+" , name="+name);  
  • }  



视频配套PPT,视频地址【 Android4开发入门经典独家视频课程】
原创内容 转自请注明【 http://sishuok.com/forum/blogPost/list/0/2748.html#7730】

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-307768-1-1.html 上篇帖子: SQLite入门与分析(二)---设计与概念 下篇帖子: android之利用SQLite数据库实现登陆和注册
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表