我創建的應用程序,應具備離線模式,所以以前下載的數據應該存儲在某個地方,最常見的方式是將數據存儲在數據庫SQLite
。我真的需要內容提供商在我的應用程序
晴SQLite
數據庫採用的是Android使用Content Provider
。我清楚地知道內容提供商的目的是什麼(在不同應用程序之間共享數據),但在我的情況下,應用程序永遠不需要與系統中的其他應用程序共享數據。
Content provider
與HTTP
請求(GET,POST,PUT,DELETE)
具有相似的接口。
我的想法是創建一個可以使用這樣getAllLatestNews();
首先它會嘗試從互聯網上獲取最新的數據門面類,如果失敗 - 從數據庫中的數據將被使用,如果申請成功,它也將節省檢索到的數據數據庫。這個類將用於分離不同層次的應用程序(不直接從活動請求)。
但現在我有點有點疑惑決定每當我需要Content Provider
與否。我可以使用SQLiteOpenHelper
類來檢索數據並將其保存到數據庫,甚至可以使用ORM庫來執行此操作。
起初,我想實施REST API Pattern B
Virgil Dobjanschi
。但是現在我不確定這一點,也許最好爲Robospice創建外觀(在我的情況下是服務中的網絡請求)請求並在那裏做持久化?
請分享您對這個主題的看法,我會很感激任何幫助。
編輯
我問這個問題,因爲我覺得這是不好的做法,使直接從活動的要求,即使他們在服務引擎蓋下發,我要分開我的應用程序的不同層以使其更加靈活和可維護。
如果你確實需要一個ContentProvider,我發現https://github.com/BoD/android-contentprovider-generator非常有幫助。 – eosrei