小马快跑的博客

明天的成功,需要今天的努力!

路由框架ARouter使用及源码解析(一)

系列文章: 路由框架ARouter使用及源码解析(一) 路由框架ARouter使用及源码解析(二) 文章目录系列文章:一、什么是路由?二、阿里ARouter2.1、配置&初始化2.1、基本跳转2.3、获取Fragment实例2.4、进阶用法之拦截器&通过URL跳转2...

2019-04-09 20:25:02

阅读数 10

评论数 0

路由框架ARouter使用及源码解析(二)

系列文章: 路由框架ARouter使用及源码解析(一) 路由框架ARouter使用及源码解析(二) 文章目录ARouter解析注解ARouter初始化ARouter跳转 上一篇主要介绍了ARouter的使用,本篇来分析一下ARouter的实现原理 ARouter解析注解 在上一篇中,我们知道在使用...

2019-04-09 20:23:10

阅读数 52

评论数 0

Gradle理论与实践四:自定义Gradle插件

文章目录Gradle插件1、Java Gradle插件2、Android Gradle插件2.1、应用Android Gradle插件 Gradle插件 Gradle可以认为是一个框架,负责定义流程和规则。而具体的编译工作则是通过插件的方式来完成的。比如编译 Java 有 Java 插件,编译...

2018-12-25 15:10:56

阅读数 212

评论数 0

Gradle配置中subprojects 和 allprojects 的区别

subprojects 和 allprojects 的区别,先给出结论,然后通过一个例子来佐证结论。 结论:allprojects是对所有project的配置,包括Root Project。而subprojects是对所有Child Project的配置 举个例子: 新建一个test_g...

2018-12-24 12:30:02

阅读数 1114

评论数 0

Gradle理论与实践三:Gradle构建脚本基础

文章目录Gradle构建脚本基础1、创建一个task2、创建Task的几种方式3、Task内部执行顺序4、Task任务依赖5、自定义属性 Gradle构建脚本基础 Project:根据业务抽取出来的一个个独立的模块 Task:一个操作,一个原子性操作。比如上传一个jar到ma...

2018-12-24 12:25:30

阅读数 190

评论数 0

Gradle理论与实践二:Groovy介绍

