GithubHelp home page GithubHelp logo

czy1121.github.com's Introduction

Project

项目基本结构

  • app - 宿主应用,组合个业务模块形成应用
  • framework - 项目框架,引用各种库并加入第三方依赖形成有业务倾向的框架
  • libs - 项目业务相关或不稳定的的一些库
    • lib1
    • lib2
    • lib3
  • modules - 项目业务模块,依赖framework,各个模块是互相隔离无感知的
    • foo
    • bar
    • zoo
  • repo - 项目仓库,已经成型稳定
    • aar - 功能库,单一职责,应该在任何项目都可以单独引入使用

Repo

repositories {
    maven { url "https://gitee.com/ezy/repo/raw/cosmo/"}
} 

Foundation

UI

  • loading - https://github.com/czy1121/loading
    一些 loading 动画
  • statelayout - https://github.com/czy1121/statelayout
    简单实用无侵入高扩展的页面多状态布局(content,loading,empty,error)
  • tabs - https://github.com/czy1121/tabs
    简化 TabLayout 使用,使用 TabItemView 代替 TabLayout.TabView,支持远程动态加载图标
  • bannerview - https://github.com/czy1121/bannerview
    简单好用的水平轮播控件
  • pickerview - https://github.com/czy1121/pickerview
    使用 RecyclerView 实现的滚轮控件,这个可以显示3个以上元素(系统自带的 NumberPicker 写死了只能显示3个)。
  • pullrefresh - https://github.com/czy1121/pullrefresh
    实现了嵌套滚动机制的下拉刷新控件。
  • scrollinglayout - https://github.com/czy1121/scrollinglayout
    垂直方向支持多个子视图持续连贯滚动的容器,并且支持吸顶功能。
  • bk - https://github.com/czy1121/bk
    BKDrawable/BKFrameLayout/BKLinearLayout/BKTextView 可自定义 背景色/渐变/圆角/阴影/描边
    • 支持 背景色[正常/选中/按下/禁用]
    • 支持 渐变[类型/半径/方向/中心点XY坐标(0.0~1.0)/颜色(开始-中心-结束)]
    • 支持 圆角[半径,位置],根据宽高自动计算圆角半径 min(height,width) / 2
    • 支持 阴影[颜色/半径/边距(容纳阴影的空间)]
      • 阴影颜色默认自动从背景或描边获取,也可以手动设置
      • 阴影绘制算法取自 ShadowRenderer
    • 支持 描边[颜色/厚度/虚线长度/虚线间隙]
    • BKTextView 支持 图标[图标/尺寸/边距/着色/位置],类似 MaterialButton 的图标
  • tv - https://github.com/czy1121/tv
    一些实用的自定义TextView
    • CamelTextView - 可额外设置两个文本(prefix/suffix),可用于带单位的数值,比如:123.0
    • ThreeTextView
      • 可额外设置两个文本(text2/text3),text2 在 text 底下,text3 在右边
      • 可设置左右两个图标(leftIcon/rightIcon)
    • ExpandableTextView - 可展开收缩的的文本,点击切换状态,右下角显示状态图标(展开/收缩)
    • ReadMoreTextView - 可展开收缩的的文本,点击切换状态,尾部显示状态文本(展开/收缩)
  • rv - https://github.com/czy1121/rv
    RecyclerView 扩展:itemtype, loadmore, selection, decoration
    • rv-itemtype
      • 基于 ListAdapter 内置支持 AsyncListDiffer
      • 支持单类型列表(SingleTypeAdapter)和多类型列表(ItemTypeAdapter)
      • ItemType<Item, Holder> 表示列表里的一个类型
        • 通过 create 创建 Holder
        • 通过 matches 判断是否与数据(Item)关联
        • 通过 bind 将关联的数据(Item)呈现到 Holder
      • ItemSubtype 支持一个数据类型对应多个子类型布局
      • 内置的 ViewItemType 可以方便地将自定义视图(View)与数据(Item)关联组成一个ItemType
      • 内置的 LayoutItemType 可以方便地将布局(layoutResId)与数据(Item)关联组成一个ItemType
      • 内置的 bindingType 函数封装了 LayoutItemType 以支持 DataBinding
    • rv-loadmore,支持加载更多的多类型列表(LoadMoreAdapter)
      • 在 rv-itemtype, statelayout 的基础上实现了加载更多
      • 支持显示多种状态: loading, offline, empty, hasMore, ended, error
        • 开始加载:有网(loading), 无网(offline)
        • 完成加载:无数据(empty)
        • 完成加载/加载下一页:有数据有下一页(hasMore), 有数据无下一页(ended)
        • 加载下一页:出错(error)
    • rv-selection,基于 recyclerview-selection, ListAdapter 和 StringKey 的单选/多选库
      • selectionTracker 构造一个 SelectionTracker
      • SelectionViewModel 保存了当前的选择状态
    • rv-decoration
      • DividerDecoration 为列表项之间添加分隔线
      • SpaceDecoration 为列表项之间添加空白

