2

私は、他のアプリケーションとデータを共有するためのコンテンツプロバイダを読んでいます。アンドロイドのsqliteデータベースを超えるコンテンツプロバイダを使用する利点は何ですか?

私のアプリでは、他のアプリケーションとデータを共有する必要がないため、コンテンツプロバイダは使用していません。だから私はsqliteデータベースだけを使用しました。基礎となるデータセットの変更のために、私は、loadloaderを使用してforceloadコンテンツオブザーバを使用して即座にロードしました。

これは悪い習慣ですか?すべてのアプリケーションがコンテンツプロバイダを使用していますか?また、新しいアプリケーションを開発するつもりです。syncadapterを使用するつもりですが、これまでと同じ方法を使用するのか、コンテンツプロバイダを使用する必要がありますか(覚えておいてください。

+0

読み取り不可。あなたは文章を作っていませんか?パラグラフ?首都?ドット? – greenapps

答えて

0

他のアプリとデータを共有したくない場合は、コンテンツプロバイダーは必ずしも必要ではありませんが、コンテンツプロバイダーとは別に、使い慣れているので便利です自分のローダー。これ以外にも、多くのポイントがあります。hereからさまざまな人々の意見を読むことができます。

私の意見では、時間の経過とともに進化する可能性の高いアプリを作っているのであれば、コンテンツプロバイダを使うべきです。

0

documentationは言う:

あなたが他のアプリケーションとデータを共有する予定がない場合は、独自のプロバイダを開発する必要はありません。ただし、独自のアプリケーションでカスタム検索提案を提供するには、独自のプロバイダが必要です。

デフォルトのカーソルローダーの実装では、コンテンツプロバイダが必要なのは設計上のバグです。ただし、簡単にyour own cursor loader that does not need a content providerと書くことができます。

シンクアダプタにコンテンツプロバイダが必要なのは設計上のバグです。しかし、Androidのドキュメント自体でさえ、a stub content provider that does not actually do anythingの書き方を示しています。

関連する問題