搭建自己Android开发框架

摘要

Android优秀的开发框架有很多,很多功能都有成熟的解决方案,比如网络请求、依赖注入、图片加载、数据库等都有很多开源的框架可以直接使用,我们可以站在巨人的肩膀上,组合一套自己常用的开发框架,也可以作为公司的开发框架,达到快速开发的目的。选择框架的原则:1、能满足自己的业务需求选择一个框架前首先考虑是否能满足自己或公司的需求,比较流行的框架基本上能满足我们大部分的需求2、主流的选择主流的框架网上相关的资源也多,团队成员都接触过的概率也大3、持续更新的Android的发展很快,

Android优秀的开发框架有很多,很多功能都有成熟的解决方案,比如网络请求、依赖注入、图片加载、数据库等都有很多开源的框架可以直接使用,我们可以站在巨人的肩膀上,组合一套自己常用的开发框架,也可以作为公司的开发框架,达到快速开发的目的。

选择框架的原则:

  • 能满足自己的业务需求
    选择一个框架前首先考虑是否能满足自己或公司的需求,比较流行的框架基本上能满足我们大部分的需求。
  • 主流的
    选择主流的框架网上相关的资源也多,团队成员都接触过的概率也大。
  • 持续更新的
    Android的发展很快,持续更新的框架能更好适配新版本。

使用开源库组合

结合自己和公司开发的情况以及上面的原则,选了下面的框架组合来搭建自己的Android开发框架。

MVP模式

MVP 是现在很流行的开发模式,全称是 Model-View-Presenter,程序逻辑写在 Presenter 中, View 并不直接访问 Presenter,而是通过定义好的接口交互,达到视图层和逻辑层分离的目的,并且 Presenter 可以被重用。使用 MVP 模式开发,代码的结构会非常清晰,缺点是会增加不少文件。

GitHub Star:22k
GitHub:https://github.com/googlesamples/android-architecture

网络请求:

Retrofit2.0 是基于 okHttp 的网络请求框架,遵行 RESTful 设计风格。

GitHub Star:24k
GitHub:https://github.com/square/retrofit

依赖注入:

ButterKnife 是一个注解框架,可以快速绑定 view 和 click 事件,取代 findViewById,简化代码。

GitHub Star:18k
GitHub:https://github.com/JakeWharton/butterknife

图片加载:

glide 是 Google 推荐的图片加载库,专注于流畅的滚动。

GitHub Star:18k
GitHub:https://github.com/bumptech/glide

选择图片:

PhotoPicker 是一个功能强大的图片选择器,支持拍照、从相册选择多张图片和预览功能。

GitHub Star:2k
GitHub:https://github.com/donglua/PhotoPicker

异步:

RxAndroid 是 RxJava 在 Android 中的应用,使用观察者模式“优雅”的实现异步处理。

GitHub Star:14k
GitHub:https://github.com/ReactiveX/RxAndroid

响应式:

RxBinding 是 RxJava/RxAndroid 下UI组件响应式绑定的支持库。

GitHub Star:6.4k
GitHub:https://github.com/JakeWharton/RxBinding

事件总线:

RxBus 是 RxAndroid 下的事件发布/订阅轻量级框架,简化组件间的通信。

GitHub Star:1.3k
GitHub:https://github.com/AndroidKnife/RxBus

JSON:

Gson 是 Google 公司发布的一个开放源代码的 Java 库,主要用途为序列化 Java 对象为 JSON 字符串,或反序列化 JSON 字符串成 Java 对象。

GitHub Star:10k
GitHub:https://github.com/google/gson

下拉刷新:

SwipeRefreshLayout 是 Google 官方下拉刷新组件。

官网:https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html

数据库:

LitePal 是CSDN大神郭霖的开源项目。大部分项目都不需要用到数据库,或者简单的数据库就可以满足,LitePal 就可以满足我的需求,跟着郭大神学数据库。

GitHub Star:4k
GitHub:https://github.com/LitePalFramework/LitePal

调试:

logger 是一个着名的开源日志库,支持打印线程的信息、类的信息、方法的信息、格式打印json/xml、点击链接跳转到源码等功能,方便调试。

GitHub Star:7.7k
GitHub:https://github.com/orhanobut/logger

权限:

