美文网首页Android DemoAndroid studio编程实战项目
完整项目学习(原创自鸿洋公众号)

完整项目学习(原创自鸿洋公众号)

作者: yyg | 来源:发表于2017-11-13 11:44 被阅读86次

    原创 2017-11-13 鸿洋 鸿洋

    仅作学习资料收集,请勿转载,如有需要请关注原作者公众号。

    后台经常有人问我能不能推荐几个完整项目用于学习。借着周末的机会,给大家推荐几个,项目我基本都在本地运行过,并且会在

    文章末尾提供每个项目的apk

    用于大家下载预览,如果你觉得不错可以再学习源码,这样避免了大家还需要导入、运行后选择,可以节省一定大家的时间。

    此外,由于完整项目类很难在github上搜索,特意在wanandroid.com上开设了一个分类用于存储完整的开源项目方便大家查找(最近工作太忙,wanandroid开发进度比较慢~~)。

    http://www.wanandroid.com/article/list/0?cid=254

    下面开始推荐的项目吧~

    1 diycode客户端

    image

    Diycode 社区客户端,相信很多人应该都知道这个社区,偶尔会有一些质量很高文章、讨论等。

    他们不但开源了客户端,而且提供了一套SDK,如果你想要自己动手开发一个练手项目,是个不错的选择。

    此外,为了便于理解项目源码,他们在ReadMe中提供了几篇技术文章:

    • 01 - 整体架构

    • 02 - 缓存 WebView 中的图片

    • 03 - 点击网页图片查看大图

    • 04 - API 的封装哲学

    • 05 - 使用抽象类节省 1000 行代码

    这些文章不仅能够方便大家理解,也可以用来积累知识~

    2 咕咚翻译app

    微信图片_20171113115158.gif 微信图片_20171113115216.jpg

    一个实现『划词翻译』功能的 Android 应用 ,可能是目前 Android 市场上翻译效率最高的一款应用。

    如果你经常在手机上阅读文章,偶尔遇到一些英文单词需要翻译,你只要在当前页面“划词”即可实现翻译,该app非常实用,当然里面也包含一些技术值得你花时间去学习:

    1、全程使用 Dagger2 对项目进行类依赖管理

    2、项目使用标准的 MVP 架构,关于 MVP 的一篇博客

    3、实现对粘贴板的监听以及访问

    4、无需权限显示悬浮窗(6.0悬浮窗权限适配)

    5、使用 RxJava 探索函数式编程

    6、使用 Retrofit2 进行网络请求

    7、开机自启动

    8、Android 6.0 自定义文本操作栏

    https://github.com/maoruibin/TranslateApp

    3 开眼视频学习项目

    开眼.jpg

    做的非常精致,界面非常优雅,功能也处于相对完毕的状态。最重要的是是使用kotlin编写的,如果你正在或者想要学习kotlin,通过项目去学习要比通过文字来学习快得多。

    同时在Readme页面,作者也对kotlin的特性有一些初步的介绍。如果你现在时间较为充足,不妨学习下kotlin~

    程序仅供学习交流, 不可用于任何商业用途
    https://github.com/LRH1993/Eyepetizer-in-Kotlin

    4 仿今日头条学习项目

    image

    你可以认为这是一个遵循Material Design风格的第三方的头条客户端,功能已经相当完备,

    , 聚合了新闻/段子/图片/视频/头条号内容, 没有广告, 仅仅只有存粹的阅读, 不断完善中, 采用 MVP + RxJava + Retrofit 架构的项目~

    包含技术:

    • 基本遵循 Material Design 设计风格

    • 抓包获取今日头条API

    • 使用 Google 官方 MVP 架构

    • DrawerLayout + NavigationView + BottomNavigationView 搭配使用

    • RxBus 代替 EventBus 进行组件之间通讯

    • ViewPager 搭配 Fragment 懒加载

    • SwipeRefreshLayout 搭配 RecyclerView 下拉刷新上拉加载

    • 自定义 BottomNavigationBehavior 实现上滑隐藏下滑显示

    • RxJava + Retrofit2 + OkHttp3 做网络请求

    • OkHttp3 对网络返回内容做缓存, 还有日志、超时重连、头部消息的配置

    • V层基类的构建, 包括 BaseActivity 和 BaseFragment , 对外提供了相同的接口

    • 使用原生的夜间模式

    • 解决侧滑返回与 View 冲突问题

    • 内置 3 款 Logo, 随意切换

    • 使用 CoordinatorLayout 、 AppBarLayout 、 CollapsingToolbarLayout 、 BottomSheetDialog 等等新控件

    • 使用 7.0 新工具 DiffUtil , 不再无脑 notifyDataSetChanged

    • 使用 ItemTouchHelper 实现今日头条的频道排序、频道移动, 参考 ItemTouchHelperDemo

    • 使用 RxBinding 优雅实现搜索请求

    • 使用 RxLifecycle 绑定 RxJava 生命周期

    • 使用 Travis Cl 持续集成

    更加重要的是,作者双11还在更新代码,是个相当不错的学习项目~~

    程序仅供学习交流, 不可用于任何商业用途
    https://github.com/iMeiji/Toutiao

    5 仿斗鱼学习项目

    image

    高仿程度令人咋舌~光是UI和一些特效都够学习相当一段时间了。

    涉及到的一些第三方如下:

    • 弹幕三方库:DanMu

    • 轮播图:BGABanner

    • 刷新加载控件XRefreshView

    • 导航栏控件 FlyCoTabLayout

    • 弹幕与房间加密参考项目:斗鱼项目

    • 直播视频播放器 :vitamio播放器 (备注:直播视频格式:HLS,RTMP)

    程序仅供学习交流, 不可用于任何商业用途
    https://github.com/TeamCodeForGit/DouYu

    好了,以上项目我都在本地导入运行过,为了节省大家的时间,如果你希望看到实际的运行效果后然后再选择其中一个进行学习,可以在公众号内回复1113,为大家准备了这几个apk下载。

    想必会有朋友会遇到导入不成功的问题,如遇问题尽可能将gradle相关配置修改为自己常用的版本,然后根据提示解决

    相关文章

      网友评论

        本文标题:完整项目学习(原创自鸿洋公众号)

        本文链接:https://www.haomeiwen.com/subject/fxaamxtx.html