前段時間傻乎乎的用sqllite來儲存使用者的記住密碼,用sqlite是可以儲存,但當時用時就感覺怪怪的,那時候還不知道SharedPreferences,我們在網頁上的話,一般都是用cookies來儲存的,Android的話應該用這個來儲存的比較多。我的個人感覺SharedPreferences要比我之前那個要好的多了。
MainActivity.java
public class MainActivity extends Activity {PreferencesService service; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); service=new PreferencesService(this); save(); } void save(){ service.save("caibinsong",21); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; }}
PreferencesService.java
package com.example.sharedpreferences;import java.util.HashMap;import java.util.Map;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;public class PreferencesService {private Context context;public PreferencesService(Context context){this.context=context;}/* * 儲存name和age * */public void save(String name,Integer age){SharedPreferences preferences =context.getSharedPreferences("itcast", Context.MODE_PRIVATE);Editor editor =preferences.edit();editor.putString("name",name);editor.putInt("age", age);editor.commit();}/* * 擷取值 * */public Map getPreferences(){Map params=new HashMap();SharedPreferences preferences=context.getSharedPreferences("itcast", Context.MODE_PRIVATE);params.put("name", preferences.getString("name", ""));params.put("age", String.valueOf(preferences.getInt("age", 0)));return params;}}