title: using sharedpreferences for password - android
body: <p>sir, how do access my sharedpreferences file in other class? i want the application to have a default password of 1234, then change it if the user wants to. i've used this code and it works for the first time, but by the time i restart the application, it will revert back to the old password. thanks for help in advance</p>
  
  <pre><code>public class ChangePassword extends Activity {
  /** Called when the activity is first created. */
  EditText enterPassword, newPassword;
  public final String filename = "PasswordFile";
  String myPassword;
  SharedPreferences myFolder;
  public static String dataReturned = "";
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.changepassword);
      Button save = (Button)findViewById(R.id.btnSavePassword);
      enterPassword = (EditText)findViewById(R.id.etCurrentPassword);
      newPassword = (EditText)findViewById(R.id.etNewPassword);
      myFolder = getSharedPreferences(filename, 0);//a folder
      dataReturned = myFolder.getString("passwordKey", "");
      if(dataReturned.equals(""))
      {
          SharedPreferences.Editor editor = myFolder.edit();
          editor.putString("passwordKey", "1234"); //newData is new pass, passwordKey is key
          editor.commit();
      }
  
      save.setOnClickListener(new OnClickListener()
      {
          public void onClick(View arg0) {
              // TODO Auto-generated method stub
              String stringData = enterPassword.getText().toString().trim();
              dataReturned = myFolder.getString("passwordKey", ""); //key/def message
              //if stored password is equal to entered password
              if(dataReturned.equals(stringData))
              {
                  String newData = newPassword.getText().toString().trim();
                  SharedPreferences.Editor editor = myFolder.edit();
                  editor.putString("passwordKey", newData); //newData is new pass, passwordKey is key
                  editor.commit();
                  dataReturned  = myFolder.getString("passwordKey", "couldn't load data"); //get file from sharedpref
                  Toast.makeText(getApplicationContext(),
                          "Password successfully changed",
                          Toast.LENGTH_LONG).show();
                  enterPassword.setText("");
                  newPassword.setText("");
              }
              else 
              {
                  Toast.makeText(getApplicationContext(),
                          "Wrong password!",
                          Toast.LENGTH_LONG).show();
                  enterPassword.setText("");
                  newPassword.setText("");
              }
          }
      });
  }//oncreate()
  
  }
  </code></pre>
  
  <p>here is where i want to use the data saved in sharedpreferences in my other class</p>
  
  <pre><code>public void dispatch_button_action(View view){
      final EditText password_input = new EditText(this); // create an text input field
      password_input.setHint("Enter Password"); // put a hint in it
      password_input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); // change it to password type
  
      AlertDialog.Builder alertDialog = new Builder(this); // create an alert box
      alertDialog.setTitle("Enter Password"); // set the title
      alertDialog.setView(password_input);  // insert the password text field in the alert box
      alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { // define the 'OK' button
          public void onClick(DialogInterface dialog, int which) {
               String entered_password = password_input.getText().toString();
               String password = ChangePassword.myFolder.getString("passwordKey", "");
               if(!password.trim().equals(""))
               {
                   testPassAndSendSms(password.trim(), entered_password);
               }
               else
               {
                   testPassAndSendSms(my_password, entered_password);
               }
  
          } 
      });
      alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { // define the 'Cancel' button
          public void onClick(DialogInterface dialog, int which) {
              dialog.cancel();
          } 
      });
      alertDialog.show(); // show the alert box
  }//end dispatch_button
  </code></pre>