【数据结构】位运算
【网络基础】IP计算
8,数据库9,java基础【java学习】java基础语法
【java学习】String字符串
【java学习】类Class
【java学习】集合框架
【java学习】JVM学习
【java学习】面向对象三大特性:封装,继承,多态
【Android学习】缓存
【java学习】修饰符
【java学习】数据类型
【java学习】装箱与拆箱、泛型
【java学习】异常
【java学习】反射机制
【java学习】java基础语法
【java学习】正则表达式(Regular Expression)
【java学习】Json框架
【Java学习】JAVA和C++区别
10,Android性能优化1)布局优化、自定义View优化
删除布局中无用的控件和层级2)activity启动优化
有选择地使用性能较高的ViewGroup
用<include>标签、<merge>标签、ViewStub
耗时操作优化3)列表优化
布局文件优化
视图加载优化 。如:Fragment的懒加载,只有显示时才去加载 。
尽量复用convertview历史的缓存,减少创建新的view对象 。4)内存优化
尽量的减少子孩子的id的查询次数,定义一个viewHolder 。
5)图片缓存
图片的三级缓存机制11,项目管理项目管理-Git使用
项目管理-SVN学习
12,应用1)token登录
①定义
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码 。
②作用
Token的目的是为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮 。
Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,这样增加了服务器负担 。
③应用
i>用户首次登录成功之后, 服务器端就会生成一个 token 值,保存在数据库并返回给客户端.
ii>客户端拿到 token 值之后,使用sp进行保存 。
iii>客户端再次发送网络请求(一般不是登录请求)的时候,就会将这个 token 值附带到参数中发送给服务器.
iv>服务器接收到客户端的请求之后,取出token值与保存在本地(数据库)中的token值做对比
如果两个 token 值相同,说明用户处于登录状态 。
如果没有这个 token 值,没有登录成功 。
如果 token 值不同: 说明原来的登录信息已经失效,让用户重新登录 。
2)登录验证
通过.requestFocus()获得焦点,提高用户体验
String Str_name = et_username.getText().toString().trim();
String Str_psw = et_password.getText().toString().trim();
if (null != Str_name && Str_name.equals("")) {
showCustomToast("用户名不能为空");
et_username.requestFocus();
} else if (null != Str_psw && Str_psw.equals("")) {
showCustomToast("密码不能为空");
et_password.requestFocus();
} else if (Str_psw.contains("卍")) {
showCustomToast("密码不能含有特殊字符");
et_password.requestFocus();
} else if (Str_psw.length() < 6) {
showCustomToast("密码不能少于6位");
et_password.requestFocus();
} else {
tryLogin(Str_name, Str_psw);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
检测GPS是否开启,如果没有则跳到GPS界面供用户开启 。
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
// 判断GPS是否正常启动
if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
ToastUtil.showShort(context, "未开启位置服务,请开启GPS导航");
// 返回开启GPS导航设置界面
【android知识点总结】Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(intent, 0);
return;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
android离线日志文件打印
检测android主屏,并把app从后台切换置前台
保持屏幕常亮
断线重连机制
推荐阅读
- Android程序员如何快乐地学Activity?
- Android指纹识别,提升APP用户体验,从这里开始
- 作为Android开发者 你知道Android按下开机键到启动发生什么吗?
- Android代码混淆到底是什么?它的好处有哪些?具体效果如何?
- 开发第一个Android应用之前你需要知道的六件事
- 学习Android开发的二十套免费理想资源
- 9款Android经常使用的高速开发框架
- 学会这些你就是Android 开发高手了!
- Android 优化总结
- 探索 Android 内存优化方法