0

edittext から文字列を含むファイルを保存してからロードしたいと考えています。

どういうわけかこれはうまくいきません。保存されたファイルが見つからないか、保存されていないと思います(ログによると)。

これを修正する方法は?

保存コードは次のとおりです。

Log.i("Watcher","Saving...");
ProgressDialog dSave = ProgressDialog.show(this, "Saving", "SAving. Please wait...",false);             
String fName = "WatchConf";
EditText servPath = (EditText)findViewById(R.id.ServerPath);
String sServPath = servPath.getText().toString();

try {
    FileOutputStream fos = openFileOutput(fName, Context.MODE_PRIVATE);
        fos.write(sServPath.getBytes());
        fos.flush();
        fos.close();
        Log.d("Watcher","Saved");

        File fCheck = new File(getFilesDir()+fName);
        if(fCheck.exists()){
            Log.i("Watcher","Saved successfully");
        }

ロードするコード:

Log.i("Watcher","Loading...");
        String fName = "WatchConf";
        EditText servPath = (EditText)findViewById(R.id.ServerPath);

        try {           
            InputStreamReader isr = new InputStreamReader(openFileInput(getFilesDir()+"/"+fName));
            char[] cRead = new char[100];
            isr.read(cRead);
            String sRead = new String(cRead);
            servPath.setText(sRead);
            isr.close();
            Log.i("Watcher","Loaded");
4

2 に答える 2

1

あなたは書いたことがありますか:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
于 2012-04-25T13:23:09.277 に答える
0

機能しなかった理由は、文字列をビューにロードするのが早すぎたためです。

setContentView(R.layout.main);問題を解決した後にロードします。

于 2012-04-26T08:48:06.083 に答える