【Android】又一个Gank客户端来啦

作者: 请叫我大苏 | 来源:发表于2017-06-01 23:16 被阅读1510次

老规矩,看效果

image

介绍

Gank平台的移动端又来了,非常感谢Gank平台开放接口,让我们这些小白有机会练手、学习。

本项目在架构方面有稍微花点心思,虽然还是最简单的MVC模式,但基本参考MVP的思想,Activity只负责ui显示逻辑,ui和业务会尽量的分离开,每个包的类权限严格控制,尽量对外部隐藏其实现细节。另外,本项目不像其他热门的Gank客户端那样使用诸如Rx系列的高级开源库,代码应该是可以很容易看懂的,吧。哈哈,有兴趣的可以fork看看,有什么问题可以联系我哈。

以下是项目所依赖的第三方库:

  • Retrofit + Okhttp (网络访问)
  • Gson (Json数据解析)
  • Glide (图片加载)
  • photoview (支持手势缩放的图片查看)
  • Jsoup (Html解析)

项目

Github地址

下图是项目的代码结构图,我分成mode层和ui层,让ui与业务逻辑尽可能解耦,感兴趣的clone项目看看哈,架构方面才刚接触,很多地方考虑不周到,欢迎指点一下哈。过段时间,我会单独写篇博客来介绍项目的架构设计方面的一些想法。

项目代码结构图

如果有clone项目的童鞋,出现了编译失败的问题,可以参考下本项目的开发环境哈:

  • Android Studio: 2.2.3
  • Gradle Version: 2.14.1
  • Android Plugin Version: 2.2.3 (根目录build.gradle里gradle的版本)
  • compileSdkVersion: 25
  • buildToolsVersion: "25.0.2"

以上设置在两个build.gradle里都可以找到。

如果把代码下载到本地编译报错的话,有可能是因为gradle的版本不一致,也有可能是因为Android SDK的版本问题,如果有报错的童鞋试着在这几个地方查查看哈。

效果

效果只展示了部分效果,感兴趣的可以去我Github看看更详细的,或者是下载下来试试看哈。

效果展示

App下载

Fir

扫一下下载App

鸣谢

drakeet

CaMnter

burgessjp


QQ图片20180316094923.jpg

最近刚开通了公众号,想激励自己坚持写作下去,初期主要分享原创的Android或Android-Tv方面的小知识,感兴趣的可以点一波关注,谢谢支持~~

相关文章

  • 【Android】又一个Gank客户端来啦

    老规矩,看效果 介绍 Gank平台的移动端又来了,非常感谢Gank平台开放接口,让我们这些小白有机会练手、学习。 ...

  • Android Gank.io客户端

    一直想写一个类似于新闻客户端的APP,但是没有碰到免费的API。不知道什么时候在网上兜兜装转看到了gank.io有...

  • 一个简洁实用的gank Android客户端

    前言 gank 客户端很多,优秀的也不少,但一直找不到适合自己日常使用的。偶然机会看到iOS平台gank客户端 h...

  • GankIOS 客户端

    Gank集中营 一款追求全新用户体验的干货集中营 iOS客户端同时也提供小程序版本和Android版本 应用截图 ...

  • 我的第一个开源项目

    前言 最近利用自己的工作之余写了这个简单的 Gank.io 客户端。虽然网上已经有很多类似的 Gank.io 客户...

  • 文章索引

    from gank.io Android单元测试http://qlm.pw/2016/11/05/android-...

  • 学习资料整理

    Rxjava 教程 给 Android 开发者的 RxJava 详解: https://gank.io/post/...

  • 一个用Kotlin写的Gank客户端

    BigGirl-Kotlin使用Kotlin开发的Gank客户端,是一个集图片浏览、开发技术干货的综合资讯客户端,...

  • Android资讯

    android 开发技术周报 android 科学院 开发技术前线 开发日报 移动开发每周阅读清单 gank co...

  • GankDaily(代码&妹子)

    代码&妹子 这是一款Bottom Navigation guidelines风格的Gank的客户端。 使用了主流的...

网友评论

  • android_yiluo:博主在吗?我用单独用你的baseFragment时,数据错乱怎么办
    请叫我大苏:@android_yiluo 拿这个baseFragment去用
    请叫我大苏:@android_yiluo
    /**
    * Created by suxq on 2018/3/27.
    * 懒加载
    * {@link #onFragmentFirstVisible() Fragment第一次可见时回调}
    * {@link #onFragmentVisibleChange(boolean) Fragment可见状态发生变化时回调}
    * ps:Fragment第一次可见时,上述两个方法都会回调,后续就只有第二个会被回调
    */

    public class BaseFragment extends Fragment {

    private boolean isFirstVisible = true;
    protected boolean isFragmentVisible = false;

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (getView() == null) {
    return;
    }
    if (isFirstVisible && isVisibleToUser) {
    onFragmentFirstVisible();
    isFirstVisible = false;
    }
    if (isFragmentVisible ^ isVisibleToUser) {
    onFragmentVisibleChange(isVisibleToUser);
    isFragmentVisible = isVisibleToUser;
    }
    }

    @Override
    public void onViewCreated(View view, @nullable Bundle savedInstanceState) {
    if (getUserVisibleHint()) {
    if (isFirstVisible) {
    onFragmentFirstVisible();
    onFragmentVisibleChange(true);
    isFirstVisible = false;
    isFragmentVisible = true;
    }
    }
    super.onViewCreated(view, savedInstanceState);
    }

    @Override
    public void onDestroyView() {
    super.onDestroyView();
    isFirstVisible = true;
    isFragmentVisible = false;
    }

    protected void onFragmentFirstVisible() {

    }

    protected void onFragmentVisibleChange(boolean isVisible) {

    }

    }
    android_yiluo:我的QQ3414266160
  • mundane:推荐一个录屏工具, JakeWharton的telecine
    https://github.com/JakeWharton/Telecine
    googleplay可下载
  • 才兄说:想问一下你,app内的信息还是你们自己做后台提供的数据?
    请叫我大苏:后台提供的数据哈
  • 无名小卒陶然:妹子里面的图片竟然没法下载
    请叫我大苏:哈哈哈,好,这个功能我加
  • 爱言语论:github地址呢?
    请叫我大苏:博客里有哈,在大标题项目下面
  • 贝利Bailey:感谢楼主,哈。

本文标题:【Android】又一个Gank客户端来啦

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