1.SQLite事务
结束事务有两种情况,commit和rollback
事务的提交或者回滚是由事务的标志决定的,如果事务标志位True,事务就会提交,否则回滚,默认情况下事务的标志位False
beginTransaction()开启事务
endTransaction()结束事务
setTransactionSuccessful()设置事务标志为True
2.Cursor
http://www.2cto.com/kf/201109/103163.html
3.使用SimpleCursorAdapter适配器时出现的问题:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.db/com.example.db.MainActivity}: java.lang.IllegalArgumentException: column '_id' does not exist 原因 Caused by: java.lang.IllegalArgumentException: column '_id' does not exist
解决方法:1)改变数据库表结构 ,将id改为_id 2)将查询 语句改成 select personid as _id,name,phone,amount from person.....
4.导入包import android.support.v7.internal.widget.AdapterViewICS.OnItemClickListener;出现错误import android.support.v7.internal.widget.AdapterViewICS.OnItemClickListener;
解决方法将其替换为import android.widget.AdapterView.OnItemClickListener;即可解决问题
5.getItemAtPosition(position)
调用适配器中的getItem()
6.内容提供者Content Provider
在android系统,对外共享数据使用,其他应用可以通过内容提供者访问应用中的数据,也可以对应用中的数据进行增删改查,在应用中的作用是对外共享数据,如:android应用中的通讯录.共享的数据可以是任意类型的数据。
文件存取类型不同,使用的API不同。数据的访问会因为存储方式不同而不同。使用数据提供者的好处就是统一了数据访问的方式
7.Uri
Uri代表了要操作的数据,包含了两部分的信息(1)需要操作的内容提供者(2)对内容提供者中的什么数据进行操作
如:content://cn.wd.providers.personprovider/person/10
scheme 主机名或Authority 路径 ID
Uri的scheme已经被android所规定,为content://
public Cursor query(Uri uri, String[] projection, String selection,String[] selectionArgs, String sortOrder)供外部的应用查询内容提供者的数据
getType(Uri uri)返回目前所要操作的数据类型
访问内容提供者需要用到ContentResolver对象
getType() :如果所要操作的数据是集合类型,MIME类型字符串应该以vnd.android.cursor.dir/开头,如果所要操作的数据类型是非集合类型(一条数据),应该以vnd.android.cursor.item/开头