Tool

Other

Demo

czy1121.github.com's People

Contributors

czy1121 avatar

Watchers

 avatar  avatar

czy1121.github.com's Issues

公钥证书相关概念 | RE:从零开始的EZY

http://reezy.me/p/20170421/pki-ca-cert/

公钥基础设施(Public Key Infrastructure, PKI)PKI是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。 公钥密码学标准(Public Key Cryptography Standards, PKCS)公钥密码学标准 最初是为推进公钥密码系统的互操作性,由RSA实验室与工业界、学术界和政府代表合作开发的。在

Android MeasureSpec | RE:从零开始的EZY

http://reezy.me/p/20170610/android-measure-spec/

MeasureSpec 封装了父元素对子元素宽(width)高(height)的布局需求。MeasureSpec 由尺寸(size)与模式(mode)组成。 有以下三种测量模式: EXACTLY指定了父元素为子元素测量的尺寸。宽高指定为match_parent时,模式通常为EXACTLY。 AT_MOST指定了子元素能取的最大尺寸。宽高指定为wrap_content时,模式通常为AT_MO

【翻译】Supporting Different Screens in Web Apps | RE:从零开始的EZY

http://reezy.me/p/20161012/supporting-different-screen-in-web-apps/

原文: https://developer.android.com/guide/webapps/targeting.html 由于 Android 可用于多种屏幕尺寸与像素密度,在 web 设计时你应当考虑这些因素以便页面总是以适当的尺寸显示。 当你的 web 页面目标为 Android 设备时,有两个需要考虑的主要因素: 视口(viewport)视口是一个为 web 页面提供绘图区域的矩形

【转载】PKI体系(公钥基础设施) | RE:从零开始的EZY

http://reezy.me/p/20170415/pki-public-key-infrastructure/

转载自:http://blog.sina.com.cn/s/blog_afd4c4ef0102w20n.html 介绍定义公钥基础设施PKI(Public Key Infrastructure),是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全

公钥证书相关概念 | RE:从零开始的EZY

http://reezy.me/p/20170421/pki-ca-cert/

公钥基础设施(Public Key Infrastructure, PKI)PKI是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。 公钥密码学标准(Public Key Cryptography Standards, PKCS)公钥密码学标准 最初是为推进公钥密码系统的互操作性,由RSA实验室与工业界、学术界和政府代表合作开发的。在

SSL与TLS | RE:从零开始的EZY

http://reezy.me/p/20170421/ssl-tls/

参考:SSL/TLS原理详解 安全套接字层(Secure Socket Layer, SSL)为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。 SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供

【翻译】触摸手势-跟踪移动(Tracking Movement) | RE:从零开始的EZY

http://reezy.me/p/20170618/android-touch-gesture-tracking-movement/

https://developer.android.com/training/gestures/movement.html 跟踪移动(Tracking Movement)当触摸点位置,压力或尺寸发生变化时,会触发一个新的 MotionEvent.ACTION_MOVE 事件。 因为基于手指的触摸并不总是最精确的交互形式,因此检测触摸事件通常更多地基于移动而不是简单的接触。 为了帮助应用程序区

编码|摘要|加密 | RE:从零开始的EZY

http://reezy.me/p/20170420/encoding-digest-encryption/

编码(encoding)编码本质上是信息形式的转化。 通过解码可以还原原始信息。 编码的目的是将消息转化成统一的格式,方便在不同系统之中传输。 例如最常见的ASCII字符编码。由于网络上只能传输二进制数据,任何数据如果想要经由网络传输,就必须先转化成二进制,ASCII 提供了一个将A、B、C等字母转化为二进制的规则。 例子:ASCII, Unicode, URL Encoding, Bas

Android MeasureSpec | RE:从零开始的EZY

http://reezy.me/p/20170610/android-measure-spec/

MeasureSpec 封装了父元素对子元素宽(width)高(height)的布局需求。MeasureSpec 由尺寸(size)与模式(mode)组成。 有以下三种测量模式: EXACTLY指定了父元素为子元素测量的尺寸。宽高指定为match_parent时,模式通常为EXACTLY。 AT_MOST指定了子元素能取的最大尺寸。宽高指定为wrap_content时,模式通常为AT_MO

