android 学习笔记2

一.操作数据库
1.另一种方式操作数据库
insert(), delete(), update(), query()
通过参数组装SQL语句, Android的API中有些方法适合使用这些方式查询
insert(String, String, ContentValues) 第二个参数是指定表中的一列, 目的为了在ContentValues中没有数据时能插入空记录
insert()方法和execSQL()方法不同, 如果用insert()插入, 可以获取插入的记录的id
2.事务控制
beginTransaction() 开启事务
endTransaction() 结束事务, 将最后一次成功标记之前的语句提交. 如果没有成功标记, 那么全部回滚.
setTransactionSuccessful(), 设置成功标记, 可以设置多个, 类似回滚点

二.ListView
1.Adapter
BaseAdapter, 通过自己定义类继承BaseAdapter, 实现getView()方法来完成item的构建. 可以自己编码, 也可以使用View.inflate()方法来通过xml文件创建
SimpleAdapter, 传入一个List<Map<String, Object>>, List中的每一个元素都是一个Map也就是一个item中的数据
SimpleCursorAdapter, 直接传入Cursor, 指定Cursor中的哪些列对应那些组件id
2.onItemClickLinstener
BaseAdapter, 使用getItemAtPosition()方法时获取的是自定义的getItem()方法返回的对象
SimpleAdapter, 使用getItemAtPosition()方法时获取的一个Map
SimpleCursorAdapter, 使用getItemAtPosition()方法时获取的一个Cursor, 这个Cursor已经被移动到点击的哪条记录

三.ContentProvider
1.为什么使用内容提供者
统一了数据的访问方式
将数据进行封装, 提高安全性, 可以不将敏感数据暴露出来
可以使用Observer实时监听数据变化
2.定义ContentProvider
Manifest.xml中的<application>节点下配置<provider>节点, 配置name属性指定类名(最前面要加"."), 配置authroties定义主机名.
定义类继承ContentProvider
重写CRUD方法
3.ContentObserver
在ContentProvider的CRUD方法中可以通知数据变化. 调用 getContext().getContentResolver().notifyChange(uri, null);
使用ContentResolver的registerContentObserver(Uri, boolean, ContentObserver)方法来监听指定Uri上的数据变化
第一个参数是监听的Uri
第二个参数是是否监听该Uri的下级目录变化
第三个参数就是自定义的ContentObserver对象
定义ContentObserver, 重写onChange()方法, 在其中定义数据变化之后的操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值