花了2天时间,系统学习了下Android开发过程中使用的轻量级数据库SQLite的使用。

并掌握其增,删,该,查的基本数据库操作。

首先要使用SQLite数据库,须要通过Android系统提供的SQLiteOpenHelper的帮助类,通过这个类我们能够得到一个SQLite数据库。因此我们须要创建一个类继承SQLiteOpenHelper这个类,然后实现它的onCreate()和update()方法。  我在我的welthy.myDB包中所创建的基础帮助类的类 仅仅实现onCreate()和update()方法。

详细的增,删,改,查操作我另外创建了一个类实现。
 所以这里的数据库初始化部分也放在了  操作实现的类中。  对于实现帮助类的代码例如以下:

实现了帮助类后 我便能够创建数据库,并对数据库进行一系列的操作。

首先进行数据库的初始化部分:

在进行初始化之前首先要得到SQLiteDatabase的对象和实现SQLiteOpenHelper帮助类的对象(即:DBmanager)。

然后再数据库操作实现类DBways类的构造函数中创建数据库。

假设不过dbHelper=new DBmanager(context,name);的话是无法得到数据库的。还有通过dbHelper.getWriteable()【须要对数据库编辑时】或者dbHelper.getReadable();【只读取数据库时】。通过这2个函数才干够得到一个数据库。然后通过ContentValues类给数据库的内容进行初始化【也能够不初始化。此时就是一个空数据库】。然后调用insert("表名",null,values)将初始化的值加入进数据库。

初始化后,首先说明下加入数据操作。

这里我定义的函数为:insert(String Pname,int Pid);详细实现内容和初始化加入数据时一样都是调用db【即 SQLiteDatabase的对象】的insert(。。。)函数。

详细代码例如以下:

主函数中直接调用就能够。

然后说明删除数据操作。