Android WebView 详解  | RE:从零开始的EZY

http://reezy.me/p/20170515/android-webview/

相关API相关类介绍 WebResourceRequest 添加于API21,封装了一个Web资源的请求信息,包含:请求地址,请求方法,请求头,是否主框架,是否用户点击,是否重定向 WebResourceResponse 封装了一个Web资源的响应信息,包含:响应数据流,编码,MIME类型,API21后添加了响应头,状态码与状态描述 WebResourceError 添加于API23,封装了一个W

Android 7.0-使用FileProvider在应用之间共享文件 | RE:从零开始的EZY

http://reezy.me/p/20170822/Android-7.0-%E4%BD%BF%E7%94%A8FileProvider%E5%9C%A8%E5%BA%94%E7%94%A8%E4%B9%8B%E9%97%B4%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6/

FileProvider 介绍FileProvider 是 ContentProvider 的一个特殊子类,通过以 content:// 代替 file:/// Uri 来安全地分享与app关联的文件。 ”content URI“允许你给授予临时的读写访问权限。 当你创建一个包含”content URI“的 Intent 时,想要将它发送给另一个app你需要调用Intent.setFlags()添

第三方SDK集成库(授权|分享|支付) | RE:从零开始的EZY

http://reezy.me/p/20170331/sdk3rd-authorize-share-payment/

https://github.com/czy1121/sdk3rd 第三方SDK集成库,支持 授权/分享/支付 等功能 授权 目前支持 微信/QQ/新浪微博,客户端只需要配置APPID(新浪微博) 分享 目前支持 微信(会话/朋友圈/收藏),QQ/QZone,新浪微博 支付 目前支持 支付宝/微信支付 对于授权与分享,客户端不用配置APPSECRET,只需要要APPID(新浪微博授权需要re

编码|摘要|加密 | RE:从零开始的EZY

http://reezy.me/p/20170420/encoding-digest-encryption/

编码(encoding)编码本质上是信息形式的转化。 通过解码可以还原原始信息。 编码的目的是将消息转化成统一的格式,方便在不同系统之中传输。 例如最常见的ASCII字符编码。由于网络上只能传输二进制数据,任何数据如果想要经由网络传输,就必须先转化成二进制,ASCII 提供了一个将A、B、C等字母转化为二进制的规则。 例子:ASCII, Unicode, URL Encoding, Bas

【翻译】触摸手势-多点触摸(Handling Multi-Touch Gestures) | RE:从零开始的EZY

http://reezy.me/p/20170619/android-touch-gesture-multi-touch/

https://developer.android.com/training/gestures/multi.html 多点触摸手势就是多个指针(手指)同时触摸屏幕。本课介绍如何检测涉及多个指针的手势。 跟踪多个指针(Track Multiple Pointers)当多个指针同时触摸屏幕时,系统会生成以下触摸事件: ACTION_DOWN 触摸屏幕的第一个指针。启动手势,指针索引始终为0。 A

【转载】安全体系—加解密算法、消息摘要、消息认证技术、数字签名与公钥证书 | RE:从零开始的EZY

http://reezy.me/p/20170417/security-encryption-digest-mac-signature-certificate/

转载自:http://www.cnblogs.com/songwenlong/p/6517165.html 概述当发送方A向接收方B发送数据时,需要考虑的问题有: 数据的安全性。 数据的完整性,即数据不被篡改。 数据的真实性,即数据确实来自于发送方,传输过程中没有被替换。 数据的不可否认性,即验证发送方确实发送了数据。 本文只是对整套体系做一个整体的介绍,后续文章详细讲解各个步骤和算法。

移动应用多屏支持 | RE:从零开始的EZY

http://reezy.me/p/20170713/%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8%E5%A4%9A%E5%B1%8F%E6%94%AF%E6%8C%81/

