Android学习记录(四) 只在当前应用有效的数据库实现。

在Android应用中,有些时候数据库不需要其他应用来访问,也就没有必要使用Content Provider来进行数据存储。

对于只在当前app使用的数据库,我们如何进行数据库的相应操作呢?
第一步:
创建一个数据库,创建相应的表。
SQLiteOpenHelper可以很轻松的帮助你完成上述内容。这里就不做说明了。

第二步:
当我们进行数据库更新,如增、删、修改的时候,Content Provider有触发器的实现方式(实际写代码还是得自己写触发方式和触发器的处理)。对于本应用来说,可以通过本地广播的方式来简单实现。
当有数据库更新需要修改的时候,通过
Intent intent = new Intent(BroadcastEvents.EV_MOVIE_RESOURCE);
intent.putExtra("id", resourceId);
intent.putExtra("done", BroadcastEvents.StatReqFalse);
localBroadcastManager.sendBroadcast(intent);
发送本地广播,在对应的activity/fragment中监听广播。
当监听到广播的时候,触发db对应的cursor刷新(cursor不会自己刷新,只有你主动触发,才会刷新),最后将cursor中的数据刷新ui或者本地数据即可。
最后说明的是Cursor需要做越界、空保护,在频繁刷新的时候,可能错误较多,需要注意。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值