Java 如何使用“保存”和“加载”按钮在多个文本框中保存信息

Java 如何使用“保存”和“加载”按钮在多个文本框中保存信息,java,android,textbox,persistence,Java,Android,Textbox,Persistence,我正在尝试创建一个简单的Android程序,其中包含姓名、地址、电话号码等文本框。当用户输入这些信息并点击save时,它会清除文本框,当用户点击load按钮时,它会检索信息。我知道如何使用一个编辑文本框,但我不知道如何使用多个编辑文本框。我可以在一个try/catch语句中执行此操作,还是需要多个语句?这就是我现在拥有的: public class MainActivity extends ActionBarActivity { private EditText textBoxName;

我正在尝试创建一个简单的Android程序,其中包含姓名、地址、电话号码等文本框。当用户输入这些信息并点击save时,它会清除文本框,当用户点击load按钮时,它会检索信息。我知道如何使用一个编辑文本框,但我不知道如何使用多个编辑文本框。我可以在一个try/catch语句中执行此操作,还是需要多个语句?这就是我现在拥有的:

public class MainActivity extends ActionBarActivity {
    private EditText textBoxName;
    private EditText textBoxAddress;
    private EditText textBoxCity;
    private EditText textBoxPhone;
    private EditText textBoxEmail;
    private static final int READ_BLOCK_SIZE = 100;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textBoxName = (EditText) findViewById(R.id.txtName);
        textBoxAddress = (EditText) findViewById(R.id.txtAddress);
        textBoxCity = (EditText) findViewById(R.id.txtCity);
        textBoxPhone = (EditText) findViewById(R.id.txtPhone);
        textBoxEmail = (EditText) findViewById(R.id.txtEmail);
        Button saveBtn = (Button) findViewById(R.id.btnSave);
        Button loadBtn = (Button) findViewById(R.id.btnLoad);

        saveBtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String strName = textBoxName.getText().toString();
                String strAddress = textBoxAddress.getText().toString();
                String strCity = textBoxCity.getText().toString();
                String strPhone = textBoxPhone.getText().toString();
                String strEmail = textBoxEmail.getText().toString();
                try {
                    FileOutputStream fOut = openFileOutput("textfile.txt", MODE_WORLD_READABLE);

                    OutputStreamWriter osw = new OutputStreamWriter(fOut);

                    //write the string to the file

                    osw.write(strName);

                    osw.flush();

                    osw.close();

                    //display file saved messages
                    Toast.makeText(getBaseContext(), "File saved successfully!",
                            Toast.LENGTH_SHORT).show();

                    //clears the EditText
                    textBoxName.setText("");
                    textBoxAddress.setText("");
                    textBoxCity.setText("");
                    textBoxPhone.setText("");
                    textBoxEmail.setText("");
                }
                catch (IOException ioe)
                {
                    ioe.printStackTrace();
                }


            }
        });

        loadBtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                try
                {
                    FileInputStream fIn = openFileInput("textfile.txt");
                    InputStreamReader isr = new InputStreamReader(fIn);

                    char[] inputBuffer = new char[READ_BLOCK_SIZE];
                    String s = "";

                    int charRead;
                    while ((charRead = isr.read(inputBuffer))>0)
                    {
                        //convert the chars to a String
                        String readString = String.copyValueOf(inputBuffer, 0, charRead);
                        s += readString;

                        inputBuffer = new char[READ_BLOCK_SIZE];
                    }
                    //set the EditText to the text that has been read
                    textBoxName.setText(s);
                    textBoxAddress.setText(s);
                    textBoxCity.setText(s);
                    textBoxPhone.setText(s);
                    textBoxEmail.setText(s);

                    Toast.makeText(getBaseContext(), "File loaded successfully!",
                            Toast.LENGTH_SHORT).show();
                }
                catch (IOException ioe)
                {
                    ioe.printStackTrace();
                }
            }
        });
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

}

您可以使用共享首选项在Android中存储和检索信息。

为此,您可以使用共享首选项。当用户需要将用户名和密码等信息本地保存到任何登录表单中时,只需将该值放入共享首选项并加载即可