[s1e4]超详细!3小时从0开始开发一个GitHub客户端

公众号【国民程序员】回馈粉丝福利: 现金红包和送书活动火热进行中点击参与

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。

书籍详情请见:https://blog.csdn.net/ddnosh/article/details/107666187

作者:国民程序员
项目视频:https://www.bilibili.com/video/BV1vz4y1C7cC/
项目资料:微信搜索 【国民程序员】,回复 “github”
转载请保留此引用,感谢!

导语:

最近收到本书《Android App开发入门与实战》的一些读者的反馈,希望书籍最后章节的GitHub客户端实战开发环节能否单独拿出来讲解一遍,最好能通过视频形式展示出来。于是这段时间把GitHub客户端开发教程重新整理了一遍,并录制成视频。

这是第4篇,本篇主要是根据Axure提供的原型图和交互方案,制定出我们App所采用的开发方案,也就是我们所说的技术选型。

微信搜索 【国民程序员】,回复 “github”,即可获取本项目源码和后续完整的实战文章教程。

技术选型

1. 前言

上一篇文章中我们介绍了用Axure设计出的低保真图,其实有了低保真图后就可以进入接下来的开发环节了。
一般来说,在项目开发过程中,产品经理会提出下一版本的需求,并附带原型图,然后跟开发人员和项目经理一起评估工作量、讨论并最终确定下一版本具体的需求。
需求确定后,开发人员可以进行开发,而此时需求还会进入到UI设计人员这边,由UI设计人员提供最终的高保真图片,比如通过蓝湖。

2. 架构

MVVM(Model-View-ViewModel)。MVVM也有很多种版本,这里我们说的是Google版本的MVVM,也就是JetPack中MVVM架构。
下图是Google自己的MVVM架构实现图:
在这里插入图片描述
在这里插入图片描述

from:https://developer.android.com/jetpack/guide#drive-ui-from-model

Google版本的MVVM优点:

  1. 各层之间高度解耦;
  2. 自动管理生命周期,不用担心内存泄漏;
  3. 通过LiveData可以实现数据持久化;

2. 功能模块

• 网络模块:rxjava + okhttp + retrofit
• 图片模块:glide
• 数据库模块:room
• 异步分发模块:eventbus
• 权限模块:rxpermissions
• 数据解析:gson
• IOC模块:butterknife
• 异步框架:rxjava、rxandroid
• 封装base库工程

3. UI模块

• ConstraintLayout
• TabLayout
• BaseRecyclerViewAdapterHelper
• RecyclerView
• ViewPager
• SmartRefreshLayout
• 组合:
(1) DrawerLayout
(2) NavigationView
(3) CoordinatorLayout
(4) AppBarLayout
(5) Toolbar

4. 技术方案

  1. API接口
    https://developer.github.com/v3/
    https://developer.github.com/apps/differences-between-apps/

调试:curl https://api.github.com/zen
在这里插入图片描述
关于cmder的一些使用技巧,比如保存日志等:https://blog.csdn.net/ddnosh/article/details/104244577

  1. AndroidX

Existing packages, such as the Android Support Library, are being
refactored into AndroidX. Although Support Library versions 27 and
lower are still available on Google Maven, all new development will be
included in only AndroidX versions 1.0.0 and higher.

在这里插入图片描述

创建项目选择AndroidX自动生成。
3. base库工程
在这里插入图片描述

感兴趣的朋友可以查看下一篇博客:[s1e5]超详细!3小时从0开始开发一个GitHub客户端

想要获取本实战项目后续完整文章教程和视频内容,请在微信搜索 【国民程序员】,回复 “github”即可。

欢迎关注我的技术公众号:国民程序员,我们的目标:输出干货

  1. 每天分享原创技术文章
  2. 海量免费技术资料和视频学习资源
  3. 分享赚钱门道,带领程序员走向财务自由
图片名称

猜你喜欢

转载自blog.csdn.net/ddnosh/article/details/108697777