Android开发技术点

Android通用流行框架大全:

1.缓存:DiskLruCache。 Java实现基于LRU的磁盘缓存。

Github地址:https://github.com/JakeWharton/DiskLruCache

2.图片加载:

Android Universal Image Loader。一个强大的加载,缓存,展示图片的库。

https://github.com/nostra13/Android-Universal-Image-Loader

Picasso。一个强大的图片下载与缓存的库。

https://github.com/square/picasso

Fresco。一个用于管理图像和他们使用的内存的库。

https://github.com/facebook/fresco

Glide。 一个图片加载和缓存的库。

https://github.com/bumptech/glide

3.图片处理。

Picasso-transformations。一个为Picasso提供多种图片变换的库。

https://github.com/wasabeef/picasso-transformations

Glide-transformations。一个为Glide提供多种图片变换的库。

https://github.com/wasabeef/glide-transformations

Android-gpuimage。基于OpenGL的Android过滤器。

https://github.com/CyberAgent/android-gpuimage

4.网络请求。

Android Async HTTP。Android异步HTTP库。

https://github.com/loopj/android-async-http

AndroidAsync。异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库,基于NIO而不是线程。

https://github.com/koush/AndroidAsync

OkHttp。一个Http与Http/2的客户端。

https://github.com/square/okhttp

Retrofit。类型安全的Http客户端。

https://github.com/square/retrofit

Volley。谷歌推出的Android异步网络请求框架和图片加载框架。

https://android.googlesource.com/platform/frameworks/volley

5.网络解析。

Gson。一个Java序列化/反序列化库,可以将JSON和java对象互相转换。

https://github.com/google/gson

Jackson。Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。

https://github.com/codehaus/jackson

Fastjson。Java上一个快速的JSON解析器/生成器。

https://github.com/alibaba/fastjson

HtmlPaser。一种用来解析单个独立html或嵌套html的方式。

https://sourceforge.net/projects/htmlparser/

Jsoup。一个以最好的DOM,css和jquery解析html库。

https://github.com/jhy/jsoup

6.数据库。

OrmLite。JDBC和Android的轻量级ORM java包。

https://sourceforge.net/projects/ormlite/files/releases/com/j256/ormlite/

Suger。用超级简单的方法处理Android数据库。

https://github.com/satyan/sugar

ActiveAndroid。以活动记录方式为Android SQLite提供持久化。

https://github.com/pardom/ActiveAndroid

7.依赖注入。

ButterKnife。将Android视图和回调方法绑定到字段和方法上。

https://github.com/JakeWharton/butterknife

Dagger2。一个Android和java快速依赖注射器。

https://github.com/google/dagger

RoboGuice。Android平台的Google Guice。

https://github.com/roboguice/roboguice

8.图表。

MPAndroidChart。一个强大的Android图表视图/图形库。

https://github.com/PhilJay/MPAndroidChart

9.后台处理。

Tape。一个轻快的,事务性的,基于文件的FIFO的库。

https://github.com/square/tape

Android Priority Job Queue。 一个专门为Android轻松调度任务的工作队列。

https://github.com/yigit/android-priority-jobqueue

10.事件总线。

EventBus。Android优化的事件总线,简化了活动、片段、线程、服务等的通信。

https://github.com/greenrobot/EventBus

Otto。 一个基于Guava的增强的事件总线。

https://github.com/square/otto

11.响应式编程。

RxJava。JVM上的响应式扩展。

https://github.com/ReactiveX/RxJava

RxAndroid。Android上的响应式扩展,在RxJava基础上添加了Android线程调度。

https://github.com/ReactiveX/RxAndroid

RxBinding。提供用RxJava绑定的Android UI的API。

https://github.com/JakeWharton/RxBinding

Agera。Android上的响应式编程。

12.Log框架。

Logger。简单,漂亮,强大的Android日志工具。

https://github.com/orhanobut/logger

Timber。一个小的,可扩展的日志工具。

https://github.com/JakeWharton/timber

13.测试框架。

Mockito。Java编写的Mocking单元测试框架。

https://github.com/mockito/mockito

Robolectic。Android单元测试框架。

https://github.com/xtremelabs/robolectric

14.调试框架。

Stetho。调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试。

https://github.com/facebook/stetho

15.性能优化。

LeakCanary。 内存泄露检测工具。

https://github.com/square/leakcanary

ACRA。Android应用程序崩溃报告。

https://github.com/ACRA/acra


Java内容:

1. 多线程操作: 图书:Java并发编程实战、Java编程思想

(1) 线程生命周期:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked)、死亡(dead)。

(2) 实现runnable接口和继承thread的使用场景。

(3) 生命周期如何灵活运用。

(4) 控制线程。优先级、后台线程、线程休眠、线程让步。

(5) 线程并发、线程池的使用、减少锁的竞争、锁机制及结构化并发应用程序。

2. JVM:图书:深入理解java虚拟机

(1) 工作原理及特点,运行过程。

(2) JVM内存管理、GC模型、如何编写GC友好的代码。

(3)自动内存管理机制,Java内存区域与内存异常,Java堆溢出、虚拟机栈和本地方法栈溢出。

(4) 垃圾收集器与内存分配策略,动态对象生命周期。

(5) 类加载机制,类加载器,Java线程调度。

3. 设计模式:

常用设计模式:  图书:大话设计模式

(1) 工厂模式,设计思想及如何灵活运用。

(2) 单例模式,设计思想灵活运用。

(3) 代理模式,设计思想及灵活运用。

Android内容:

基础知识:

(1) AndroidStudio安装、运行第一个应用。

(2) 四大组件。

Activity:

生命周期、4种启动模式、task相关。

Service:

生命周期及两种启动方式、本地服务和远程服务、前台服务和后台服务、进程内与服务通信。

Boardcastreceiver:

生命周期、特性、静动注册方式、普通及有序广播。

ContentProvider:

Uri,ContentResolver、使用场景。

(3) 布局文件内容。

LinearLayout、RelativeLayout,布局文件嵌套。

(4) 友好交互学习。

Listview列表:

异步和动态加载、缓存与优化。

Dialog提示:

ProgressDialog:

自定义进度提示框、网络请求异常情况策略。

Notification:

通知类型、更新与移除通知、视觉风格。

(5) NDK:

JNI操作,运行及编译过程,如何做到编译安全。

(6) SDK:

SDK定义、如何开发并方便调用,安全因素有哪些。

(7) android基本架构:

系统运行库:程序库、运行库及Linux内核操作。

(8) 资源文件及manifest.xml结构内容:

资源文件分类及存储,权限设置及系统权限获取。

(9) 多线程与通信:

多线程启动方式及消息机制的熟练使用、线程池的管理与操作。

线程间通信handle及asyncTask掌握。

进程间通信aidl。

(10) 高级ui学习:

ViewGroup定义自己的View及ui展示,设置自定义ViewGroup。

Fragment碎片及ViewPager导航、ViewFlipper。

ActionBar定义菜单及自定义菜单。

(11) 网络访问:

HttpURLConnection:熟练使用。

Socket通信:熟练使用。

你可能感兴趣的:(Android开发技术点)