Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将EditText中的值存储在设备内存中,并从EditText中的内存恢复_Android_Login_Android Edittext_Android Memory - Fatal编程技术网

Android 将EditText中的值存储在设备内存中,并从EditText中的内存恢复

Android 将EditText中的值存储在设备内存中,并从EditText中的内存恢复,android,login,android-edittext,android-memory,Android,Login,Android Edittext,Android Memory,我有以下登录活动,在成功给出登录值后,它会跳转到我的Main活动。 我需要将2个EditText字段中的值存储在设备内存中,然后在下次运行applicationLoginActivity时将其还原回EditText字段 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity

我有以下登录活动,在成功给出登录值后,它会跳转到我的Main活动。 我需要将2个EditText字段中的值存储在设备内存中,然后在下次运行applicationLoginActivity时将其还原回EditText字段

@Override
protected void onCreate(Bundle savedInstanceState) {

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

    md = MediaPlayer.create(LoginActivity.this, R.raw.tick);

    etUsername = (EditText) findViewById(R.id.etUsername);
    etPassword = (EditText) findViewById(R.id.etPassword);
    final TextView tvRegisterLink = (TextView) findViewById(R.id.tvRegisterLink);
    final Button bLogin = (Button) findViewById(R.id.bSignIn);



    tvRegisterLink.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            if(lock==1) {

                lock = 0;
                md.release();
                md = MediaPlayer.create(LoginActivity.this, R.raw.tick);
                md.start();

                Intent registerIntent = new Intent(LoginActivity.this, RegisterActivity.class);
                LoginActivity.this.startActivity(registerIntent);
                finish();

            }
        }
    });

    bLogin.setOnClickListener(new View.OnClickListener() {
        @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
        @Override
        public void onClick(View v) {

            if (lock == 1) {

                connected=isConnectedToNet();

                if(connected) {

                    lock = 0;
                    final String username = etUsername.getText().toString();
                    final String password = etPassword.getText().toString();

                    md.release();
                    md = MediaPlayer.create(LoginActivity.this, R.raw.tick);
                    md.start();

                    /***Send username and password to server.Take back user's parameters ***/

                    Response.Listener<String> responseListener = new Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {

                            try {

                                JSONObject jsonResponse = new JSONObject(response);
                                boolean success = jsonResponse.getBoolean("success");

                                if (success) {

                                    String name = jsonResponse.getString("name");
                                    int age = jsonResponse.getInt("age");
                                    int score = jsonResponse.getInt("score");
                                    int level = jsonResponse.getInt("level");
                                    int online = jsonResponse.getInt("online");

                                    Intent intent = new Intent(LoginActivity.this, MainMenuActivity.class);
                                    intent.putExtra("username", username);
                                    intent.putExtra("score", score);
                                    intent.putExtra("level", level);
                                    intent.putExtra("online", online);
                                    LoginActivity.this.startActivity(intent);
                                    finish();

                                } else {

                                    AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this, R.style.myBackgroundStyle);
                                    builder.setMessage("Λάθος όνομα χρήστη ή κωδικός")
                                            .setNegativeButton("Ξαναπροσπάθησε", null)
                                            .create()
                                            .show();

                                    /***Set lock back to value '1' .***/

                                    Runnable runnable = new Runnable() {
                                        @Override
                                        public void run() {

                                            lock = 1;

                                        }

                                    };
                                    mHandler.postDelayed(runnable, 1000);
                                }

                            } catch (JSONException e) {

                                e.printStackTrace();

                            }
                        }
                    };

                    Response.ErrorListener error=new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {

                            recursive();

                        }
                    };
                    LoginRequest loginRequest = new LoginRequest(username, password, responseListener,error);
                    //RequestQueue queue = Volley.newRequestQueue(LoginActivity.this);
                    //queue.add(loginRequest);
                    Mysingleton.getmInstance(getApplicationContext()).addToRequestque(loginRequest);

                }

                else {

                    Snackbar snackbar = Snackbar.make(findViewById(R.id.bSignIn), "Δεν υπάρχει σύνδεση στο διαδίκτυο", Snackbar.LENGTH_LONG);
                    View sbView = snackbar.getView();

                    TextView textView = (TextView) sbView.findViewById(android.support.design.R.id.snackbar_text);
                    textView.setGravity(Gravity.CENTER);
                    sbView.setBackgroundResource(R.drawable.snackbar1);
                    textView.setTextColor(Color.BLACK);
                    textView.setTypeface(null, Typeface.BOLD_ITALIC);
                    textView.setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,R.drawable.image3,0);

                    snackbar.show();

                    lock=1;

                }
            }
        }
    });
}
如何做到这一点?

在共享首选项中保存用户名和密码

随时接收您需要的值


我通过内存理解设备的任何存储方式,如果是这样的话,你可以写一个包含内容的文件,然后从文件中读取。是的。无论如何,我都可以使用存储。请使用共享首选项
SharedPreferences.Editor editor = getSharedPreferences("LOGIN_DETAILS", MODE_PRIVATE).edit();
editor.putString("name", "Elena");
editor.putInt("password", "123456");
editor.commit();
 SharedPreferences prefs = getSharedPreferences("LOGIN_DETAILS", MODE_PRIVATE); 

  String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
  String password = prefs.getString("password","0"); //0 is the default value.