赞
踩
用户偏好设置是android应用中使用最频繁的本地数据存储方式。
比如自动登录,使用引导,记住账号,记住密码,应用设置等等。
SharedPreferences使用是十分简单的
1. 获取SharedPreferences
- private String SHARED_PREFERENCES_NAME = "USER";
- SharedPreferences sp_user = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
2. 写入数据
- public boolean setLocalUser(User user){
- if(user == null)
- return true;
- try{
- SharedPreferences.Editor editor = sp_user.edit();
- editor.putString(USER_NAME, user.getName());
- editor.putString(USER_PHONE, user.getPhone());
- editor.putString(ORGANISATION, user.getOrganisation());
- editor.putString(EMAIL, user.getEmail());
- editor.putString(ADDRESS, user.getAddress());
- editor.putString(WEBSITE, user.getWebsite());
- editor.putString(USER_IM, user.getIm());
- editor.putString(NICKNAME, user.getNickname());
-
- editor.commit();
- }catch(Exception exception){
- return true;
- }
-
- return false;
- }

3. 使用
- public User getLocalUser(){
-
- User user = new User();
-
- user.setName(sp_user.getString(USER_NAME, ""));
- user.setPhone(sp_user.getString(USER_PHONE, ""));
- // user.setState(sp_user.getString(USER_STATE, ""));
- user.setOrganisation(sp_user.getString(ORGANISATION, ""));
- user.setEmail(sp_user.getString(EMAIL, ""));
- user.setAddress(sp_user.getString(ADDRESS, ""));
- user.setWebsite(sp_user.getString(WEBSITE, ""));
- user.setIm(sp_user.getString(USER_IM, ""));
- user.setNickname(sp_user.getString(NICKNAME, ""));
-
- if(user.getPhone().equals("")){
- user.setPhone(Utils.getSimPhone());
- }
-
- return user;
- }

- package com.gopain.TYT.util;
-
- import com.gopain.TYT.beans.User;
-
- import android.content.Context;
- import android.content.SharedPreferences;
-
- public class PreferencesManager {
-
- public static final String SHARED_PREFERENCES_NAME = "SWIPE_LIST_VIEW_SAMPLE_PREFERENCES";
-
- public static final String USER_NAME = "USER_NAME";
- public static final String USER_PHONE = "USER_PHONE";
- public static final String USER_STATE = "USER_STATE";
- public static final String ORGANISATION = "ORGANISATION";
- public static final String EMAIL = "EMAIL";
- public static final String ADDRESS = "ADDRESS";
- public static final String WEBSITE = "WEBSITE";
- public static final String USER_IM = "USER_IM";
- public static final String NICKNAME = "NICKNAME";
-
- /**
- * Instance
- */
- private static PreferencesManager preferencesManager = null;
- // private static PreferencesManager preferences_user = null;
- /**
- * Shared Preferences
- */
- private SharedPreferences sharedPreferences;
- private SharedPreferences sp_user;
- /**
- * Preferences variables
- */
- private static final String SHARED_PREFERENCES_SHOW_ABOUT = "SHARED_PREFERENCES_SHOW_ABOUT";
- private static final String SHARED_PREFERENCES_LOCAL_USERINFO = "LOCAL_USERINFO";
-
- /**
- * Constructor
- *
- * @param context
- */
- private PreferencesManager(Context context) {
- sharedPreferences = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
- sp_user = context.getSharedPreferences(SHARED_PREFERENCES_LOCAL_USERINFO, Context.MODE_PRIVATE);
- }
-
- public static PreferencesManager getInstance(Context context) {
- if (preferencesManager == null) {
- preferencesManager = new PreferencesManager(context);
- }
- return preferencesManager;
- }
-
- // public static PreferencesManager getEntity(Context context) {
- // if (preferences_user == null) {
- // preferences_user = context.getSharedPreferences(SHARED_PREFERENCES_LOCAL_USERINFO, Context.MODE_PRIVATE);
- // }
- // return preferences_user;
- // }
-
- public void setShowAbout(boolean showAbout) {
- SharedPreferences.Editor editor = sharedPreferences.edit();
- editor.putBoolean(SHARED_PREFERENCES_SHOW_ABOUT, showAbout);
- editor.commit();
- }
-
- public boolean getShowAbout() {
- return sharedPreferences.getBoolean(SHARED_PREFERENCES_SHOW_ABOUT, true);
- }
-
-
- public boolean setLocalUser(User user){
- if(user == null)
- return true;
- try{
- SharedPreferences.Editor editor = sp_user.edit();
- editor.putString(USER_NAME, user.getName());
- editor.putString(USER_PHONE, user.getPhone());
- editor.putString(ORGANISATION, user.getOrganisation());
- editor.putString(EMAIL, user.getEmail());
- editor.putString(ADDRESS, user.getAddress());
- editor.putString(WEBSITE, user.getWebsite());
- editor.putString(USER_IM, user.getIm());
- editor.putString(NICKNAME, user.getNickname());
-
- editor.commit();
- }catch(Exception exception){
- return true;
- }
-
- return false;
- }
-
- public User getLocalUser(){
-
- User user = new User();
-
- user.setName(sp_user.getString(USER_NAME, ""));
- user.setPhone(sp_user.getString(USER_PHONE, ""));
- // user.setState(sp_user.getString(USER_STATE, ""));
- user.setOrganisation(sp_user.getString(ORGANISATION, ""));
- user.setEmail(sp_user.getString(EMAIL, ""));
- user.setAddress(sp_user.getString(ADDRESS, ""));
- user.setWebsite(sp_user.getString(WEBSITE, ""));
- user.setIm(sp_user.getString(USER_IM, ""));
- user.setNickname(sp_user.getString(NICKNAME, ""));
-
- if(user.getPhone().equals("")){
- user.setPhone(Utils.getSimPhone());
- }
-
- return user;
- }
-
- }

我的目的是把一个用户的名片信息存到本地。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。