SQLite和Contentprovider
1.SQLite在Android中的使用
Android中为我们提供了一个操作数据库的类SQLiteOpenHelper,我们可以通过它进行一些数据库的基本操作, 如增删改查等。
实现如下:
新建的类继承了SQLiteOpenHelper,然后创建了一个名为DATEBASE_NAME的数据库,传入一个context,版本为1.
接下来在数据库中建个表:
这里使用到了数据库中的一些建表语句,下面给大家分享个自学的好网站
友情链接:http://www.w3school.com.cn/sql/index.asp
在Activity中对数据库进行增删改查的基本操作:
获取实例:
在这个代码中我们通过datebasehelper.getReadableDatebase()得到一个SqLitedatabase,只读的方式。并且
在这进行了一个ADD操作,通过contentvalues来传入数据,采用KEY,VALUE的形式,调用insert方法存入数据库。
查找操作:
这里用到了一个Cursor,它是一个结果的返回集合,cursor.getColumnIndexOrThrow()方法获取索引,熟悉SQL的话这章会
比较容易。然后做了一个遍历。
删除和升级:
这个比较容易,whereClauseString传入Selection,whereArgsString传入select数组。
2.ContentProvider
内容提供器,之前我们的存储方法都是对于本应用来说的,而跨应用间的数据存储分享就要用到内容提供器, 它的使用方法和数据库类似,也有增删改查等操作。
接下来贴上代码和分析。
ContentProvider需要URI参数,URI就是一个唯一标识符,这里我们在静态方法里为UriMatcher传入URI,这个方法可以为
我们返回一个REQUESTCODE,利用这个我们可以具体对所需要的数据进行操作:
ContentProvider中的几种方法如以上代码所示,都需要传入一个URI。