0

Androidアプリケーション用のXML設定ファイルがあります。アプリケーションが公開されると、アプリで公開する必要のあるデフォルト値がいくつかあります。また、ユーザーが設定を変更した後は、この設定ファイルの値を変更する必要があります。この機能を実装するためにXMLアセットファイルを使用しています。このファイルにはいくつかのデフォルト値があります。また、アプリを公開することで、デバイスにもコピーされます。しかし、このファイルに書き込んで戻ってきたとき、ファイルは変更されていないようです。ファイルマネージャーを使用してデバイス上のファイルを調べると、このファイルが変更されたことがなく、デフォルト値になっていることがわかります。私はmonondroidを使用しています。これは、xmlsettingファイルに書き込むために使用するコードです。

public bool writeToFile (string newXmlContent)
        {
            try {
                Stream sw= Application .Context .OpenFileOutput (AppConstants .xmlSettingFileName ,
                                                                 FileCreationMode .Private  );
                StreamWriter stw= new StreamWriter (sw);
                stw.Write (newXmlContent );
                stw.Flush ();
                XmlContent = newXmlContent ;
                stw.Close ();
                sw=null;
                return true;

            } catch (Exception ex) {
                Common .HandleException (ex);
                return false ;
            }

        }

これの何が問題になっていますか?

4

2 に答える 2

2

このために組み込みの機能を使用しない特別な理由はありますか?

次のように、変化する永続性の値を取得します。

var prefs = Application.Context.GetSharedPreferences("MyApp", FileCreationMode.Private);  
var somePref = prefs.GetString("PrefName", null);

それらを保存するには:

var prefEditor = prefs.Edit();
prefEditor.PutString("PrefName", "Some value");
prefEditor.Commit();
于 2012-12-07T07:25:32.053 に答える
0

設定ページを実装し、アプリケーションの設定を使用するには、Preferencesから使用するのが最善の方法であることがわかりました。詳細については、以下を参照してください。

developer.android.com/design/patterns/settings.html

developer.android.com/guide/topics/ui/settings.html

ただし、構成ファイルを実装したい場合は、この提案にアセットを使用できます。アセットファイルの書き込みと読み取りには、アプリケーションクラスをオーバーライドし、このクラスの1回限りのアセットファイルをsdまたはデバイスメモリにコピーする必要があります。この後、作業できます。このファイルで。

于 2012-12-07T12:00:16.530 に答える