android studio 登录与注册,Android Studio登录/注册系统构想

在你上打开Android应用,运行代码以检查帐户是,如果有效有本地存储的任何东西。或者只是去登录屏幕。

在在OnCreate闪屏(你不需要一个闪屏,它其实不推荐,但它的解释过程中,最简单的方法):

if(userNameAndTokenStoredInSharedPref()){

String token = getTokenFromSharedPref();

String userName = getUserNameFromSharedPref();

checkAgainstServer(token, userName);

}else{

Intent openLogInWindow = new Intent(this, LogInActivity.class);

startActivity(openLogInWindow);

}

仍处于斜线活动,但出来的在OnCreate中:

protected void checkAgainstServer(String token, String user){

//using retrofit

ThisAppRestClient.get().postCheckTokenAndUser(token, user, new Callback() {

@Override

public void success(UserStatusCallBack userStatusCallback, retrofit.client.Response response) {

if(userStatusCallback.getStatus() == 1){

//Invalid token

}else if(userStatusCallback.getStatus() == 2){

//Expired token

}else if(userStatusCallback.getStatus() == 3){

//Success

Intent openMainWindow = new Intent(this, MainActivity.class);

startActivity(openMainWindow);

}

}

@Override

public void failure(RetrofitError error) {

//Retrofit errors like timeouts, etc.

}

}

}

日志的活动会是这样的:

logBtn.setOnClickListener(new View.onClick...

String userName = userNameEditText.getText().toString().toLowerCase().trim();

String password = passwordEditText.getText().toString().trim();

if(!TextUtils.isEmpty(userName) && !TextUtils.isEmpty(password)){

callServerLogInScript(userName, password);

}

userNameEditText.setText("");

logBtn.setVisibility(View.GONE);

}

下下文件:

protected void callServerLogInScript(String user, String pass){

//using retrofit

ThisAppRestClient.get().postCheckTokenAndUser(user, pass, new Callback() {

@Override

public void success(LogInCallBack logInCallback, retrofit.client.Response response) {

if(logInCallback.getLoggedIn() == 1){

//succssful

storeUserNameInSharedPref(user);

storeTokenInSharedPref(logInCallback.getMessage());

Intent openMainActivity = new Intent(this, MainActivity.class);

startActivity(openMainActivity);

}else{

//incorrect log in

logBtn.setVisibility(View.VISIBLE);

}

}

@Override

public void failure(RetrofitError error) {

//Retrofit errors like timeouts, etc.

}

}

}

的理由不存储用户名和密码,直接是如果该设备是植根于他们可以在本地而不是操纵你的服务器上的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值