共有設定はどこに保存されますか?


147

Eclipseプロジェクトのどこで共有設定ファイルが見つかるかもしれませんか?


共有preference.xmlがデータに格納されていることは承知していますが、インストールされる前のどこに格納されていますか。.smali形式ですか?
sharath3589 2017

回答:


241

SharedPreferencesは、アプリデータフォルダーのxmlファイルに保存されます。

/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml

またはデフォルトの設定:

/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PACKAGE_NAME_preferences.xml

実行時に追加されたSharedPreferencesは、Eclipseプロジェクトに保存されません。

注:アクセスに/data/data/<package_name>はスーパーユーザー権限が必要です


3
デフォルトの共有設定ファイルは実際には次のようになります/data/data/<package>/shared_prefs/<package>_preferences.xml
inazaruk、2011年

@inazaruk確かに完全なパッケージ名ですが、デバイス/<package>_preferences.xml/<package>.xmlデバイスの混合使用が見られます。おそらくそれはアプリのAPIレベルに依存しますか?
Aleadam 2011年

1
デフォルトの共有設定について取り上げていたことに注意してください。それらのファイル名は常に同じだったようです。の初期コミットPreferenceManager.javagetDefaultSharedPreferences関数android.git.kernel.org/?p=platform/frameworks/…を参照してください。そしてそれは、最新バージョンでは変更されませんでしたPrefencesManager.jave。あまりにもandroid.git.kernel.org/?p=platform/frameworks/...
inazaruk

システムからパスを取得し、ハードコーディングしない方法はありますか?ContextImpl.javaはそれをプライベートgetPreferencesDir funcに実装します。これを実行時に何らかの方法で取得すると便利です。
Pointer Null

新しいFIle(context.getFilesDir()。getParent()、 "shared_prefs")を使用できます。Nexus 5では動作しますが、他のメーカーについては不明です。
gswierczynski、2015年

9

プリファレンスはコードで設定するか、res / xml / preferences.xmlにあります。設定について詳しくは、Android SDK Webサイトを参照してください。


4
作成する必要があります。Androidプロジェクトを作成している限り、「res」ディレクトリを右クリックして「xml」という新しいフォルダーを追加できます。他の「特別な」フォルダーは、anim、drawable、layout、menu、raw、valuesです。
JasCav、2011年

6

時間を節約するために...

私のGalaxy S v.2.3.3では、共有設定が次の場所に保存されていません:/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml

現在は次の場所にあります: /dbdata/databases/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml

2.3でこれを変更したと思います


1
2.2でも同じですか?/ dataファイルが、Eclipseまたはプロジェクトの場所のプロジェクトのどこにも見つかりません。
Pramod

@pramodがEclipseにない-これは実際のデバイスファイル構造のパスです。
Richard Le Mesurier 2012

@Pramodは、ファイルエクスプローラービューとそこで見る/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml
Akhil Jain

2
/dbdata/私のJBデバイスには存在しません
2013年

6

私はこのように以下の共有設定のパスを取得しようとしました。これは私にとって仕事です。

File f = getDatabasePath("MyPrefsFile.xml");

if (f != null)
    Log.i("TAG", f.getAbsolutePath());

5

データは、デバイスのアプリケーションのプライベートデータ領域に保存されます。Eclipseプロジェクトにはありません。


3

共有設定は、保存できるキーと値のペアです。これらは内部タイプのストレージであるため、外部データベースを作成して保存する必要はありません。表示するには、1)メニューバーの[表示]に移動します。ツールウィンドウを選択します。2)Device File Explorerをクリックします。3)デバイスファイルエクスプローラーが右側に開きます。4)データフォルダを見つけてクリックします。5)データフォルダーでは、別のデータフォルダーを選択できます。6)このデータフォルダーでパッケージ名を検索してみてください。例:com.example.com 7)次に、shared_prefsをクリックし、.xmlファイルを開きます。

お役に立てれば!


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.