V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
TommyLemon
V2EX  ›  Android

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

  •  1
     
  •   TommyLemon · Nov 28, 2018 · 18742 views
    This topic created in 2707 days ago, the information mentioned may be changed or developed.

    更新内容:

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

    mark 一下,谢谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1171 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 78ms · UTC 23:20 · PVG 07:20 · LAX 16:20 · JFK 19:20
    ♥ Do have faith in what you're doing.