2012-12-22 69 views
2

我有我的应用程序的登录屏幕。 (微调,编辑文本,按钮),我想存储微调选择项目和输入文本共享首选项。在应用程序中随处使用。String to sharedpreference android

代码

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); 
    } 
}); 
}  
} 

而且这将是很好跳过loginactivity并继续在MainActivity。

+0

[看这个tuts](http://samir-mangroliya.blogspot.in/p/android-shared-preferences.html) –

+0

你需要保存它变成共享首选项,或者你可以将它作为一个额外的传递? – jcw

+0

我需要每次重新启动应用程序。 – Georggroenendaal

回答

1

您可以登录详细信息及微调所选项目存储在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); 
    } 
}); 

LoginActivity检查onCreate如果SharedPreferences存在的登录信息,如果是,则移动到MainActivity为:

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 
    } 
+0

谢谢,但我得到一个错误loginpreferences.edit(); – Georggroenendaal

+0

@Georggroenendaal:你在哪里得到错误: –

+0

loginpreferences无法解决 – Georggroenendaal

2

调用此上微调点击

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

SavePreferences方法的身体。

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

调用此方法加载微调项目。

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