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