当前位置:朝夕网 » 数码科技 » android知识点总结

android知识点总结

1,Android UI体系1) 三层架构、MVC、MVP、MVVM对于小项目可以按如下分法常用语存储大数量的数据,但是缺点是更新数据将是一件困难的事情。 分为内部存储和外部存储,如果应用程序有数据需

1,Android UI体系

1) 三层架构、MVC、MVP、MVVM

对于小项目可以按如下分法

常用语存储大数量的数据,但是缺点是更新数据将是一件困难的事情。

分为内部存储和外部存储,如果应用程序有数据需要共享时,就需要使用Content Provider为这些数据定义一个URI,然后其他的应用程序就通过Content Provider传入这个URI来对数据进行操作。

2)【Java学习】Java内存

3)【Android学习】DVM——apk生成、安装、启动、反汇编

4)【Android学习】NDK编程——JNI【Android学习】序列化:Serializable和Parcelable

6)【Android学习】消息机制Handler

7)【Android学习】线程的其他方式:AsyncTask、IntentService、HandlerThread、ThreadPoolExecutor

8)【java学习】多线程并发

9)【java学习】java锁

10)资源池

Android中提供了资源池的对象有:

–Message

提供了消息池,有静态方法Obtain从消息池中取对象。

–AsynTask

AsynTask是线程池改造的,池里 默认提供布局优化、自定义View优化

删除布局中无用的控件和层级

有选择地使用性能较高的ViewGroup

用<include>标签、<merge>标签、ViewStub

2)activity启动优化

耗时操作优化

布局文件优化

视图加载优化。如:Fragment的懒加载,只有显示时才去加载。

3)列表优化

尽量复用convertview历史的缓存,减少创建新的view对象。

尽量的减少子孩子的id的查询次数,定义一个viewHolder。

4)内存优化

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);

}

1234567891011121314151617

3)GPS开启

检测GPS是否开启,如果没有则跳到GPS界面供用户开启。

LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

// 判断GPS是否正常启动

if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {

ToastUtil.showShort(context, \”未开启位置服务,请开启GPS导航\”);

// 返回开启GPS导航设置界面

Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivityForResult(intent, 0);

return;

}

12345678910

4)其他demo

android离线日志文件打印

检测android主屏,并把app从后台切换置前台

保持屏幕常亮

断线重连机制

13,问题解决

1)eclipse找不到设备,adb需要重启

写一个.bat文件,内容如下:

(注意:cd /d D:\\android-sdks\\platform-tools 请替换为自己的adb.exe路径)

@echo off

taskkill /F /IM adb.exe

echo Kill完成…

pause

echo 重启开始…

cd /d D:\\android-sdks\\platform-tools

adb devices

pause. & exit

12345678910

2)其它

①android中使用Menu时可能需要重写的方法有:onCreateOptionMenu()和onOptionItemSelected().

②eclipse编辑器乱码解决

configChanges详解-之解决问题:手机切换字体后,app异常崩溃

eclipse创建app时多出appcompat_v7

android开发误删appcompat_v7

Replace “…” with ellipsis character (…, &&;

eclipse ‘Launching Hello’has encountered a problem

以上就是朝夕生活(www.30zx.com)关于“android知识点总结”的详细内容,希望对大家有所帮助!

免责声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。朝夕网 » android知识点总结