这里我定义的函数有2个一个是依据keyword删除。一个是删除数据库全部数据。调用的是db.delete("表名","删除条件","删除条件中的參数【即删除条件中?

号的值】");

当中依据keyword删除的是deleteKey(String name);实现代码例如以下:

删除全部数据就是删除条件为null的情况。

实现代码例如以下:

接着,说明下查询操作。

这里利用Cursor类来搜集查询结果集。这里调用的是rawQuery函数,这个函数是能够直接通过SQL语句进行查找操作。然后结果放入Cursor的对象cursor中。

当然,也能够使用query()函数,这个函数不须要熟悉SQL语句的操作。但相同返回的是cursor类型值。 实现代码例如以下:

这里得到cursor结果集之后,则能够通过Cursor类的方法对结果进行查询,首先将cursor游标放在第一行cursor.moveToFirst()。然后进入一个循环。仅仅要下一行还有数据,则通过cursor.getString(字段下标【0開始】)以字符串的形式得到数据。

直到下一行没有数据为止。

最后,说明下改动操作。

这里我相同定义了2个函数,由于我的字段就仅仅有name和 id 2个。

所以,能够依据一个字段改动同一行的还有一个字段值。

相同是通过ContentValues类得到改动后的数据,然后通过db.update("表名",更新的值,更新条件,更新条件參数)。

来改动数据。

首先是改动name字段的函数editName(String name,int id)。

详细实现代码例如以下:

然后是改动id字段的函数editId(String name,int id)。

详细实现代码例如以下:

详细的4种操作如上所述。如有疑问,欢迎探讨。

Android学习之SQLite学习的更多相关文章

  1. 七、Android学习第六天——SQLite与文件下载(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 七.Android学习第六天——SQLite与文件下载 SQLite SQ ...

  2. Android中的SQLite使用学习

    Android中的SQLite使用学习 SQLite是非常流行的嵌入式关系型数据库,轻载, 速度快,而且是开源.在Android中,runtime提供SQLite,所以我们可以使用SQLite,而且是 ...

  3. Android开发系列之学习路线图

    通过前面的3篇博客已经简单的介绍了Android开发的过程并写了一个简单的demo,了解了Android开发的环境以及一些背景知识. 接下来这篇博客不打算继续学习Android开发的细节,先停一下,明 ...

  4. 20172327 2018-2019-1 《第一行代码Android》第一章学习总结

    学号 2018-2019-1 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这 ...

  5. SQLite 学习笔记

    SQLite 学习笔记. 一.SQLite 安装    访问http://www.sqlite.org/download.html下载对应的文件.    1.在 Windows 上安装 SQLite. ...

  6. SQlite 学习资料

      很有用的开源跨平台数据库,可以作为客户端的小型内存数据库使用,据说它有N多用户(Nokia's Symbian,Mozilla,Abobe,Google,阿里旺旺,飞信,Chrome,FireFo ...

  7. Android 开源项目及其学习

    Android 系统研究:http://blog.csdn.net/luoshengyang/article/details/8923485 Android 腾讯技术人员博客 http://hukai ...

  8. SQLite学习笔记(七)&&事务处理

    说到事务一定会提到ACID,所谓事务的原子性,一致性,隔离性和持久性.对于一个数据库而言,通常通过并发控制和故障恢复手段来保证事务在正常和异常情况下的ACID特性.sqlite也不例外,虽然简单,依然 ...

  9. sqlite学习

    一鼓作气,今天继续学习了sqlite数据库在Xcode上的一些操作,主要是通过用oc代码进行salite表格的创建,删除,修改:以及对现有的表格数据进行增,删,改,查.虽然有点累,但是收获不小,感觉很 ...

随机推荐

  1. poj 1907 Work Reduction_贪心

    题意:公司要你要完成N份任务,但是你是不可能全部完成的,所以需要雇佣别人来做,做到剩下M份时,自己再亲自出马.现在有个机构,有两种付费方式,第一种是每付A元帮你完成1份,第二种是每付B元帮你完成剩下任 ...

  2. 区间dp-hdu-4745-Two Rabbits

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4745 题目意思: 给n个环状的数,A.B两人沿相反的方向走,每单位时间走一步,要求相同时间两人到达相 ...

  3. 窥探 kernel --- 进程调度的目标,nice值,静态优先级,动态优先级,实时优先级

    http://blog.chinaunix.net/uid-24227137-id-3595610.html 窥探 kernel --- 进程调度的目标,nice值,静态优先级,动态优先级,实时优先级 ...

  4. OC基础3:一些基本概念

    "OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.关于NSLog函数中的“%2i”: ( ...

  5. php算法之快速排序

    /** * 快速排序 * 原理: * 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists). * 最差时间复杂度 O(n*n) * ...

  6. C#中关键字ref与out的区别【转】

    在C#中,ref与out是很特殊的两个关键字.使用它们,可以使参数按照引用来传递.总的来说,通常我们向方法中传递的是值.方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢 ...

  7. QImage 与 cv::Mat 之间的相互转换

    近期做图像处理方面的项目比較多,非常多算法自己从头写的话太浪费时间,并且自己写的也不一定完好,早就听说OpenCV在图像处理算法方面功能非常强大,一直没时间学习,这次正好项目用到了.暂时抱佛脚学习些O ...

  8. Elasticsearch的javaAPI之percolator

    Elasticsearch的javaAPI之percolator percolator同意一个在index中注冊queries,然后发送包括doc的请求,返回得到在index中注冊过的而且匹配doc的 ...

  9. 如何一步步把网站Retina优化

    随着高清屏幕.高分辨率屏幕越来越流行,例如MacBook Retina机型.iPad Air系列,这些新生机器有着很高的PPI,对网页的清晰度要求很高,所以越来越多的站长都不得不面临一个问题,那就是把 ...

  10. JqueryUI-2

    本文在于巩固基础 jQuery UI Widgets jQuery UI Widgets控件-Accordion <!DOCTYPE html> <html> <head ...