安卓开发框架怎么搭建(Android环境配置)
近两年,Android 开发可以说是越来越容易了,在很多前辈的努力下,Android 开发生态圈里构建出了很多非常好的轮子(开发库或框架)。在开发中,有时都面对这么多轮子都有选择困难症了。面对炫彩的开发库和很流行的框架,我们该如何选择呢?
1、GitHub Star 数判断标准,GitHub Star 数越多,证明这个轮子使用的人数比较多,一般以 1 k 起为判断标准;
如图,搜索 “Android” ,选择排序为 “Most Stars”,这样搜索结果就会按照 Star 数最多的排在首页。
2、综合分析项目,整体考虑。从项目应用场景、开发人员、公司情况、项目后期维护等方面分析,选择合适项目的开发框架或开发库是最好的选择,不要认为哪个开发框架流行用哪个,项目开发中稳定是大前提;
3、仔细查看开源框架源码,多看开源框架的 Issues,从 Issues 提前预判框架在项目开发中可能会出现的问题,慎重选择每一个开源框架,是一个程序员应该必备的精神。
在 Android 开发中,一般都是从以上3个方面选择开源框架搭建Android 项目。Android 项目开发中,开源框架一般可以分为网络、组件以及其它工具类组成,下面我分别介绍几个比较优秀的开源框架。
1、网络框架
常用的 Android 开发网络请求库有
Retrofit https://github.com/square/retrofit
OkHttp https://github.com/square/okhttp
Volley https://github.com/google/volley
目前用的最多的也就 Retrofit 和 OkHttp ,Volley 基本上是很少有人用吧,前两个都是 Square 公司开源的,很厉害吧!Volley 是Google 早年开源的,目前基本被淘汰。
这里简单介绍下 Retrofit
Retrofit 是一个RESTful 的 HTTP 网络请求框架的封装,网络请求的工作本质上是 OkHttp 完成,而Retrofit 仅负责网络请求接口的封装。
示例如下:
(1)、创建一个接口
public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user); }(2)、实现接口
Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com/") .build(); GitHubService service = retrofit.create(GitHubService.class);
(3)、调用
如需详细了解 Retrofit ,请访问
https://square.github.io/retrofit/,这里有非常详细的开发文档。
2、组件库
Android 开发的组件库有很多,如 BasePopup、RxUI、SmartRefreshLayout等
BasePopup:
https://github.com/razerdp/BasePopup,是一款针对系统PopupWindow优化的Popup库,功能强大,支持背景模糊,常用在应用中弹框场景。
RxUI:RxUI 是 RxTool 下的一个分支, RxTool 是 Android 开发过程经常需要用到各式各样的工具类集合。很强,试试呗
https://github.com/Tamsiree/RxTool 。
SmartRefreshLayout:Android 开发中必备的下拉刷新、上拉加载库,很好用,目前 Github Star数已有 20k 了,赶紧上手 ,
https://github.com/scwang90/SmartRefreshLayout
3、工具,提升开发效率、维护代码利器
Butter Knife ,俗称黄油刀,Android 开发必备,将 Butter Knife 引入项目,将会节省不少开发时间,避免了开发者 通过多次 findViewById(), 目前最新版本已是 10.2.1 了,这是 GitHub 链接
https://github.com/JakeWharton/butterknife
示例
class ExampleActivity extends Activity { @BindString(R.string.title) String title; @BindDrawable(R.drawable.graphic) Drawable graphic; @BindColor(R.color.red) int red; // int or ColorStateList field @BindDimen(R.dimen.spacer) float spacer; // int (for pixel size) or float (for exact value) field // ... }ViewHolder 里使用
public class MyAdapter extends BaseAdapter { @Override public View getView(int position, View view, ViewGroup parent) { ViewHolder holder; if (view != null) { holder = (ViewHolder) view.getTag(); } else { view = inflater.inflate(R.layout.whatever, parent, false); holder = new ViewHolder(view); view.setTag(holder); } holder.name.setText("John Doe"); // etc... return view; } static class ViewHolder { @BindView(R.id.title) TextView name; @BindView(R.id.job_title) TextView jobTitle; public ViewHolder(View view) { ButterKnife.bind(this, view); } } } @OnClick(R.id.test) public void onViewClick(View view){ } @OnPageChange(R.id.viewPager) public void onPageChange(int position){ }
ARouter ,ARouter 是国内阿里巴巴开源的框架,主要解决项目中耦合严重的问题,有了它,代码耦合问题再也不是难事了,项目中的业务可以根据实际需要分离成多个组件,使用 ARouter 为多个组件间的通信提供了保障。两个字描述,强大,三个字,很强大,详细了解请移步
https://github.com/alibaba/ARouter
Arouter 初始化
if (isDebug()) { // 这两行必须写在init之前,否则这些配置在init过程中将无效 ARouter.openLog(); // 打印日志 ARouter.openDebug(); // 开启调试模式(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险) } ARouter.init(mApplication); // 尽可能早,推荐在Application中初始化添加 Activity 注解,这里需要注意,填写的路径(path)至少需要两级 如 “/test/activity ” ,不能少一个斜杠,不然会让你很懵逼的到处找错误都找不到。
// 在支持路由的页面上添加注解(必选) // 这里的路径需要注意的是至少需要有两级,/xx/xx @Route(path = "/test/activity") public class YourActivity extend Activity { ... }从开源框架或开源库选择到搭建项目这个过程,会经历痛苦的抉择,选择了 A 开源框架,又选择了 B 开源框架,两个框架从项目的不同角度在协助着项目开发,最终发现两者竟然不兼容,或者大部分功能都是相同的,这就很难选择了......
最后我推荐一个 MVP 开发模式的框架,我认为他是GitHub 上 MVP 开发模式框架中比较优秀的了,让小白也能轻松上手,快速搭建项目,不用考虑项目各类框架选择,作者已经选好了
Android 开发中常用、必用的开发框架。他就是 MVPArms
https://github.com/JessYanCoding/MVPArms。
作者提供了 Android Studio 开发工具插件,一键生成Activity和对应的 MVP 相关接口和实现类,避免了手动创建多个类的繁琐事项,开发文档写的非常精细。
开始学习吧!
其他文章
- 2022年苏州公司注册流程及材料 公司注册代办一般多少钱
- 工商年度报告逾期没报怎么办(企业工商异常怎么处理)
- 相城作品版权怎么申请(作品版权申请流程)
- 公司法关于企业登记审批程序和公示、证照管理规定
- 公司法关于公司犯罪的罪名有哪些
- 公司章程应如何对分红条款作出规定?股东分红时间间隔以及分红比例
- 公司法之公司清算案件规定
- 公司法关于外国公司分支机构的设立程序规定
- 无锡公司注册的流程是怎样 在无锡注册公司好办吗
- 不小心被骗做了一家公司法人怎么办 挂名注册公司法人怎么规避风险
- 物流公司的经营范围怎么写,注册物流公司前快看
- 外商独资企业注册那些事?六大事项你清楚吗?
- 国有独资公司的经理及监事会的相关注意事项
- 合伙企业如何注册?注册有限合伙企业的申请材料你准备齐全了吗?
- 公司注销需要多少钱费用 主要哪些地方需要花钱
- 注册资金50万要交吗,实际需要交多少?
- 江阴怎么简单快速安全的注册一家电子商务公司?
- 注册公司注册地址怎么弄 无地址申请办理
- 2022年古田公司注册地址挂靠适合那些情形
- 注册的淮滨公司在内地经营有哪些方法呢?
- 注册汽车租赁公司的经营范围怎么写,汽车租赁公司经营范围大全
- 无经营零申报公司注销要交印花税吗,注意6个税务问题
- 注册网络传媒公司的经营范围怎么写,经营范围包括哪些?
- 注册公司前应该考虑哪些问题 有哪些方面要注意
- 2022年江阴网上公司注册的流程是怎样的呢?
- 江阴注册公司流程和费用,代办公司如何收费?
- 太仓公司注册流程及需要的材料 四点概要!
- 企业工商年报应该怎么做才能展示公司的实力?
- 在江阴注册公司你需要知道这些注册地址相关要求!
- 江阴网上销售培训课程需要办理网络文化经营许可证吗?