1 Star 1 Fork 0

prostory / NetEase News

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

网易新闻客户端

描述

使用kotlin编写的Android平台网易新闻客户端,项目数据采用的是3g.163.com上的接口,项目代码采用Clean架构进行组织,使用MVI(Model-View-Intention)设计模式实现。

注意:由于该项目所使用的接口都是未公开的,所有数据都属于网易新闻平台,请勿将其用于商业目的。

架构

项目采用经典的Clean三层体系结构:

  • core —— 项目的公用代码
  • features —— 项目的实现部分
    • data —— 数据层(包括网络、数据库、文件、内存等数据提供者)
    • domain —— 业务逻辑层
      • bean —— 存放所有实体类
      • usecase —— 存放所有业务逻辑
    • presentaion —— 表示层(用于显示界面)
      • channellist —— 频道列表界面(主界面)
      • itemlist —— 频道的内容列表界面
      • commentlist —— 评论列表界面
      • article —— 新闻文章界面
      • photoset —— 图片集合界面

界面

界面采用单Activity多Fragment的模式进行处理,所支持的频道包括【新闻, 娱乐, 体育, 财经, 图片, 汽车, 军事, 直播, 视频, 科技, 手机, 星闻, 数码, 本地, 网易号, 段子, 时尚, 跟贴, 游戏, 教育, 公开课, 健康, 旅游, 亲子, 艺术, 双创】,除了部分频道如房产等没有支持之外,大部分频道都可以支持。

新闻 娱乐 图片
news ent photo
直播 视频 星闻
live video star
本地 段子 跟帖
新闻文章 评论 图片

开源库

  • dagger2 —— 主要用于管理类的实例
  • roxie —— 提供MVI设计模式的核心代码
  • rxjava2 —— 提供异步和链式编程,roxie也是在此基础上实现的
  • smartTabLayout —— 用于显示频道列表
  • jsoup —— 用于解析html页面
  • artPlayer —— 用于播放视频

感谢这些库的作者所贡献的代码。

APK下载体验

该项目只是一个简单的应用,只实现了部分功能,例如用户评论只是简单的用列表显示出来,无法进行回复等等。界面和交互也只是简单的实现了一下,很多细节都没有进行处理。另外,开发过程中还发现不少BUG尚未处理。这些等以后有时间再进行处理。在开发应用的时候已经尽量保证应用比较轻量,目前release的APK的大小不超过2M。

该项目的主要目的是为了验证MVI设计模式开发较为复杂的应用的可行性。刚刚接触到MVI设计模式,提供的示例基本上都是一些非常简单的例子,具体在项目开发中表现的怎么样并不确定。整个应用的开发包括收集数据接口和后续的一些简单的优化只花了不到两周时间,实际功能开发的时间大概就一周,相比来说MVI设计模式确实有非常多的优点可以帮助我们进行快速开发。这里就不对MVI设计模式进行展开了,感兴趣的同学可以自己去网上了解。

空文件

简介

Android平台上的网易新闻客户端,采用Clean架构+MVI设计模式实现 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/prostory/NetEase-News.git
git@gitee.com:prostory/NetEase-News.git
prostory
NetEase-News
NetEase News
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891