今天闲来无事,想想以前使用Eclipse的时候,有些项目还是不错的,于是就有个想法,把eclipse版的项目整理成studio版并且完善一下,想着对以后的开发肯定起到不错的作用。结果发现个别性问题,比如有些老项目采用的http请求框架是HttpClient,而整理后的项目我想转为studio版本并且采用一些新的框架比如recyclerview。可5.x之后HttpClient该框架已经被废弃了recyclerview出现,想着改动较小的情况下如何让这两个无缝衔接,都可使用。解决的方法无非两种:
(1)以其中一个为主题,另一个以jar包或library的形式导入即可:
如果以recyclerview为主题就需要eclipse sdk文件路径某个版本文件optional中找到org.apache.http.legacy下org.apache.http.legacy jar文件build项目中即可。如果以HttpClient为主题就需要studio中使用低版本并 引入recyclerview library或recyclerview.jar才行。
(2)是否有同时使用的sdk版本?
果然经过测试找到了 android 5.1即sdk 22版本下api可同时使用HttpClient与recyclerview。同时还有另一个知识点:android一个新的设计规范的建立,Material Design是Google在2014年的I/O大会上推出的全新设计语言。Material Design是基于Android 5.0(API level 21)的,兼容5.0以下的设备时需要使用版本号v21.0.0以上的support v7包中的appcpmpat。
由此可知5.1版本是google对于android系统具有变革性意义的一个新起点。在程序开发过程中具有承上启下的重要作用。说到这里大家应该明白了他的重要性,所以建议大家在开发过程中targetSdkVersion尽量使用22,至少应该关注他。
注意:RecyclerView支持库版本的问题:
在appcompat的23.2.1的支持库中包含了RecyclerView的包,那就直接依赖23.2.1就好了。 compile'com.android.support:appcompat-v7:23.2.1'
但是如果是appcompat的22.2.1的版本,那么需要依赖RecyclerView的版本,如下: