其实也算是老Androider了,但是在友盟的很长时间都是在写SDK而且是统计分析的SDK(木有UI),UI部分的功力日渐下降,现在整理一下最近做的一个项目用到的知识点。
网络访问是比较耗时的任务,一般都是开线程来做的,以前都是用下面这些方式
现在使用的是Google提供的一个库 Volley 来做的,Volley 封装了网络请求, 把每个请求放到内部实现的一个请求队列里面,底层使用线程池来异步操作,同时还封装了NetworkImageView控件,自带ImageLoader。目前看来以后可能是App标配组件了。
数据解析部分使用的是 Gson. Gson的好处是可以把JSON数据直接映射到定义好的类的各个字段, 方便数据的解析和序列化。这样JSON只作为传输协议使用而不用来在内部保存数据,一般写程序的时候最好不要直接用JSON来操作内存数据而用类来表示,JSON是可以认为是k-v型的集合数据,使用起来不方面,另外JSON内存占用非常大,基本是原始数据的3~5倍。
现在主流的Tab效果实现方式都是用Fragment配合TabHost实现的,早前的用Activity+TabHost的方式已经过时了。
ListView可以通过实现 getViewTypeCount
和 getItemViewType
来实现复用不同类型的Item。
其他开源的库
其他第三方服务: