android 学习过程中登陆失效的个人理解
今天在学习的过程中,要做登陆失效的功能,所以就找了些资料。好好看了一下。研究了一番,慢慢的做出来了!
比方:你在一个手机端登陆了账号,在另外的一个手机端也登陆了账号,此时。前一个手机端的账号会提示登陆失效。
意思是仅仅能存在一个账号。这个事实上不是非常难。
每次登陆的时候会存在一个Token,每次登陆的Token是不一样的!
以下贴一下前端的一些小代码:
在异步网络请求里面推断返回的异常是否是登陆失效:
@Override
protected void onPostExecute(BusinessResult result) {
if (mCallback != null && !isCancelled()) {
if (result.success) {
mCallback.onSuccess(result.returnObject);
} else {
mCallback.onError(result.exception);
if (result.exception.getMessage().equals(BusinessException.TOKEN_INVALID)) {
TokenInvalidUtil.showDialog();
}
}
}
}
用户登录失效处理工具类
public class TokenInvalidUtil {
private static AlertDialog sAlertDialog;
public static void setDialog(AlertDialog alertDialog) {
sAlertDialog = alertDialog;
}
public static void showDialog() {
if (sAlertDialog != null && !sAlertDialog.isShowing()) {
sAlertDialog.show();
}
}
}
在application初始化:
TokenInvalidUtil.setDialog(createDialog());
private AlertDialog createDialog() {
AlertDialog ad = new AlertDialog.Builder(this).setMessage(R.string.dialog_token_invalid_message).setPositiveButton(R.string.dialog_token_invalid_button, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// PreferenceUtil.clear();
Intent intent = new Intent(getInstance(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
App.getInstance().exit();
}
}).create();
ad.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
ad.setCanceledOnTouchOutside(false);
ad.setCancelable(false);
return ad;
}
前端大概的代码就是这些。详细细节不做解说了!
在APP应用中仅仅要设计有Token查询的方法的时候,就会提示登陆失效!
android 学习过程中登陆失效的个人理解的更多相关文章
- Android学习过程中遇到的问题
1.使用在Activity布局之上重叠显示操作栏,第一次使用出现错误信息. 错误信息如下:java.lang.RuntimeException:Ubable to start activity Com ...
- Android中Adapter和Bridge模式理解和应用
一 Adapter模式 意图: 将一个类的接口转换成客户希望的另外一个接口. Adapter模式使得原本由于接口不兼容而不能在一起工作的那些类可以在一起工作. 适用性: 使用一个已存在的类,而它的接口 ...
- 【转】Android中removeCallbacks失效原因
原文网址:http://blog.sina.com.cn/s/blog_6714fba70100wtx1.html 在Android开发中会使用Handle的removeCallbacks函数,该函数 ...
- Android菜单详解(一)——理解android中的Menu
前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...
- android中对线程池的理解与使用
前段时间有幸接到腾讯上海分公司的 Android开发面试,虽然最后一轮被毙了.但还是得总结一下自己在android开发中的一些盲点,最让我尴尬的是面试官问我几个android中线程池的使用与理解..哎 ...
- android开发中的BaseAdapter之理解(引用自网络,总结的很好,谢谢)
android中的适配器(Adapter)是数据与视图(View)之间的桥梁,用于对要显示的数据进行处理,并通过绑定到组件进行数据的显示. BaseAdapter是Android应用程序中经常用到的基 ...
- 深入理解Android开发中的CoordinatorLayout Behavior
在使用Android设计支持库(Android Design Support Library)时,很难避开CoordinatorLayout:设计库中有很多视图都需要CoordinatorLayout ...
- (转载)你真的理解Android AIDL中的in,out,inout么?
前言 这其实是一个很小的知识点,大部分人在使用AIDL的过程中也基本没有因为这个出现过错误,正因为它小,所以在大部分的网上关于AIDL的文章中,它都被忽视了——或者并没有,但所占篇幅甚小,且基本上都是 ...
- 转 Android学习笔记: 学习过程中碰到的一些问题及解决方法
在学习Android开发的过程中遇到了不少的问题,所幸的是最终经过上网查询都得到了解决.现在将我在学习Android开发过程中遇到的一些问题及解决的方法整理如下. 1.R.java不能实时更新 问题描 ...
随机推荐
- 富文本编辑器layedit,调用setContent方法会报错
需要把layedit.js里的setContent 函数的 layedit.sync(index)); 改成 this.sync(index));
- thinkphp3.2导出
public function test() { set_time_limit(0); ini_set('memory_limit', '500M'); //导入PHPExcel类库,因为PHPExc ...
- 使用API失效供应商地址Demo(转)
原文地址 使用API失效供应商地址Demo DECLARE lv_return_status ) := NULL; ln_msg_count NUMBER; lv_errmsg ); lt_vend ...
- Java远程调试 java -Xdebug各参数说明
JAVA自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB,JDB也是一个字符界面的 调试环境,并支持设置断点,支持线程线级的调试 JAVA的调试方法如下: 1.首先支持J ...
- POJ 2251 bfs
DESCRIPTION:给你一个三维的迷宫.问你是否能从起点走到终点.如果能,输出最小步数.对我来说难得就是我没有想到怎么把他给你的三维图转换成map.恩..好像解题报告上说.只要是这种的最短路都要用 ...
- python 数据科学
参考资料: https://www.yiibai.com/python_data_science/python_bubble_charts.html
- 数据集永久字段的Visble 属性为何不起作用
ADOTable,永久字段,已经将visible属性设置为false,设计期,打开数据集,该字段是隐藏了,但是运行时还是显示的!! 原因是,之前持久化了 DBGRID的Coumns,FORM创建又读取 ...
- 第三视角团队:"Jarvis For Chat"团队选题报告
"Jarvis For Chat"团队选题报告 组长博客链接 本次作业链接 NABCD在项目中的使用 N(Need,需求) QQ和微信已经成为人们社交的必需品,在QQ有7.8亿活跃 ...
- 转:AMD规范与CMD规范的区别是什么?
AMD规范与CMD规范的区别是什么? 在比较之前,我们得先来了解下什么是AMD规范?什么是CMD规范?当然先申明一下,我个人也是总结下而已,也是网上看到的资料,自己总结下或者可以说整理下而已,供 ...
- 2.2 linux中的信号分析
信号: 信号是UNIX系统响应某些状况而产生的事件,进程在接收到信号时会采取相应的行动. 信号是因为某些错误条件而产生的,比如内存段冲突.浮点处理器错误或者非法指令等. 信号是在软件层次上对中断的一种 ...