図書館に保存されている共有設定を扱う
-
28-09-2019 - |
質問
無料のバージョンを備えたアプリがあります。すべての無料版コードをライブラリに入れます。これは、新しい無料版プロジェクトと有料版プロジェクトから参照しています。
私は図書館に気づき、今では私のプロジェクトにはすべてプロパティファイルがあり、私の好みは完全に機能しなくなりました。コードが実行する名前空間に応じて、SharedPreferencesをクエリすると異なる結果が得られるようです。
これに対処するための最良の方法は何ですか?どちらのアプリも同じ設定を持っていますが、おそらく後で有料版を拡張し、無料版には存在しない設定を追加します。
解決
無料バージョンがフルバージョンと共有できるかどうかではなく、ライブラリがトップレベルのアプリとプリフを共有できるかどうかを尋ねていると思います。
APIドキュメントは、特定のプロセス以外でPrefsを共有できないことに言及しているため、(おそらく)2つの異なるパッケージ(LIB用、もう1つはトップレベル用)があるため、ライブラリで取得できます。 vsトップレベルのアプリは異なるファイルからのものですか?
これは、トップレベルのアプリとライブラリの優先ファイルの/データ/データ/パッケージで携帯電話のストレージを閲覧することで確認できます。それぞれに別の設定ファイルがあることがわかります。
トップレベルのアプリからプリフェンスを読み取り、書き込み、ライブラリにそれらを配信するインターフェイスを作成することで、これらの制限を回避できる場合があります。ライブラリに最高レベルの値が単純に表示されている場合、ライブラリはPREPSにアクセスする必要がないため、すべての設定アクセスが1つの場所から行われます。
また、これにより、フル対フリーのさまざまな設定を行うことができます(これは、別々の設定ファイルに保存されるため、とにかくデフォルトの動作です)。その後、バージョンに基づいて適切な情報をlibに送信できます。