PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
AndroidDev
[问题] Content Provider 运作方式
楼主:
darkk6
(Mr. Pan)
2015-07-02 21:57:52
大家好,想请问关于 Content Provider 的问题
主要是想了解 Content Provider 是否有类似生命周期的流程
(感觉上好像是没有啦?)
原因有点长,先感谢大家的耐心观看~
我主要想问这个问题的原因是,我写了一个 Content Provider
提供我自己写的其他 App 能够存取 Database 资料
透过 Clipboard 的 OnPrimaryClipDataChange (反正就是监听剪贴簿)
监听当剪贴簿内容更动时,纪录剪贴簿中的内容到 database 中
由于功能中有让使用者设定纪录上限,因此当剪贴簿资料改变时:
1. 若纪录中有一模一样的文字,则跳过
2. 检查纪录是否已达上限
3. 若有到上限删除最旧的一笔
4. 将新的资料 insert 到 Database 中
我现在考虑的点在于,是否这些步骤都透过直接操作 DB 处理,如:
1. SELECT 1 FROM table WHERE data='XXXXXXX'
2. SELECT count(id) FROM table;
.... 依此类推
还是要在 Content Provider 中先建立 Cache 用的 HashMap 或 ArrayList,
在第一步时直接用 map.contains("XXXX") 来决定是否往下做
但问题就在于,这个 map 存在内存中的时间到底有多久?
如果 Content Provider 呼叫完就会消失,那我建立这个 cache 的 HashMap
就没有意义了。
另外就是,假设呼叫后不会消失,那么 App_A 和 App_B要新增资料时,这个
HashMap 会不会遇到类似 Thread safe 的问题,或者他们根本是两个不同的
instance ?
感谢大家~~~
作者: charlesdc (MoOn)
2015-07-04 00:39:00
先查一下cursor的特性应该就能猜出来 CP的问题我的经验是CP只是协定 cursor是类似指标的东西资料还是存在于原本的地方,所以关键应该在你监听的实作在什么元件上面
继续阅读
[征才] 诚征Android 软件工程师
blue5450
[问题] Android Studio 无法新增多语言strings
kanako
[问题] 该使用AI或AS?
mayday0405
[问题] Android studio 与 Eclipse快速键?
purin88
[问题] 关闭Manifast内功能
silverED
[征才] 软件服务业 - Android App Developer (An
blue5450
[问题] android上架server
aiweisen
[问题] json传一个byte array
walilagan
[问题] 公共汽车app动态查询
Dong123
[问题] 哪能找到DevicePolicyManager内的code?
blueblance
Links
booklink
Contact Us: admin [ a t ] ucptt.com