在你上打开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.

}

}

}

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

android studio 登录与注册,Android Studio登录/注册系统构想相关推荐

  1. 【android studio】安卓实现mysql数据库登录、注册、重置密码。

    这学期安卓开发课程的实验中有一个实现登录功能,我就想使用数据库登录,一开始使用的sql server但最后没有实现,我就改用mysql,一开始使用mysql8.0连接不上,重新安装mysql5.5后成 ...

  2. android登录操作代码,Android Studio实现第三方QQ登录操作代码

    来看看效果图吧 实现QQ登录了, 新建一个项目工程 ,然后把我们刚才下载的SDK解压将jar文件夹中的jar包拷贝到我们的项目libs中 导入一个下面架包就可以 项目结构如下 打开我们的清单文件And ...

  3. 用Android Studio设计一个简单个性的登录界面

    一.用到的组件: LinearLaout.TableLayout.FrameLayout.RelativeLout 二.效果图展示: 三.步骤及过程: 1.首先新建一个Project,并在app -& ...

  4. android如何实现用户注册功能,Android 实现简单的登录注册功能(SharedPreferences和SQLite)...

    最近恰好作了一个Android的登陆注册界面,将数据利用SharedPreferences或者SQLite绑定到Android程序中,实现简单的登录注册功能,本文未涉及到与服务器的交流.java 首先 ...

  5. 基于android校园订餐APP,简单实现登录注册功能(SharedPreferences)

    基于android校园订餐APP,简单实现登录注册功能(SharedPreferences) 欢迎浏览本篇文章 界面效果图 页面设计代码 源代码 欢迎浏览本篇文章 大家好! 这是小编首次在博客上写的文 ...

  6. Android音乐播放器(二)登录注册界面

    这是去年大二做的一个简单音乐播放器项目:是尽可能模仿酷狗音乐写的,具体实现的功能如下: 1:启动动画:点击运行程序会出现一个两秒钟的视频,类似酷狗音乐的启动动画一样,非常可观! 2:登录注册界面:输入 ...

  7. Android仿QQ登录界面示例,实现登录、注册功能。

    首语 欢迎大家关注我的公众号:八归少年 微信公众号优先更新文章.扫描上面二维码即可关注!一起进步,一同成长. Android开发经常用到注册.登录功能,于是便整理出一般通用的登录界面,并实现其相应功能 ...

  8. 【广告接入】Android 应用接入有米广告积分墙 ( 注册有米云账号 | 首次登录设置开发者信息 | 添加应用 )

    文章目录 一.注册有米云账号 二.首次登录设置开发者信息 三.添加应用 一.注册有米云账号 进入 有米 主页 https://www.youmi.net/ , 鼠标移动到 登录 按钮 , 在弹出的菜单 ...

  9. Android 活动与活动间数据传递--登录注册页面

    AndroidManifest.xml: <?xml version="1.0" encoding="utf-8"?> <manifest x ...

  10. Android模仿京东登录注册,Android:布局实例之模仿京东登录界面

    1 <?xml version="1.0" encoding="utf-8"?> 2 3 android:layout_width="ma ...

最新文章

  1. Python练习_三级菜单
  2. 计算机专业英语第3章,计算机专业英语教案第3章
  3. CPA相关功耗分析(一)
  4. JspWriter与PrintWriter的关系
  5. 不论我们爱或者不爱,我们为什么选择SAP?
  6. 动画图解 socket 缓冲区的那些事儿
  7. Winxp中加密自己的用户目录
  8. 彻底卸载nodejs和npm然后使用nvm
  9. class vue 添加图片_vue+element 添加图片组件
  10. 图论--最短路--SPFA模板(能过题,真没错的模板)
  11. mysql gui vim_vim(一): 小技巧
  12. 黑苹果睡眠重启后死机_iPhone卡屏、死机、黑屏?| 学会这招,秒解!
  13. 都是程序员,凭什么他工资比我高,下班比我早?
  14. dax powerbi 生成表函数_Power BI应用技巧:如何为DAX建的表添加索引?
  15. webpack打包样式资源_使用loader去打包css文件_打包less文件---webpack工作笔记004
  16. 如何为项目配置opencv
  17. Mac如何将DVD转换为MP3格式
  18. centos 并发请求数_彻底理解 jmeter 的线程数与并发数之间的关系
  19. keepalived + web高可用集群实现主从模型、双主模型配置
  20. 怎样在Word和LaTeX中打出黑底的圆圈数字?

热门文章

  1. 2016年的第一天上班,顺便开通了博客
  2. 如何面对不讲信用的人
  3. greenDAO系列7--关系
  4. linux服务器的性能分析与优化(十三)
  5. Ubuntu应用Wireshark找不到interface的解决办法
  6. LeetCode 976. 三角形的最大周长(Largest Perimeter Triangle) 33
  7. 解密小程序码:36条放射线
  8. ADO 错误:0x80004005,连接字符串属性无效
  9. unity3D android游戏屏幕分辨率问题【转http://blog.csdn.net/jeksonal/article/details/8501549】...
  10. 十分钟让你对C++ Traits大彻大悟