UserService.java 8.86 KB
package com.cnlive.goldenline.util;

import android.content.Context;
import android.content.SharedPreferences;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

import com.cnlive.goldenline.model.User;

/**
 * Created by Administrator on 2016/5/13.
 */
public class UserService {

    private final String KEY_DEFAULT_ACCOUNT = "defaultAccount";
    private final String KEY_DEFAULT_PWD = "pwd";

    private final String KEY_USER_DATA_ADDRESS = "address";
    private final String KEY_USER_DATA_AVATAR = "avatar";
    private final String KEY_USER_DATA_BIRTHDAY = "birthday";
    private final String KEY_USER_DATA_RENREN_UID = "cn_renrenUid";
    private final String KEY_USER_DATA_CNTOKEN = "cn_token";
    private final String KEY_USER_CN_UID = "cn_uid";
    private final String KEY_USER_DATA_CONSTELLATION = "constellation";
    private final String KEY_USER_DATA_GENDER = "gender";
    private final String KEY_USER_DATA_GOLD = "goldBalance";
    private final String KEY_USER_MASTER = "master";
    private final String KEY_USER_DATA_LISTTIME = "listtime";
    private final String KEY_USER_DATA_MICROBLOG = "microblog";
    private final String KEY_USER_DATA_MOBILE = "mobile";
    private final String KEY_USER_DATA_NICKNAME = "nickname";
    private final String KEY_USER_DATA_POINT = "point";
    private final String KEY_USER_DATA_QQ = "qq";
    private final String KEY_USER_DATA_SIGNATURE = "signature";
    private final String KEY_USER_DATA_SUPERVIP = "superVip";
    private final String KEY_USER_TOKEN = "token";
    private final String KEY_USER_DATA_TYPE = "type";
    private final String KEY_USER_DATA_USER_ID = "uid";
    private final String KEY_USER_DATA_ACCOUNT_NAME = "uname";
    private final String KEY_USER_DATA_VIP = "vip";
    private final String KEY_USER_VIP_LEVEL = "viplevel";
    private final String KEY_USER_VIP_DESC = "ipDescribe";
    private final String KEY_USER_DATA_WECHAT = "wechat";

    private final String share_name = "Gold_User";//sharedPreference的名字

    private static UserService mUser;

    private Context context;
    private SharedPreferences sharedPreferences;

    public UserService(@NonNull Context context) {
        this.context = context;
        if (sharedPreferences==null){
            sharedPreferences=context.getSharedPreferences(share_name,Context.MODE_PRIVATE);
        }
    }

    public void autoLogin(boolean autoLogin){//  设置 是否自动登录
        SharedPreferences.Editor editor=sharedPreferences.edit();
        editor.putBoolean(KEY_DEFAULT_ACCOUNT,autoLogin);
        editor.commit();
    }

    public boolean isAutoLogin(){//用户状态  是否登录
        boolean b=sharedPreferences.getBoolean(KEY_DEFAULT_ACCOUNT, false);
        return b;
    }

    public void updateNick(String nick){   //修改昵称
        SharedPreferences.Editor editor=sharedPreferences.edit();
        editor.putString(KEY_USER_DATA_NICKNAME, nick);
        editor.commit();
    }
    public void updateAvatar(String avatar){  //修改头像
        SharedPreferences.Editor editor=sharedPreferences.edit();
        editor.putString(KEY_USER_DATA_AVATAR,avatar );
        editor.commit();
    }
    public void updateBack(String back){   //修改签名
        SharedPreferences.Editor editor=sharedPreferences.edit();
        editor.putString(KEY_USER_DATA_SIGNATURE,back );
        editor.commit();
    }
    public void updateMobile(String newMoble){  //修改手机号
        SharedPreferences.Editor editor=sharedPreferences.edit();
        editor.putString(KEY_USER_DATA_MOBILE, newMoble);
        editor.commit();
    }
    public void updateGlod(String glod){//更新金币
        SharedPreferences.Editor editor=sharedPreferences.edit();
        editor.putString(KEY_USER_DATA_GOLD, glod);
        editor.commit();
    }
    public void updateAddress(String address){//位置
        SharedPreferences.Editor editor=sharedPreferences.edit();
        editor.putString(KEY_USER_DATA_ADDRESS, address);
        editor.commit();
    }

    public void upDateSex(String sex){//更新性别
        SharedPreferences.Editor editor=sharedPreferences.edit();
        editor.putString(KEY_USER_DATA_GENDER, sex);
        editor.commit();
    }


