Android开发技术点

Android通用流行框架大全:

1.缓存:DiskLruCacheJava实现基于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。基于OpenGLAndroid过滤器。

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

4.网络请求。

Android Async HTTPAndroid异步HTTP库。

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

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

https://github.com/koush/AndroidAsync 

OkHttp。一个HttpHttp/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序列化/反序列化库,可以将JSONjava对象互相转换。

https://github.com/google/gson 

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

https://github.com/codehaus/jackson 

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

https://github.com/alibaba/fastjson 

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

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

Jsoup。一个以最好的DOMcssjquery解析html库。

https://github.com/jhy/jsoup 

6.数据库。

OrmLiteJDBCAndroid的轻量级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。一个Androidjava快速依赖注射器。

https://github.com/google/dagger 

RoboGuiceAndroid平台的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.事件总线。

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

https://github.com/greenrobot/EventBus 

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

https://github.com/square/otto 

11.响应式编程。

RxJavaJVM上的响应式扩展。

https://github.com/ReactiveX/RxJava 

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

https://github.com/ReactiveX/RxAndroid 

RxBinding。提供用RxJava绑定的Android UIAPI

https://github.com/JakeWharton/RxBinding 

AgeraAndroid上的响应式编程。

12.Log框架。

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

https://github.com/orhanobut/logger 

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

https://github.com/JakeWharton/timber 

13.测试框架。

MockitoJava编写的Mocking单元测试框架。

https://github.com/mockito/mockito 

RobolecticAndroid单元测试框架。

https://github.com/xtremelabs/robolectric 

14.调试框架。

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

https://github.com/facebook/stetho 

15.性能优化。

LeakCanary。 内存泄露检测工具。

https://github.com/square/leakcanary 

ACRAAndroid应用程序崩溃报告。

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:

UriContentResolver、使用场景。

(3) 布局文件内容。

LinearLayoutRelativeLayout,布局文件嵌套。

(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笔记)