《匿名》第六课—-基本界面跳转
标签(空格分隔): 匿名
当前token过期的情况下就跳转登录界面
因此我们首先要获取当前的token,用户一打开程序肯定就要判断用户是不是老用户或者是不是新用户,要是老用户就判断留下来的token,对应跳转到AtyTimeline这个界面,当然这个界面显示的内容可能需要根据token到服务器或者本地数据中去获取,当然要是用户是新用户的话,就要跳转至登陆界面。
MainActivity.java
package com.example.secret1;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.example.secret1.atys.AtyLogin;
import com.example.secret1.atys.AtyTimeline;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String token = Config.getCachedToken(this);// 拿到token
if (token != null) {
// 跳转到呈现所有消息的界面
Intent i = new Intent(this, AtyTimeline.class);
i.putExtra(Config.KEY_TOKEN, token);// 启动之前塞几个数据,把token传过去
startActivity(i);// 开始跳转
} else {// 启动登陆界面
Intent i = new Intent(this, AtyLogin.class);
startActivity(i);
}
}
}
Config.java
package com.example.secret1;
import android.content.Context;
import android.content.SharedPreferences.Editor;
public class Config {
public static final String APP_ID = "com.xqf.secret";// 當前應用程序的ID,也可以應用當前應用程序的包名
public static final String KEY_TOKEN = "token";
/**
* 獲取到一個緩存token的方法,token就是是否登錄過期的標識。用於判斷看是否應該跳轉至登錄頁面
*
* @param context
* @return
*/
public static String getCachedToken(Context context) {// context可以理解所有资源的总仓库,可以从中获取到各种资源
return context.getSharedPreferences(APP_ID, context.MODE_PRIVATE)
.getString(KEY_TOKEN, null);// 使用私有的方式
// 光是上面这一句就够喝好久了,也是书上已经写过的,get方法第一个参数是键,第二个参数是返回 的默认值
}
/**
* 将token缓存了
*
* @param context
* 上下文
* @param token
* 标识
*/
public static void cacheToken(Context context, String token) {
Editor e = context.getSharedPreferences(APP_ID, context.MODE_PRIVATE)
.edit();// 獲取到SharedPreferences的Editor
e.putString(KEY_TOKEN, token);// 鍵值對
e.commit();
}
}