    public void setUserInfo(@Nullable User user, String pwd){//更新 保存用户信息
        SharedPreferences.Editor editor=sharedPreferences.edit();
        if (user!=null){
            editor.putBoolean(KEY_DEFAULT_ACCOUNT, true);
            editor.putString(KEY_DEFAULT_PWD, pwd);

            editor.putString(KEY_USER_DATA_USER_ID, user.getUid());
            editor.putString(KEY_USER_DATA_ACCOUNT_NAME, user.getUname());
            editor.putString(KEY_USER_DATA_NICKNAME, user.getNickname());
            editor.putString(KEY_USER_DATA_AVATAR, user.getAvatar());
            editor.putString(KEY_USER_DATA_GENDER, user.getGender());
            editor.putString(KEY_USER_DATA_MOBILE, user.getMobile());
            editor.putString(KEY_USER_DATA_ADDRESS, user.getAddress());
            editor.putString(KEY_USER_DATA_POINT, user.getPoint());
            editor.putString(KEY_USER_DATA_CNTOKEN, user.getCn_token());
            editor.putString(KEY_USER_DATA_RENREN_UID, user.getCn_renrenUid());

            editor.putString(KEY_USER_DATA_QQ, user.getQq());
            editor.putString(KEY_USER_DATA_WECHAT, user.getWechat());
            editor.putString(KEY_USER_DATA_MICROBLOG,user.getMicroblog());

            editor.putString(KEY_USER_DATA_BIRTHDAY,user.getBirthday());
            editor.putString(KEY_USER_DATA_SIGNATURE,user.getSignature());
            editor.putString(KEY_USER_DATA_CONSTELLATION,user.getConstellation());
            editor.putString(KEY_USER_DATA_TYPE,user.getType());

            editor.putString(KEY_USER_DATA_LISTTIME,user.getLasttime());
            editor.putString(KEY_USER_DATA_VIP,user.getVip());
            editor.putString(KEY_USER_DATA_SUPERVIP,user.getSuperVip());
            editor.putString(KEY_USER_DATA_GOLD,user.getGoldBalance());
            editor.putString(KEY_USER_VIP_LEVEL,user.getVipLevel());
            editor.putString(KEY_USER_VIP_DESC,user.getVipDescribe());
            editor.putString(KEY_USER_TOKEN, user.getToken());
            editor.putString(KEY_USER_MASTER,user.getMaster());
            editor.putString(KEY_USER_CN_UID,user.getCn_uid());

        }
        editor.commit();
    }

    @NonNull
    public User getUserInfo(){//获取用户信息
        User user = new User();
        user.setUid(sharedPreferences.getString(KEY_USER_DATA_USER_ID, ""));
        user.setUname(sharedPreferences.getString(KEY_USER_DATA_ACCOUNT_NAME, ""));
        user.setNickname(sharedPreferences.getString(KEY_USER_DATA_NICKNAME, ""));
        user.setAvatar(sharedPreferences.getString(KEY_USER_DATA_AVATAR, ""));
        user.setGender(sharedPreferences.getString(KEY_USER_DATA_GENDER, ""));
        user.setMobile(sharedPreferences.getString(KEY_USER_DATA_MOBILE, ""));
        user.setAddress(sharedPreferences.getString(KEY_USER_DATA_ADDRESS, ""));
        user.setPoint(sharedPreferences.getString(KEY_USER_DATA_POINT, ""));
        user.setCn_token(sharedPreferences.getString(KEY_USER_DATA_CNTOKEN, ""));
        user.setCn_renrenUid(sharedPreferences.getString(KEY_USER_DATA_RENREN_UID, ""));

        user.setQq(sharedPreferences.getString(KEY_USER_DATA_QQ, ""));
        user.setWechat(sharedPreferences.getString(KEY_USER_DATA_WECHAT, ""));
        user.setMicroblog(sharedPreferences.getString(KEY_USER_DATA_MICROBLOG, ""));

        user.setBirthday(sharedPreferences.getString(KEY_USER_DATA_BIRTHDAY, ""));
        user.setSignature(sharedPreferences.getString(KEY_USER_DATA_SIGNATURE, ""));
        user.setConstellation(sharedPreferences.getString(KEY_USER_DATA_CONSTELLATION, ""));
        user.setType(sharedPreferences.getString(KEY_USER_DATA_TYPE, ""));

        user.setLasttime(sharedPreferences.getString(KEY_USER_DATA_LISTTIME, ""));
        user.setVip(sharedPreferences.getString(KEY_USER_DATA_VIP, ""));
        user.setSuperVip(sharedPreferences.getString(KEY_USER_DATA_SUPERVIP,""));
        user.setGoldBalance(sharedPreferences.getString(KEY_USER_DATA_GOLD, ""));
        user.setVipLevel(sharedPreferences.getString(KEY_USER_VIP_LEVEL, ""));
        user.setVipDescribe(sharedPreferences.getString(KEY_USER_VIP_DESC,""));
        user.setToken(sharedPreferences.getString(KEY_USER_TOKEN,""));
        user.setMaster(sharedPreferences.getString(KEY_USER_MASTER,""));
        user.setCn_uid(sharedPreferences.getString(KEY_USER_CN_UID,""));

        return user;
    }

    public void clearUser(@Nullable User user){
        SharedPreferences.Editor editor=sharedPreferences.edit();
        if (user != null){
            editor.clear();
            editor.commit();
        }
    }

    public void logout(){
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.clear();
        editor.putBoolean(KEY_DEFAULT_ACCOUNT, false);
        editor.commit();

    }
}