2014-03-28 182 views
0

如果確實需要它,我將不得不修改大約15個類(模型和模型管理器類),所以我真的想知道我是否需要 a ContentProvider我真的需要使用ContentProvider嗎?

這裏就是我:

  1. 類似Twitter的,我碰到一個服務器的數據行,並且如果在本地保存它,用戶沒有互聯網連接。但理想的方式是始終從服務器獲取它。

  2. 我大概打算使用SimpleCursorAdapter,因爲數據的我從服務器獲得的行包括網址,這意味着我必須創建一個自定義適配器來顯示圖像。

  3. 我需要將數據加載到所述ListViews異步因爲我具有,顯示了相同數據(不同的過濾器壽),因此,由於負載到存儲器中,這意味着3個查詢正在執行(這很可能是不順暢滑動的原因)。

到目前爲止,我同步應用程序和服務器之間的數據的方法是:

  • Fragment.onStart()執行的AsyncTask返回格式化爲JSON數據
  • 數據行說AsycTask.onPostExecute()更新List<E>並致電Adapter.notifyDataSetChanged()

這裏的問題是th在每次更改制表符時,將調用onStart(),如果執行AsyncTask,則會導致UI不平滑。

我應該改變與服務器同步數據的方式,還是應該使用ContentProvider

編輯:作爲一個頭,我要問的原因是startManagingCursor()方法是depraated。它說,使用Loader框架,但現在看來,這是唯一可以通過ContentProvider

回答

0

我寫了基於自帶支持庫中的SimpleCursorLoader源代碼自定義CursorLoader。您可以搜索本網站以獲取更多關於編寫自定義網站的信息。

0

你不需要開發自己的供應商,如果你不與其他應用程序打算 共享您的數據。但是,您確實需要您自己的 提供程序才能在自己的應用程序中提供自定義搜索建議。 如果您想要將複雜的 數據或文件從應用程序複製並粘貼到其他應用程序,則還需要您自己的提供商。

http://developer.android.com/guide/topics/providers/content-providers.html

+0

是的,但大多數框架類只有在使用內容提供者時纔可用。對不起,我沒有要求複製粘貼我已多次閱讀的文本塊 –