29/07/2013

Android Shared Preferences




public class MainActivity extends Activity
{
    Button btnSignedIn, btnClearData;
    CheckBox chkSignedIn;
    EditText etUsername, etPassword;

    private static final String PREFRENCES_NAME = "myprefrences";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        etUsername = (EditText) findViewById(R.id.etusername);
        etPassword = (EditText) findViewById(R.id.etpass);
        chkSignedIn = (CheckBox) findViewById(R.id.chksingin);

        SharedPreferences settings = getSharedPreferences(PREFRENCES_NAME,Context.MODE_PRIVATE);
        String name = settings.getString("name", "");
        String password = settings.getString("pwd", "");

        etUsername.setText(name);
        etPassword.setText(password);

        btnSignedIn = (Button) findViewById(R.id.btnsignin);
        btnSignedIn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                String strName = etUsername.getText().toString();
                String strPass = etPassword.getText().toString();

                if (null == strName || strName.trim().length() == 0)
                {
                    etUsername.setError("Enter Your Name");
                    etUsername.requestFocus();
                }
                else if (null == strPass || strPass.trim().length() == 0)
                {
                    etPassword.setError("Enter Your Password");
                    etPassword.requestFocus();
                }
                else
                {
                    if (chkSignedIn.isChecked())
                    {

                        showToast("User Name and Password Saved!!!");
                        SharedPreferences settings = getSharedPreferences(PREFRENCES_NAME, Context.MODE_PRIVATE);
                        settings.edit().putString("name", strName).putString("pwd", strPass).commit();
                       
                    }
                    else
                    {
                        showToast("Tick keep me logged in!!!");

                    }

                }
            }
        });

        btnClearData = (Button) findViewById(R.id.btnclear);
        btnClearData.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v)
            {
                etUsername.setText("");
                etUsername.requestFocus();
                etPassword.setText("");
                chkSignedIn.setChecked(false);

                SharedPreferences settings = getSharedPreferences(PREFRENCES_NAME, Context.MODE_PRIVATE);
                settings.edit().clear().commit();
            }
        });

    }

    private void showToast(String msg) {
        Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show();

    }
}

Click Sample Source Code Link