Reputation: 314
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
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
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