基础概念常见尺寸单位 mm毫米,长度单位。` in(inch|″) 英寸,长度单位,1in=25.4mm。 px(pixel) 像素,图像显示的基本单位。 密度单位 ppi(pixels per inch), px/in 密度单位,每英寸像素数。 dpi(dots per inch) 密度单位,每英寸能印刷的点数。 ppi 与 dpi 基本上等价。不过iOS一般用ppi,Android一般用d

【转载】PKI体系(公钥基础设施) | RE:从零开始的EZY

http://reezy.me/p/20170415/pki-public-key-infrastructure/

转载自:http://blog.sina.com.cn/s/blog_afd4c4ef0102w20n.html 介绍定义公钥基础设施PKI(Public Key Infrastructure),是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全

Android 7.0-使用FileProvider在应用之间共享文件 | RE:从零开始的EZY

http://reezy.me/p/20170822/Android-7.0-%E4%BD%BF%E7%94%A8FileProvider%E5%9C%A8%E5%BA%94%E7%94%A8%E4%B9%8B%E9%97%B4%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6/

FileProvider 介绍FileProvider 是 ContentProvider 的一个特殊子类,通过以 content:// 代替 file:/// Uri 来安全地分享与app关联的文件。 ”content URI“允许你给授予临时的读写访问权限。 当你创建一个包含”content URI“的 Intent 时,想要将它发送给另一个app你需要调用Intent.setFlags()添

Android WebView 详解  | RE:从零开始的EZY

http://reezy.me/p/20170515/android-webview/

相关API相关类介绍 WebResourceRequest 添加于API21,封装了一个Web资源的请求信息,包含:请求地址,请求方法,请求头,是否主框架,是否用户点击,是否重定向 WebResourceResponse 封装了一个Web资源的响应信息,包含:响应数据流,编码,MIME类型,API21后添加了响应头,状态码与状态描述 WebResourceError 添加于API23,封装了一个W

【翻译】触摸手势-多点触摸(Handling Multi-Touch Gestures) | RE:从零开始的EZY

http://reezy.me/p/20170619/android-touch-gesture-multi-touch/

https://developer.android.com/training/gestures/multi.html 多点触摸手势就是多个指针(手指)同时触摸屏幕。本课介绍如何检测涉及多个指针的手势。 跟踪多个指针(Track Multiple Pointers)当多个指针同时触摸屏幕时,系统会生成以下触摸事件: ACTION_DOWN 触摸屏幕的第一个指针。启动手势,指针索引始终为0。 A

SSL与TLS | RE:从零开始的EZY

http://reezy.me/p/20170421/ssl-tls/

参考:SSL/TLS原理详解 安全套接字层(Secure Socket Layer, SSL)为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。 SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供

【转载】安全体系—加解密算法、消息摘要、消息认证技术、数字签名与公钥证书 | RE:从零开始的EZY

http://reezy.me/p/20170417/security-encryption-digest-mac-signature-certificate/

转载自:http://www.cnblogs.com/songwenlong/p/6517165.html 概述当发送方A向接收方B发送数据时,需要考虑的问题有: 数据的安全性。 数据的完整性,即数据不被篡改。 数据的真实性,即数据确实来自于发送方,传输过程中没有被替换。 数据的不可否认性,即验证发送方确实发送了数据。 本文只是对整套体系做一个整体的介绍,后续文章详细讲解各个步骤和算法。

【翻译】触摸手势-多点触摸(Handling Multi-Touch Gestures) | RE:从零开始的EZY

http://reezy.me/p/20170619/%E3%80%90%E7%BF%BB%E8%AF%91%E3%80%91%E8%A7%A6%E6%91%B8%E6%89%8B%E5%8A%BF-%E5%A4%9A%E7%82%B9%E8%A7%A6%E6%91%B8(Handling-Multi-Touch-Gestures)/

https://developer.android.com/training/gestures/multi.html 多点触摸手势就是多个指针(手指)同时触摸屏幕。本课介绍如何检测涉及多个指针的手势。 跟踪多个指针(Track Multiple Pointers)当多个指针同时触摸屏幕时,系统会生成以下触摸事件: ACTION_DOWN 触摸屏幕的第一个指针。启动手势,指针索引始终为0。 A

【翻译】触摸手势-跟踪移动(Tracking Movement) | RE:从零开始的EZY

http://reezy.me/p/20170618/android-touch-gesture-tracking-movement/

https://developer.android.com/training/gestures/movement.html 跟踪移动(Tracking Movement)当触摸点位置,压力或尺寸发生变化时,会触发一个新的 MotionEvent.ACTION_MOVE 事件。 因为基于手指的触摸并不总是最精确的交互形式,因此检测触摸事件通常更多地基于移动而不是简单的接触。 为了帮助应用程序区

Android MeasureSpec | RE:从零开始的EZY

http://reezy.me/p/20170610/android-measure-spec/

MeasureSpec 封装了父元素对子元素宽(width)高(height)的布局需求。MeasureSpec 由尺寸(size)与模式(mode)组成。 有以下三种测量模式: EXACTLY指定了父元素为子元素测量的尺寸。宽高指定为match_parent时,模式通常为EXACTLY。 AT_MOST指定了子元素能取的最大尺寸。宽高指定为wrap_content时,模式通常为AT_MO

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.