Georggroenendaal
Georggroenendaal

Reputation: 314

String to sharedpreference android

I have an login screen for my app. (spinner, edittext, button) and i want to store the spinner selected item and the inputted text to sharedpreferences. to use everywhere in the app.

code

Button lgnbutton;
EditText lgnfield;
Spinner lgnspinner;

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

lgnbutton = (Button) findViewById(R.id.loginbutton);
lgnfield = (EditText) findViewById(R.id.loginfield);
lgnspinner = (Spinner) findViewById(R.id.loginspinner);





lgnbutton.setOnClickListener(new View.OnClickListener() {

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

        String ID = lgnfield.getText().toString();
        String Type = lgnspinner.getSelectedItem().toString();


        Intent myIntent = new Intent(LoginActivity.this, MainActivity.class);
        LoginActivity.this.startActivity(myIntent);
    }
});
}    
}

Also it would be nice to skip the loginactivity and proceed to the mainactivity.

Upvotes: 2

Views: 624

Answers (2)

ρяσѕρєя K
ρяσѕρєя K

Reputation: 132992

you can store login details and spinner selected item as in SharedPreferences

lgnbutton.setOnClickListener(new View.OnClickListener() {

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

         ID = lgnfield.getText().toString();
         Type = lgnspinner.getSelectedItem().toString();

        SharedPreferences.Editor prefsEditor = loginpreferences.edit();
        prefsEditor.putString("ID", ID);
        prefsEditor.putString("Type", Type);
        prefsEditor.commit();

        Intent myIntent = new Intent(LoginActivity.this, MainActivity.class);
        LoginActivity.this.startActivity(myIntent);
    }
});

and in onCreate of LoginActivity check if login details exist in SharedPreferences if yes then move to MainActivity as :

SharedPreferences loginpreferences;
String ID="",Type="";
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    loginpreferences = this.getSharedPreferences("loginPrefs", 
                                            MODE_WORLD_READABLE);

    ID = loginpreferences.getString("ID", "");
    Type = loginpreferences.getString("Type", "");

     if(!ID.equalsIgnoreCase("") && !Type.equalsIgnoreCase(""))
      {
        //move to MainActivity
      }else
     {
       //stay in LoginActivity
     }

Upvotes: 1

mihirjoshi
mihirjoshi

Reputation: 12201

Call this on spinner click

   SavePreferences("spinner_item",  mySpinner.getSelectedItem().toString());

Body of SavePreferences method.

     private void SavePreferences(String key, String value){
        SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(key, value);
        editor.commit();
       }

call this method to load spinner item.

private void LoadPreferences(){
    SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    String strSavedMem = sharedPreferences.getString("spinner_item", "");
     }

Upvotes: 2

Related Questions