Groovy介绍 Groovy是基于JVM虚拟机的一种动态语言,语法和Java非常相似,Groovy代码在执行时同样编译成Class字节码在JVM上执行,可以认为Groovy扩展了Java语言。除此之外,Groovy还支持闭包、支持DSL(Domain Specific Lauguage 领域特...

2018-12-24 12:16:43

阅读数 162

评论数 0

Gradle理论与实践一:Gradle入门

文章目录Gradle入门1、配置Gradle环境2、Gradle之Hello World3、gradle 与gradlew的区别4、Gradle命令介绍5、Gradle 工作流程 Gradle入门 Gradle一门DSL(Domain Specific Language,领域特定语言),Gra...

2018-12-24 12:03:45

阅读数 326

评论数 0

GIT常用命令总结(持续更新中...)

GIT常用命令总结 删除远程分支 git push --delete origin 分支名 修改提交人的姓名和邮箱 全局替换: git config --global user.name 用户名 git config --global user.email 用户邮箱 ...

2018-09-29 00:47:32

阅读数 142

评论数 0

Android基于DialogFragment封装一个通用的Dialog

文章目录一、背景二、效果图三、为什么选择DialogFragment?四、UML图五、使用文档六、源码地址 一、背景 Dialog是项目中最常用的一个功能之一了,接手项目的时候发现项目中是封装了一个dialog的,但是发现是用单例封装的,大致如下: private MyDialog(...

2018-09-19 20:01:14

阅读数 2501

评论数 6

Android嵌套滑动的分析与实践

【一】传统事件分发 1.1 传统事件分发流程 1.2 传统事件滑动冲突 1.2.1外部拦截法 1.2.2内部拦截法 1.3 传统嵌套滑动冲突 1.3.1 ScrollView+ ListView嵌套冲突 1.3.2 ScrollView+ ViewPager嵌套问题 【二】 传统...

2018-06-27 20:50:36

阅读数 280

评论数 0

Android 采用AOP方式封装6.0权限管理

本篇文章已授权微信公众号 hongyangAndroid(鸿洋)独家发布 目录: 【一】背景 【二】效果图 【三】整体思路 【四】使用举例 4.1 申请单个权限 4.2 申请多个权限 4.3 跳转到设置类 【五】总结 【六】源码 【一】背景 6.0运行时申请权限已经是一...

2018-03-30 15:46:19

阅读数 1948

评论数 9

Java自定义注解及解析

目录: 注解 定义注解 注解处理器运行时解析注解 编译时解析注解自动生成.class代码 总结 注解 注解为我们在代码中添加信息提供一种形式化的方法,使我们可以在源码、编译时、运行时非常方便的使用这些数据。 注解是在JAVA ...

2018-03-28 16:36:52

阅读数 1633

评论数 0

Android本地存储的几种方式

Android提供了多种选择来保存永久性的数据,根据不同的需求来使用不同的保存方式,一般情况下,保存数据的方式有下面几种: SharedPreferences 内部存储 外部存储 SQLite 网络连接 下面主要来看一下前四种数据保存方式。 SharedPreferences Sh...

2018-01-15 19:30:50

阅读数 13148

评论数 0

Android使用LruCache、DiskLruCache实现图片缓存+图片瀑布流

PS:本文中的例子来源于官网地址:Caching Bitmaps,源码地址(自备梯子):Caching Bitmaps Demo,并在其基础上稍微改变了一下。PPS:本文仅用于学习利用LruCache、DiskLruCache图片缓存策略、实现瀑布流和Matix查看大图缩放移动等功能,如果想用到项...

2017-07-17 17:52:35

阅读数 308

评论数 0

Android高仿QQ小红点

上一篇文章分析了QQ侧滑栏的实现, 文章地址: http://www.jianshu.com/p/1834ce7a2ce7 ,本篇继续来实现一下QQ小红点的功能,闲言少叙,先上效果图:代码已上传至Github:高仿QQ小红点,如对您有帮助,欢迎star~感谢绘制贝塞尔曲线:主要是当在一定范围内拖...

2017-06-20 00:21:20

阅读数 1171

评论数 0

Android仿QQ侧滑菜单

先上效果图: GIF图有点模糊,源码已上传Github:Android仿QQ侧滑菜单整体思路:自定义ItemView的根布局(SwipeMenuLayout extends LinearLayout),复写onTouchEvent来处理滑动事件,注意这里的滑动是View里面内容的滑动而不是Vie...

2017-06-13 10:12:52

阅读数 917

评论数 1

Android使用RecycleView实现魅族手机通讯录界面

本文主要是通过模仿魅族通讯录,学习一下RecycleView的基本用法,水平有限,如有不当之处,欢迎批评指正,不胜感激!先看通过RecycleView实现的一个效果图: 完整代码见github:仿魅族通讯录Recycleview继承关系: RecycleView的三个主要参与者: 1、L...

2017-05-31 10:54:29

阅读数 2778

评论数 1

Android 封装一个通用的PopupWindow

先上效果图: 完整代码地址已上传Github:CommonPopupWindowPopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。一般PopupWindow的使用://准备PopupWindow的布局View Vi...

2017-05-06 18:07:40

阅读数 4860

评论数 6

Android ViewTreeObserver使用总结及获得View高度的几种方法

ViewTreeObserver 注册一个观察者来监听视图树,当视图树的布局、视图树的焦点、视图树将要绘制、视图树滚动等发生改变时,ViewTreeObserver都会收到通知,ViewTreeObserver不能被实例化,可以调用View.getViewTreeObserver()来获得。Vie...

2017-04-19 10:12:49

阅读数 924

评论数 0

Android Webview的一些使用总结和遇到过得坑

WebView 用来显示网页的一个View,它使用WebKit渲染引擎显示web页面,可以加载在线的或者本地的html页面,WebView可以对页面进行一系列操作,如历史页面的向前、向后,放大和缩小,执行文本搜索,与JS交互等等;在使用Webview时,请记得在AndroidManifest.xm...

2017-04-06 13:35:49

阅读数 9238

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