0

サーバーの IP とパスを Android フォームの Shared プリファレンスで保存し、後で別の Java プログラムでそれらの値を取得したいと考えています。サーバーに接続してファイルをダウンロードします。等

したがって、最初に共有設定値をNew.javaに出力しようとしました。値はSetting.javaに保存されています。最初の Java ファイルは 2 番目のファイルを呼び出しており、「ようこそ」が出力されていますが、共有設定に保存されている値は表示されません。印刷されます。

以下は私のファイルです:

設定.java

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Setting extends Activity {

    protected static final Toast NULL = null;
    Button btn1;

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.setting_page);


        btn1 = (Button) findViewById(R.id.btn1);
        final EditText  ip  = (EditText) findViewById(R.id.ip);
        final EditText  path  = (EditText)findViewById(R.id.path);





        btn1.setOnClickListener(new OnClickListener() {


            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub


                SharedPreferences settings = getSharedPreferences("IP_PATH",0);
                SharedPreferences.Editor editor = settings.edit();
                editor.putBoolean("flag",true);
                editor.putString("IP",ip.getText().toString());
                editor.putString("PATH",path.getText().toString());
                editor.commit();






                Intent i = new Intent(Setting.this,New.class);
                //intent.putExtra("username",getIntent().getExtras().getString("username").toString());
                startActivity(i);

            }

        });

    }

}

New.java

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

public class New extends Activity {


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.data);
       //System.out.println("Welcome to the home page !!");

        TextView tv = (TextView) findViewById(R.id.TextView01);
        tv.setText("Welcome");

        SharedPreferences prfs = getSharedPreferences("IP_PATH", 0);
        String s = prfs.getString("IP", "");

        Toast.makeText(New.this, s , Toast.LENGTH_LONG).show();
    }


}

エラー:

06-16 00:06:25.900: I/Adreno200-EGL(23644): Local Patches: NONE
06-16 00:06:25.900: I/Adreno200-EGL(23644): Reconstruct Branch: NOTHING
06-16 00:06:37.740: D/-heap(23644): GC_CONCURRENT freed 152K, 4% free 8035K/8327K, paused 13ms+2ms, total 49ms
06-16 00:17:27.690: E/Trace(24124): error opening trace file: No such file or directory (2)
06-16 00:17:28.030: I/Adreno200-EGL(24124): <qeglDrvAPI_eglInitialize:299>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_JB_REL_RB1.04.01.01.06.043_msm7627a_JB_REL_RB1.2_Merge_release_AU (Merge)
06-16 00:17:28.030: I/Adreno200-EGL(24124): Build Date: 01/29/13 Tue
06-16 00:17:28.030: I/Adreno200-EGL(24124): Local Branch: 
06-16 00:17:28.030: I/Adreno200-EGL(24124): Remote Branch: m/jb_rel_rb1.2
06-16 00:17:28.030: I/Adreno200-EGL(24124): Local Patches: NONE
06-16 00:17:28.030: I/Adreno200-EGL(24124): Reconstruct Branch: NOTHING
06-16 00:17:36.120: D/-heap(24124): GC_CONCURRENT freed 174K, 5% free 7985K/8327K, paused 17ms+2ms, total 40ms

参照

4

1 に答える 1

0

MODE_WORLD_READABLE共有設定を取得する際に 2 番目のパラメーターとして渡します。

SharedPreferences settings = getSharedPreferences("IP_PATH",MODE_WORLD_READABLE);
于 2013-06-15T19:09:06.730 に答える