2

私はウィジェットを開発しています。ウィジェットインスタンスにローカルなデータと、すべてのウィジェットにグローバルなデータ (キャッシュと共通データ) の両方を保存する必要があります。現在、共有設定ファイルを MYAPPNAME+WIDGETID に設定する PreferenceActivity を使用しています。共通データ (4/5 vars) を MYAPPNAME prefs に保存します。

この目的で ContentProvider を使用するネット上の多くの例を見ましたが、何か利点はありますか? 共有設定よりも速いですか、それとも何らかの点で異なりますか? 申し訳ありませんが、実際には明確ではありません。

4

1 に答える 1

3

私の推奨事項は、好みの順序で、えーと、次のとおりです。

  1. SQLite (コンテンツ プロバイダーの有無にかかわらず)
  2. SharedPreferences

理由?トランザクション。SharedPreferencesXMLファイルに保存されるだけです。SQLite はトランザクションです。データの整合性については、XML ファイルよりも SQLite を信頼しています。

ただし、必要に応じて使用できますが、SQLite でデータを管理するためにコンテンツ プロバイダーは必要ありません。

于 2010-12-26T00:30:51.993 に答える