package com.meetdilse.store.ui.activity;
import android.os.Bundle;
import android.view.View;
import com.meetdilse.store.R;
import com.meetdilse.store.base.BaseActivity;
import com.meetdilse.store.base.OkHttp;
import com.meetdilse.store.data.Login;
import com.meetdilse.store.prefs.UserPrefs;
import com.meetdilse.store.utils.ToastUtil;
/**
* 登陆
*/
public class LoginActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
//清除缓存s
UserPrefs.clear();//sharepreference清除缓存
//关闭其他Activity
finishAll(LoginActivity.class);//这里是广播的方法,到了这个界面就都关闭
//账号登陆
findViewById(R.id.button_login).setOnClickListener(v -> startActivity(LoginAccountActivity.class));//点击按键跳转界面
//一键登陆
findViewById(R.id.bt_entry).setOnClickListener(this::oneLoginClickListener);
}//这个this::就是调用方法吧
private void oneLoginClickListener(View view) {
OkHttp.create(this).oneClickLogin(5, "android").showProgress().enqueue((call, httpRes) -> {//请求数据
ToastUtil.out(httpRes.getMsg());//吐司
if (httpRes.isSuccessful()) {//如果请求成功
Login login = httpRes.dataFromObj(Login.class);//json解析
UserPrefs.putToken(login.getToken());//存数据
UserPrefs.putUserId(login.getUser().getId());
startActivity(MainActivity.class);//跳转界面
finish();//销毁该activity,就是点击返回键,不会出现该界面了
}
});
}
}
封装了下面这个工具类
UserPrefs
package com.meetdilse.store.prefs;
import android.content.Context;
import android.content.SharedPreferences;
import android.text.TextUtils;
import com.meetdilse.store.BaseApplication;
/**
* 2022/01/13 15:20.
* <p>
* 用户配置
*/
public class UserPrefs {
private static SharedPreferences sUserPrefs;
private static SharedPreferences getSharedPrefs() {
if (sUserPrefs == null) {
sUserPrefs = BaseApplication.getContext().getSharedPreferences("user_prefs", Context.MODE_PRIVATE);
}
return sUserPrefs;
}
public static boolean isLogin() {
return !TextUtils.isEmpty(getToken());
}
public static void putToken(String token) {
getSharedPrefs().edit().putString("token", token).apply();//主要就是这个,put
}
public static String getToken() {
return getSharedPrefs().getString("token", null);//这个就是get
}
public static void putUserId(int userId) {
getSharedPrefs().edit().putInt("user_id", userId).apply();
}
public static int getUserId() {
return getSharedPrefs().getInt("user_id", 0);
}
public static String getStringUserId() {
return String.valueOf(0);
}
public static void clear() {
getSharedPrefs().edit().clear().apply();
}
}