帳號存取
您可以透過以下幾個API進行註冊、登入、帳號維護、登出等功能。
註冊新帳號
Devapi.register(JSONObject postData, DevResponseListener callBack)
登入
Devapi.login(String account, String password, DevResponseListener cb)
更改密碼
Devapi.updatePassword(String oldPassword, String newPassword, DevResponseListener cb)
登出
Devapi.logout(DevResponseListener cb)
保持登入
每次都要登入超麻煩?SDK已經幫你把登入後的token存下來了
在大部分的手機應用中,如果每次都要登入對使用者是一種負擔,
因此SDK預設將登入後的token存起來,在呼叫 Devapi.init()時自動讀入。
如果不想要此功能,可以使用DevApi.setLoginKeeping(false)取消預設行為。
你可以透過下列方式獲得APP的用戶的登入狀態
boolean isLogin = Devapi.isLogin()
✽token是存在SharedPreferences,如果使用者清除應用程式資料,token也會被一併清除。
✽你也可以使用前章所提的request實現帳號存取功能。但請特別注意,當登入以及登出時,server會回傳新token給你,你必須自行更新token狀態。
登入時你呼叫Devapi.setMemberToken("NEW_TOKEN")來設定新的token。登出時,呼叫Devapi.setMemberToken(null)。
Example
註冊範例
//在postData內放入所需參數
JSONObject postData = new JSONObject();
postData.put("accName", "YOUR_ACCOUNT");
postData.put("passwd", "YOUR_PASSWORD");
//送出http請求
DevApi.register(postData, new DevResponseListener() {
@Override
public void onSuccess(JSONObject result) {
try{
//檢查回傳值,0表示正確
if (result.getInt("code") == 0) {
//取得回傳內容
JSONObject obj = result.getJSONObject("value");
int accountId = obj.getInt("id");
//do something...
}else{
//發生錯誤,將錯誤訊息印出來。
Toast.makeText(MainActivity.this, result.getString("message"), Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
登入範例
if(!Devapi.isLogin()){
try {
//送出http請求
DevApi.login("YOUR_ACCOUNT", "YOUR_PASSWORD", new DevResponseListener() {
@Override
public void onSuccess(JSONObject result) {
try{
//檢查回傳值,0表示正確
if (result.getInt("code") == 0) {
//登入成功
JSONObject obj = result.getJSONObject("value");
String dspName = obj.getString("dspName");
Toast.makeText(MainActivity.this, "歡迎, " + dspName, Toast.LENGTH_SHORT).show();
}else{
//發生錯誤,將錯誤訊息印出來。
Toast.makeText(MainActivity.this, result.getString("message"), Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}catch (Exception e) {
e.printStackTrace();
}
}