SharedPreferences
Android ではアプリケーションに対してローカルであり、異なるアプリケーション間で共有されません。私が言ったら
SharedPreferences preferences = getSharedPreferences(PREF_NAME, MODE_WORLD_READABLE);
MODE_WORLD_READABLE
この設定を行うとはどういう意味MODE_WORLD_WRITABLE
ですか
MODE_PRIVATE
?
SharedPreferences
Android ではアプリケーションに対してローカルであり、異なるアプリケーション間で共有されません。私が言ったら
SharedPreferences preferences = getSharedPreferences(PREF_NAME, MODE_WORLD_READABLE);
MODE_WORLD_READABLE
この設定を行うとはどういう意味MODE_WORLD_WRITABLE
ですか
MODE_PRIVATE
?
getSharedPreferences(String name, int mode)
ここで説明されています
MODE_PRIVATE: File creation mode: the default mode, where the created file can only be accessed by the calling application (or all applications sharing the same user ID).
MODE_WORLD_READABLE: File creation mode: allow all other applications to have read access to the created file.
MODE_WORLD_WRITEABLE : File creation mode: allow all other applications to have write access to the created file.
詳細はこちら
編集 API 17 以降、MODE_WORLD_READABLE
とMODE_WORLD_WRITEABLE
は廃止されました。
この定数は、API レベル 17 で非推奨になりました。
だれでも読み取り可能なファイルを作成することは非常に危険であり、アプリケーションにセキュリティ ホールが生じる可能性があります。強くお勧めしません。代わりに、アプリケーションはContentProvider
、 、BroadcastReceiver
、 などの相互作用のためにより正式なメカニズムを使用する必要がありService
ます。バックアップや復元を行う場合など、このアクセス モードがファイルに残るという保証はありません。
設定はファイル システムに保存されます。モードは、アプリの設定にアクセスできるユーザーを定義します。
簡単な言葉で:
MODE_PRIVATE
プリファレンスの動作モードです。これはデフォルトのモードであり、作成されたファイルには呼び出し元のアプリケーションのみがアクセスできることを意味します。MODE_WORLD_READABLE
のアプリケーションでは、作成したファイルを読み取ることはできますが、変更することはできません。MODE_WORLD_WRITEABLE
、作成したファイルへの書き込み権限も持っています。推奨される方法は、ファイル名を指定せずにデフォルト モードで使用することです。
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
共有設定もファイルシステムのファイルに保存されます。そして、これらのモードは、他のアプリケーションがファイル内のシャード設定を読み取る権利を持っているかどうかを定義します。
MODE_PRIVATE
共有設定を作成するアプリケーションのみが設定の読み取り/書き込みを実行できることを意味します
MODE_WORLD_READABLE
つまり、他のアプリケーションも共有設定APIを使用してこれらの設定を読み取ることができますが、この設定ファイルに値を書き込むことはできません
MODE_WORLD_WRITEABLE
これは、他のアプリケーションも共有設定APIを使用して設定ファイルを読み書きできることを意味します
次のリンクには、モードを説明するための適切な説明とコード例もあります。
http://thedevelopersinfo.com/2009/11/25/getting-sharedpreferences-from-other-application-in-android/
http://chrisrisner.com/Accessing-the-Shared-Preferences-of-a-Different-Application-in-Android