2011-07-19 7 views
2

私はAndroidアプリケーションを開発しています。Android:SQLiteOpenHelperを使用しています。 ContentProviderを使うべきですか?

これまでのところ、私は独自のSQLiteOpenHelperをシングルトンと同期化したgetInstance()として作成しました。

ContentProviderも使用する必要があるかどうかはわかりません。私は、AndroidがIntentを開くべきアクティビティと一致させるためにAndroidを使用することを理解していますが、私はそれを自分のアプリケーションで使用する必要がありますか?

私が使った場合、どんな直接的な利点がありますか?私はアプリケーションを開始しているので、できるだけ多くのベストプラクティスを使用したいと考えています。

後で追加できますか?私はこれらのContentProviderの機能を完全に理解しているようには見えません。

ありがとうございます!

答えて

5

コンテンツを外部アプリケーションにシンジケートする場合は、ContentProviderを悩ますだけです(たとえば、コンテンツを電子メールの添付ファイルとして使用する場合や、サードパーティのアプリケーションからデータ)。それ以外の場合は、アプリケーション内のデータをローカルのSQLiteインスタンスに貼り付けるだけでよいでしょう。

+0

いつも外部アプリケーションから自分のデータにアクセスしたいのですが?たとえば、レポートを作成してアプリケーションからの電子メールに添付したい場合、私はまだそれを必要としません。 – sfratini

+0

インテントとプライベートデータをインストールした電子メールクライアント(Email、GMail)を呼び出す場合は、ContentProviderが必要です。あなたは、SDカードで世界的に読めるファイルを作成して使用することで逃げることができるかもしれませんが、一般的に私は電子メールの添付ファイルを送信するためにContentProviderを使用しました。 – Femi

+0

Thats odd。私はインテントのエキストラとして欲しいものを置くことが簡単だと思います。さて、私がする必要があるときに私はそれを調べます。今、私は多くのコードを変更する必要がないことを知るのに十分です。どうもありがとう! – sfratini

関連する問題