V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
TommyLemon
V2EX  ›  Android

Android 快速开发框架 ZBLibrary 19.0 发布, Star 数已达 3K

  •  1
     
  •   TommyLemon · 2018-11-28 12:24:21 +08:00 · 14270 次点击
    这是一个创建于 2172 天前的主题,其中的信息可能已经有所发展或是发生改变。

    更新内容:

    新增一键自动删除所有编译缓存 build 目录的 Window 批处理脚本 clearAllBuildCache.bat ;
    getActivity 抽象到 BaseActivity ;
    解决条形码与预览框的水平倾角超过 30%识别不了,感谢群友 albert 的贡献;



    ZBLibrary-Android 快速开发框架

    Android Gradle Version License

    MVP 架构的 Android 快速开发框架,
    提供一套开发标准( View,Data,Event )以及模板和工具类并规范代码。
    封装层级少,简单高效兼容性好。

    OKHttp、UIL 图片加载、ZXing 二维码、沉浸状态栏、下载安装、自动缓存以及各种 Base、Demo、UI、Util 直接用。

    全新的手势,侧滑返回、全局右滑返回都 OUT 啦!

    BaseView,自定义 View 竟然如此简单;

    Entry<K, V>,两个变量的 Model/JavaBean 再也不用写了;

    BaseHttpListActivity,几行代码搞定 http 请求列表 加载和缓存;

    还有 100 多个常用style,一行搞定 View 属性,一键统一配置 UI...

    点击右边链接查看如何使用http://my.oschina.net/u/2437072/blog/665241

    [以下 Gif 图看起来比较卡,实际在手机上 App 运行很流畅]

    ZBLibraryDemoApp


    APIJSONApp


    下载试用

    ZBLibraryDemoApp.apk(ZBLibrary)

    APIJSONApp.apk(APIJSON+ZBLibrary)


    生成代码

    可使用 APIJSONAuto 自动化接口管理工具来生成接口相关代码:

    • 自动生成封装请求 JSON 的代码
    • 自动生成解析结果 JSON 的代码
    • 自动生成 Modle/JavaBean

    https://github.com/TommyLemon/APIJSONAuto


    编程思想

    • 能复制就复制,节约时间避免出错
    • 保留原本结构,简单上手容易调试
    • 增加必要注释,说明功能和使用方法
    • 说明随手可得,不用上网或打开文档
    • 命名必须规范,容易查找一看就懂
    • 重载尽量转发,减少代码容易修改
    • 最先校验参数,任意调用不会崩溃
    • 代码模块分区,方便浏览容易查找
    • 封装常用代码,方便使用降低耦合
    • 回收多余占用,优化内存提高性能
    • 分包结构合理,模块清晰浏览方便
    • 多用工具和快捷键,增删改查快捷高效

    相关推荐

    Android 快速开发框架-ZBLibrary 介绍

    如何使用 ZBLibrary-Android 快速开发框架

    仿 QQ 空间和微信朋友圈,高解耦高复用高灵活

    全新的手势,侧滑返回、全局右滑返回都 OUT 啦!

    不一样的 Android 选择器,简单方便,地址日期时间都好用!

    自定义 ZXing 二维码扫描界面并解决取景框拉伸等问题

    零门槛! ZBLibrary 仿微信朋友圈自定义 View,就是这么简单!

    BaseHttpListActivity,几行代码搞定 Http 列表请求、加载和缓存

    ListView 滑动不爽,滚动一页得滑几次?该用分页列表啦!

    高灵活低耦合 Adapter 快速开发攻略

    万能的 Entry,两个变量的 Model/JavaBean 再也不用写了!

    Android HTTPS 如何 10 分钟实现自签名 SSL 证书

    100 多个 Styles 快速开发布局 XML,一行搞定 View 属性,一键统一配置 UI...


    其它项目

    APIJSON 后端接口和文档自动化,前端(客户端) 定制返回 JSON 的数据和结构

    APIJSONAuto 自动化接口管理工具,自动生成封装与解析 JSON 的代码

    APIJSON-Android-RxJava ZBLibrary(UI) + APIJSON(HTTP) + RxJava(Data)


    持续更新

    https://github.com/TommyLemon/Android-ZBLibrary/commits/master


    我要赞赏

    GitHub 右上角点 ⭐Star 支持下吧 ^_^
    https://github.com/TommyLemon/Android-ZBLibrary

    40 条回复    2019-06-06 13:50:11 +08:00
    TommyLemon
        1
    TommyLemon  
    OP
       2018-11-28 15:08:18 +08:00
    大家有什么问题多多交流哦
    hyyou2010
        2
    hyyou2010  
       2018-11-29 10:10:26 +08:00
    好全。。。。已 star
    TommyLemon
        3
    TommyLemon  
    OP
       2018-11-29 10:13:51 +08:00
    @hyyou2010 嘿嘿,感谢
    co3site
        4
    co3site  
       2018-11-29 10:17:52 +08:00 via Android
    emmm,又想骗我去试水 Android 开发
    TommyLemon
        5
    TommyLemon  
    OP
       2018-11-29 10:30:44 +08:00
    @co3site 哈哈
    GoodRainChen
        6
    GoodRainChen  
       2018-11-29 10:31:20 +08:00   ❤️ 2
    "能复制就复制,节约时间避免出错"
    确认不是“能复用就复用”吗?
    复制代码可不是什么好思路...
    jesonyang
        7
    jesonyang  
       2018-11-29 10:32:37 +08:00
    MVP 时代要过去了,mvvm 的时代来临了!
    TommyLemon
        8
    TommyLemon  
    OP
       2018-11-29 10:40:46 +08:00
    @GoodRainChen
    复制粘贴比起手写能大幅提高效率,以及减少出错的概率。
    除了 封装、自动生成代码,应该没有比 复制粘贴 更快的了。
    这个思想是由浅入深、逐步递进的关系,后面就提到了 “封装常用代码,方便使用降低耦合”
    TommyLemon
        9
    TommyLemon  
    OP
       2018-11-29 10:42:58 +08:00
    @jesonyang
    目前还没看到 Android 有很好用的 MVVM 框架(类似前端的 Vue ),Google 官方推荐的 DataBinding 一直都没火起来。
    ukyoo
        10
    ukyoo  
       2018-11-29 10:45:39 +08:00
    传音的啊,我同学在上海传音
    TommyLemon
        11
    TommyLemon  
    OP
       2018-11-29 10:48:45 +08:00
    @ukyoo 我在深圳,哈哈
    ForkGagHub
        12
    ForkGagHub  
       2018-11-29 10:50:53 +08:00   ❤️ 8
    sb
    TommyLemon
        13
    TommyLemon  
    OP
       2018-11-29 11:07:28 +08:00
    @ForkGagHub 这么大的人了应该成熟点
    tanranran
        14
    tanranran  
       2018-11-29 11:43:44 +08:00
    @jesonyang #7 #7 Android 官方的 MVVM 各种坑。。。MVP 还是主流吧
    loshine1992
        15
    loshine1992  
       2018-11-29 11:52:02 +08:00
    TommyLemon
        16
    TommyLemon  
    OP
       2018-11-29 11:55:28 +08:00
    @loshine1992 感谢分享,我去看看
    hnbcinfo
        17
    hnbcinfo  
       2018-11-29 13:40:19 +08:00
    不错,先 star,周末研究下看看
    TommyLemon
        18
    TommyLemon  
    OP
       2018-11-29 14:45:44 +08:00
    @hnbcinfo 感谢
    yepinf
        19
    yepinf  
       2018-11-29 15:26:36 +08:00
    先 mark, 坐等一份 Ios 版本。
    哈哈哈哈
    TommyLemon
        20
    TommyLemon  
    OP
       2018-11-29 15:56:15 +08:00
    @yepinf 不会 iOS,只写过 Swift 发 HTTP 请求的 Demo ( APIJSON-iOS ) 哈
    https://github.com/TommyLemon/APIJSON/
    CrisTao
        21
    CrisTao  
       2018-11-29 16:33:53 +08:00
    fork 了一下,整体还不错,加油
    jlkm2010
        22
    jlkm2010  
       2018-11-29 16:44:20 +08:00
    mvvm 哪里有坑?现在是 gui 开发的主流了,谷歌 databinding 现在也非常成熟了。只不过现在移动端开发不像之前
    jlkm2010
        23
    jlkm2010  
       2018-11-29 16:44:55 +08:00
    mvvm 哪里有坑?现在是 gui 开发的主流了,谷歌 databinding 现在也非常成熟了。
    只不过现在移动端原生开发不像之前那么火热,没多少人关注罢了
    TommyLemon
        24
    TommyLemon  
    OP
       2018-11-29 16:58:16 +08:00
    @CrisTao 感谢
    bertsir
        25
    bertsir  
       2018-11-29 17:58:50 +08:00
    就说我的怎么今天也多了几个 star https://github.com/bertsir/zBarLibary
    OTWay
        26
    OTWay  
       2018-11-29 17:59:18 +08:00
    全家桶系列~~
    TommyLemon
        27
    TommyLemon  
    OP
       2018-11-29 18:06:37 +08:00
    @bertsir 哈哈,搜索出来的相似结果
    TommyLemon
        28
    TommyLemon  
    OP
       2018-11-29 18:19:28 +08:00
    @OTWay
    并不是,ZBLibrary 主要是对列表、网格、弹窗等常用组件的封装, 提供 BaseActivity,BaseListActivity, BaseHttpListActivity, BaseFragment,BaseListFragment, BaseHttpListFragment BaseAdapter, BaseView 等, 方便快速开发。
    至于 自动化增删改查的后端 ORM 库 APIJSON, 自动化接口管理工具 APIJSONAuto 那都是可选配的,默认不带哈。
    houskii
        29
    houskii  
       2018-11-29 18:45:50 +08:00
    mvvm 可以看看 airbnb 的 MxRx
    TommyLemon
        30
    TommyLemon  
    OP
       2018-11-29 19:26:51 +08:00
    @houskii OK,感谢分享
    nicevar
        31
    nicevar  
       2018-11-30 09:56:30 +08:00
    楼主做的不错,有需要的人可以拿来就用,节省不少开发时间,赞一个
    TommyLemon
        32
    TommyLemon  
    OP
       2018-11-30 09:57:07 +08:00
    @nicevar 感谢支持
    TommyLemon
        33
    TommyLemon  
    OP
       2018-11-30 10:24:39 +08:00
    @jlkm2010 去 DataBinding 群看看就知道了,自从 Google 宣布将 Kotlin 加入 Android 官方开发语言,
    群里就炸锅了,一堆人在纠结要不要 弃用 DataBinding 转到 Kotlin 用 Anko
    TommyLemon
        34
    TommyLemon  
    OP
       2018-11-30 10:38:53 +08:00
    @tanranran DataBinding 的 XML 里面转义字符,以及 bug 难调试等问题确实很烦
    siyehua
        35
    siyehua  
       2018-11-30 10:50:56 +08:00
    谷歌自带的 Architecture 这个框架思想就是 MVVM,DataBding 只是很小的一块,其中以 Lifeclye,ViewModle 为核心的才是真正的 MVVM,DataBinding 的双向绑定很难解决复杂的逻辑,且在 xml ( View 层)绑定数据逻辑,本来就不是一件很好的事情
    Blanke
        36
    Blanke  
       2018-11-30 10:56:13 +08:00
    @siyehua #35 同意,我实际开发使用 MVVM,会用到 google 提供的 lifecycle/ViewModel 等,但是不考虑 DataBinding,感觉还不成熟,xml 写逻辑太难排查问题,达不到 Vue 等使用体验
    TommyLemon
        37
    TommyLemon  
    OP
       2018-11-30 11:20:11 +08:00
    @siyehua 是的,其实主要还是因为 XML 限制以及实现的问题,像 Vue 在 HTML 标签里内嵌一些判断等代码就很好用
    TommyLemon
        38
    TommyLemon  
    OP
       2018-11-30 11:31:27 +08:00
    @Blanke 主要还是 XML 内字符转义的问题,
    Vue 支持 raw string,在 HTML 里 if,show 等标签里插入 userId && userId > 0 等判断不用转义,
    DataBinding 写 XML 就得 userId &amp;&amp; userId &gt; 0,写法繁琐,还不方便阅读
    TommyLemon
        39
    TommyLemon  
    OP
       2018-11-30 15:25:32 +08:00
    @ForkGagHub 这种纯粹发泄情绪的评论居然还有 5 个赞?
    baozijun
        40
    baozijun  
       2019-06-06 13:50:11 +08:00
    编程思想
    能复制就复制,节约时间避免出错
    保留原本结构,简单上手容易调试
    增加必要注释,说明功能和使用方法
    说明随手可得,不用上网或打开文档
    命名必须规范,容易查找一看就懂
    重载尽量转发,减少代码容易修改
    最先校验参数,任意调用不会崩溃
    代码模块分区,方便浏览容易查找
    封装常用代码,方便使用降低耦合
    回收多余占用,优化内存提高性能
    分包结构合理,模块清晰浏览方便
    多用工具和快捷键,增删改查快捷高效

    mark 一下,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2688 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:00 · PVG 23:00 · LAX 07:00 · JFK 10:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.