1

私は、基本的な動作(データベースからランダムな単語を選択してそれらを組み合わせる)を共有する一連のノベルティアプリケーションに取り組んでいます。それらはすべて基本的に同じように機能するため、コードのベースをある種のテンプレートとして扱い、結果がまちまちでした。

更新に取り組んでいるときに、プロジェクトをもう少しMVCに適したものにしたいと思い、単純なSQLiteOpenHelperの代わりにContentProviderの使用を検討し始めました。グーグルのドキュメンテーションはそれらの使用について信じられないほど固執しているので、私はこのように傾いています。私の問題は、名前の衝突の領域にあります。

TL;DR質問はここをスキップしてください。

2つのサードパーティのAndroidアプリケーション(同じ開発者によって作成された)が両方とも同じContentProviderを使用したいが、インストールされている別のアプリケーションに依存しない場合、両方にContentProviderのコピー(同じ権限とすべてのもの)を含めて許可できますか?同時にインストールする必要がありますか(利用可能な最高バージョンのContentProviderを使用して)?

これがコンテンツプロバイダーの設定方法で可能かどうかはわかりませんが、これは一枚岩のようです。グーグルがこれを潜在的な問題または望ましい機能と見なしていなかったとは想像できません。はい、いくつかの複雑さが生じる可能性がありますが、dll地獄や他の同様の名前の問題を克服しました...正しく行うのはそれほど難しいことではありません。

4

1 に答える 1

1

グーグルのドキュメンテーションはそれらの使用について信じられないほど固執しているので、私はこのように傾いています。

私のような他のシュマックは言うまでもなく、すべてのGoogle社員がその立場に同意するわけではありません。ContentProviderプロセス間でデータを共有するためにのみを使用します。

2つのサードパーティのAndroidアプリケーション(同じ開発者によって作成された)が両方とも同じContentProviderを使用したいが、インストールされている別のアプリケーションに依存しない場合、両方にContentProviderのコピー(同じ権限とすべてのもの)を含めて許可できますか?同時にインストールする必要がありますか(利用可能な最高バージョンのContentProviderを使用して)?

AFAIK、最初にContentProvider登録されたものが勝ちますが、最高のバージョンではありません。実際、2番目のアプリが既存のを再定義しようとした場合にインストールされるかどうかはわかりませんContentProvider

さらに、ユーザーが現在のアプリをアンインストールするContentProviderと、他のアプリのデータが「プーフ」になるため、他のアプリは失敗します。

于 2011-09-20T11:14:51.550 に答える