0

私は自分のアプリのインポート/エクスポート機能を開発したので、使用者はデータベースと共有設定をエクスポートして別の電話で使用できます。これは、私がS3を入手してそれを実行しようとするまで、問題なく機能していました。

いくつかの作業の後、データベースのインポート/エクスポートを機能させることができました(決闘SCdardsの問題)が、共有設定がまだ問題を引き起こしています。

新規インストールでは、電話機に共有設定ファイルがないため、インポートは失敗します。オプションを更新すると、ファイルが作成されます(電話にファイルが存在するかどうかを確認するためのチェックに追加されます)

これを作成します

this.sharedprefs = context.getSharedPreferences("sharedprefres.xml", Activity.MODE_PRIVATE);

これはファイルをチェックするためにあります

File sharedPrefencesFileOnPhone = new File(/data/data/PACKAGE_NAME/shared_prefs/, "sharedprefres.xml");

        if (sharedPrefencesFileOnPhone.exists()) 
            Log.d(DEBUG_TAG, "SP : Running Copy");

コピーは実行されているように見えますが、どのオプションも更新されていません。

これはすべてエミュレータで問題なく動作します

このチェックは、オプションを更新し、共有設定が保存されていると信じるようにファイルが作成された場合にのみ機能します。

S3は共有設定を別の場所に隠しますか?もしそうなら、マルチフォンで機能するそれを追跡するためのコードがありますか?

御時間ありがとうございます

4

1 に答える 1

0

試す

/dbdata/databases/package.name/shared_prefs/package.name_preferences.xml(存在する場合はそれを使用)

それ以外は

new File(getFilesDir(), "../shared_prefs");

また

/data/data/package.name/shared_prefs/package.name_preferences.xml
于 2012-12-07T10:18:51.997 に答える