1. ホーム
  2. android

[解決済み] コンテンツプロバイダを利用する場合

2022-10-17 22:05:51

質問

コンテンツプロバイダーは、アプリケーション間でデータを公開するために作られたものだと理解しています。しかし、自分のアプリケーションの中だけで使用するためにコンテンツ プロバイダを作成することについて、どなたかお考えがあればお聞かせください。このようなことをする利点はありますか。また、デメリットはありますか?

これまで私はデータベースからデータにアクセスするためにSQliteOpenHelperを実装してきましたが、コンテンツプロバイダを作成することを検討しています。データを要求するためのURIのアプローチは明確で簡潔な気がします。一方、私のアプリケーションのためだけにコンテンツプロバイダを使用することは冗長であり(その中にSQliteOpenHelperクラスがあるため)、必要以上に多くの作業を行うことになるのでしょうか?

どのように解決するのですか?

データを共有する予定がないのであれば、コンテンツプロバイダーについて考える必要はないでしょう。強力ですが、書くのが難しく、社内で使用するのであれば、実装するのは馬鹿げています。

しかし、自分のアプリの中だけで使うためにコンテンツプロバイダを作ることについて、誰か考えている人はいないでしょうか。

もちろんです。たとえば、私が書いた古い TODO リスト アプリでは、他のアプリがタスクの状態を取得してアクセスできるようにするためにコンテンツ プロバイダーを作成する必要がありました。これは要件の一部でしたが、それ以上に理にかなっており、アプリをより良くするものでした。