RxPermissions 是一个统一处理 Android 运行时权限问题的库。我之前也写过一篇使用教程: Android 6.0 运行时权限

GitHub Star:4.7k
GitHub:https://github.com/tbruyelle/RxPermissions

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Android MVVM框架搭建需要使用Java语言。MVVM框架是一种基于模型-视图-视图模型的设计模式,它可以帮助开发者更好地组织和管理Android应用程序的代码。在搭建MVVM框架时,需要使用一些常用的开源框架,如Data Binding、LiveData、ViewModel等。同时,还需要了解一些基本的Android开发知识和Java语言的基础知识。搭建MVVM框架需要一定的技术水平和经验,但是它可以提高应用程序的可维护性和可扩展性,让开发者更加高效地开发Android应用程序。 ### 回答2: 在Android开发过程中,MVVM框架已经成为了一种非常流行的设计模式,因为它能够很好地解决传统的MVC模式中存在的问题。这篇文章将着重讲解如何使用Java来构建MVVM框架。 MVVM框架主要由三个部分组成:View、ViewModel和Model。其中,View指的是用户界面;ViewModel则是View和Model之间的中间层,它包含View所需的数据和业务逻辑;而Model则是数据层,负责从数据源中获取和管理数据。 在Java中构建MVVM框架,可以使用以下几个关键技术: 1. Data Binding:Data Binding是一种新兴的技术,可以轻松地将数据绑定到用户界面上。在Android中,Data Binding库已经成为了MVVM框架构建中不可少的一部分。 2. LiveData:LiveData是Jetpack组件库中的一部分,它是用于构建响应式应用程序的一种强大的工具,也是MVVM模式的关键组成部分。LiveData可以监听数据源中的更改,并在数据发生变化时通知ViewModel。 3. ViewModel:ViewModel是MVVM中的重要组成部分,主要用于保存状态、管理数据和处理业务逻辑。它允许View对Model进行观察,从而实现MVVM框架的完整性和数据驱动。 4. RxJava:RxJava是一种Reactive编程框架,可以用于处理异步事件流,并在应用程序中实现非阻塞的、响应式编程。RxJava可以与MVVM框架结合使用,使架构更加灵活和响应。 搭建MVVM框架的过程中,首先需要创建View、ViewModel和Model三个关键组件。ViewModel将负责将Model的数据更新到View上,并处理业务逻辑。此外,使用Data Binding和LiveData建立数据流,实现双向数据绑定,保持ViewModel和View的同步。 最终,使用RxJava将ViewModel和View解耦,实现响应性和灵活性。在整个MVVM框架中,使用Java构建时需要注意的重要细节包括内存泄漏问题、持久性存储问题等等,尽可能地在代码编时去考虑这些问题,以确保框架的可靠性和稳定性。 总而言之,使用Java搭建MVVM框架需要一定的技术积累和编码能力,但这种框架Android开发中已经被广泛应用,相信有机会成为您的一个不错的选择。 ### 回答3: MVVM是Model-View-ViewModel的缩,是一种软件架构模式。在安卓应用开发中,我们可以利用MVVM框架搭建Java开发项目,实现数据和用户交互分离,让代码更加清晰易懂,可读性更高。 MVVM架构中,Model代表实体模型,View代表图形界面,ViewModel作为桥梁连接Model和View,负责将Model转化成View的形式,以及监听View的变化反向更新Model。 在搭建Android MVVM框架时,我们需要先定义布局文件,将View的控件和ViewModel关联。然后定义ViewModel类,在类中添加模型数据和业务逻辑。最后,在Activity或Fragment中实现ViewModel的数据绑定和监听,将数据和页面连接起来。 在Java开发中,我们可以利用一些主流的MVVM框架,例如Google官方提供的Android Architecture Components框架,它包含LiveData、ViewModel、Room和DataBinding四个组件,能够快速搭建MVVM架构,实现组件之间的数据通信和交互。 除此之外,还有Databinding框架,它可以在布局文件中直接绑定数据,省去了一些繁琐的代码,但是需要一定的学习成本。 总而言之,MVVM框架搭建Java项目是非常有利于提高代码可维护性和可读性,通过桥梁连接View与Model,让开发更加高效。不同的情况需要使用不同的框架,开发者可以根据自己的需求进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值