zoukankan      html  css  js  c++  java
  • 基于Material-Design的Gank-IO客户端


    title: 基于Material Design的Gank IO客户端
    date: 2017-03-13 12:58:03
    tags:
    - Android
    - Material Design
    - RxJava
    - Retrofit
    - ButterKnife
    - MVP
    categories:

    - Android

    版权声明:本文为博主原创文章,未经博主允许不得转载。
    微博:厉圣杰
    源码:GankIO
    文中如有纰漏,欢迎大家留言指出。

    据说去年 RxJava + Retrofit 很火,但是自己一直没有接触,周末闲来无事,使用 MVP + RxJava + Retrofit + ButterKnife 写了一个简单的基于 GankIO 提供的 API 的 Material Design 的客户端。

    先上个效果图:
    gank

    简单说下项目架构,项目分为 coreapp 两个 module。

    屏幕快照 2017-03-13 上午8.31.45

    core 是无业务逻辑无关的库,包含一些基类,如:BaseActivityBaseFragment等,这里封装好了 ButterKnife ,使用注解真的可以极大的加快开发效率。
    BaseImage 是临时封装 ImageViewGlide 的,封装的很差,待改进。

    app 是基于 GankIO 的客户端,设计到具体的业务逻辑,其项目结构大致如下:
    屏幕快照 2017-03-13 上午8.35.39
    其中,modules 包下是客户端的界面,由于界面不多,所以没有细分,contract 是 MVP 模式的契约类,具体可以参考 Google 开源的 MVP 项目:android-architecturepresenter 包下则是 P 层的实现,只涉及业务、数据,不涉及 UI ,UI 的操作全部封装在 V 层。

    如果对 MVP 模式不是很理解,可以切换到 master 分支,master 分支使用传统的 Android 架构开发。

    存在的问题

    1. SwipeRefreshLayout 与 WebView 的滑动冲突
    2. ViewPager 的状态保存

    项目写的比较匆忙,如有问题欢迎指出~

  • 相关阅读:
    iOS开发之窗口和视图
    GCD
    禁止非法用户登录综合设置
    大数减法(C++实现)
    大数加法(C++实现)
    迷宫问题 (BFS ➕输出路径)
    Pots (BFS ➕ 输出路径)
    Shuffle'm Up (map ➕ BFS)
    Prime Path (BFS)
    速算24点
  • 原文地址:https://www.cnblogs.com/travellife/p/ji-yuMaterialDesign-deGankIO-ke-hu-duan.html
Copyright © 2011-2022 走看看