花了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. Android_listview设置每条信息的间距

    Android_listview设置每条信息的间距 设置listView的item间距,可以在xml布局文件中的listView下设置xml属性: android:divider="#000 ...

  2. 关于清晰讲解linux正则表达式的博文分享

    http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html  linux shell 正则表达式(BREs,EREs,PREs)差异比 ...

  3. TLV----Demo讲解

    接触过网络协议的人对TLV一定或多或少的知道.作为一种自定义应用层标准. TLV使用十分广泛.他对数据封包有着很好的定义,简单实用. TLV即Type-Length-Value.即我们每个封装成TLV ...

  4. 【HDU】4092 Nice boat(多校第四场1006) ——线段树 懒惰标记

    Nice boat Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) To ...

  5. hdu 5570 balls(期望好题)

    Problem Description There are n balls with m colors. The possibility of that the color of the i-th b ...

  6. C# 获取网站的 IIS 站点名称 ,获取站点当前连接数

    System.Web.Hosting.HostingEnvironment.ApplicationHost.GetSiteName(); System.Management.ManagementObj ...

  7. RDLC报表系列(四) 矩阵

    继续接上一篇的内容,本文主要是讲矩阵的内容 用到的数据源如下: DataTable dt = new DataTable(); dt.Columns.Add("FiscalYear" ...

  8. java项目使用memcache实现session共享+session基础

    本文章主要目的是配置session共享,为了巩固基础,捎带介绍了一些基础知识(网上搜索后觉得最全面的特引过来,节省时间),基础扎实的可以自动忽略. 基础篇: 1.了解java web中的session ...

  9. linux(Ubuntu)下mysql字符集完美解决

    本文参考: 1. http://www.blogjava.net/wldandan/archive/2007/09/04/142669.html 2. http://chinaapp.sinaapp. ...

  10. 在HTML中使用JavaScript需要注意的问题

    1. 通过<script>元素的src属性可以包含来自外部域的js文件,这一点与<img>元素一样,但这让<script>元素倍显强大的同时又受争议,访问外部域js ...