《匿名》第六課----基本介面跳轉

飄過的小熊發表於2016-08-04

《匿名》第六課—-基本介面跳轉

標籤(空格分隔): 匿名


當前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();
    }
}

相關文章