自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hankkin的博客小园

将来的你一定会感激现在努力的自己

原创 五味2019

前言 恍恍惚惚又是一年,明天就是2019年的最后一个工作日,本想着公历2020年之前写自己的2019总结,没想到明日复明日,一直复到了今天,不过也还好,毕竟农历还是2019年。趁着最后一个工作日之前,总结一下我的今年:我的2019,有激情、有慵懒、有创新、有平淡、有不甘、有失利,最后也有目标… ...

2020-01-16 23:01:36 152 0

原创 7. JetpackNote---基于Jetpack的学习笔记APP

JetpackNote 是一款基于谷歌官方组件Jetpack开发的笔记项目,项目中包含了对各大组件的源码分析、Demo使用:Navigation、Lifecycles、Paging、LiveData、ViewModel等… \n项目使用Kotlin语言进行编写,依赖库截止代码编写时为最新版本,的几...

2019-09-10 17:30:59 167 0

原创 6. Jetpack---Paging你知道怎样上拉加载吗?

之前的几篇源码分析我们分别对Navigation、Lifecycles、ViewModel、LiveData、进行了分析,也对JetPack有了更深入的了解。但是Jetpack远不止这些组件,今天的主角—Paging,Jetpack中的分页组件,官方是这么形容它的:‘’逐步从您的数据源按需加载信息...

2019-08-26 22:52:28 670 3

原创 5. Jetpack源码解析---ViewModel基本使用及源码解析

截止到目前为止,JetpackNote源码分析的文章已经有四篇文章了,这一系列的文章我的初衷是想仔细研究一下Jetpack,最终使用Jetpack组件写一个Demo,上一篇已经分析了LiveData,本篇文章将分析ViewModel. 1.背景 Jetpack源码解析系列文章: 1. Jetpa...

2019-07-16 11:30:40 174 0

原创 4. Jetpack源码解析—LiveData的使用及工作原理

1. 背景 上一篇我们分析了Lifecycles组件的源码,本篇我们将继续分析LiveData组件 相关系列文章: 1. Jetpack源码解析—看完你就知道Navigation是什么了? 2. Jetpack源码解析—Navigation为什么切换Fragment会重绘? 3. Jetpac...

2019-07-10 09:47:02 219 0

原创 2. Jetpack源码解析---Navigation为什么切换Fragment会重绘?

上篇文章我们简单的介绍了Navigation组件的使用,以及深入分析了源码中的具体实现,基本原理我们已经很清晰了。本篇文章主要介绍下我在项目中遇到的问题,以及目前关于Navigation实现的一些探讨。还没有看过上篇文章的可以查看一下: Jetpack组件之Navigation—看完你就知道Na...

2019-06-28 15:00:36 1345 0

原创 1. Jetpack源码解析---看完你就知道Navigation是什么了?

1. 背景 之前已经翻译过了Google官方的CodeLabs上面的教程,教程很详细,代码在Github上也可以找到,本篇文章旨在自己的APP上使用效果及演示Demo,来具体的使用Navigation。并且对其进行源码解析。 基本相关介绍可以查看我之前翻译的文章,基本就是google翻译了一个...

2019-06-26 17:41:52 665 0

原创 3. Jetpack源码解析---用Lifecycles管理生命周期

1. 背景 上一篇我门对Jetpack组件中的Navigation做了介绍,并且对其做了源码分析,相信看过之后已经对此有了一定的了解,本篇文章我们会对Lifecycles进行使用及源码的介绍,还没看上篇的可以看一下: 1. Android_Jetpack组件—Naviagtion源码解析 2....

2019-06-11 15:23:41 133 0

原创 Reading:一款不错的Material Desgin风格的Kotlin版本的开源APP

Reading https://github.com/Hankkin/Reading 简介 很久不见,重新拾起博客吧,今天分享一个开源APP-Reading,项目的初衷是因为自己平时翻文章,但是公众号又经常忘记看,自己索性搞一个APP吧,顺便练一下Kotlin。借助着WanAndr...

2018-08-22 16:42:56 285 0

原创 Base封装(一)--我的最简MVP架构

绪论最近懒癌症犯了,好久都没写博客了,当然也在做一些东西,也在整理自己一直以来使用的一些技术点,从Retrofit到OkGO,从ListView到RecycleView,从Java到Kotlin….总之一直在尝试新的技术,今天分享一下自己一直所用的MVP,整理完了分享给大家,有不合适或者不正确的地...

2017-06-19 18:42:34 4145 2

原创 Android谈谈封装那些事--BaseActivity和BaseFragment(一)

绪论圣诞节怎么过?我不过圣诞节,被票圈的晒幸福虐惨了,还是在家里面总结总结自己吧。上篇文章 Android自定义View–自己撸一个柱状图也没那么难 我说过会封装一套属于自己的库,争取在元旦之前发出来,作为新年礼物给自己,给大家。好了,今天我们先来聊聊自己在项目中以及参考大神们的代码怎么来封装...

2016-12-25 20:43:22 9894 5

原创 Android自定义View--自己撸一个柱状图也没那么难

绪论 转眼间,2016伴随着互联网寒冬和帝都的雾霾马上就过去了,不知道大家今年一整年过得怎么样?最近票圈被各个城市的雾霾刷屏,也被各个公司裁员、移动开发人员失业,互联网行业不景气等等刷爆了。作为一名Android开发的小白来说,内心难免会动荡,庆幸自己早出来一年,也担忧着自己的未来的职业规划。...

2016-12-20 23:40:55 11329 12

原创 Android--仿淘宝商品详情(继续拖动查看详情)及标题栏渐变

本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发。 源码已经上传到我的Github上了,希望小伙伴们Follow,star,fork (https://github.com/Hankkin/TaoBaoDetailDemo)二维码下载预览:绪论最近一直比较忙,...

2016-09-12 09:40:51 17800 17

原创 Retrofit--合理封装回调能让你的项目高逼格

绪论前面我们讨论了使用Retrofit时怎样去设置OKHttp,包括持久化管理Cookie、设置网络超时、设置打印拦截器、设置缓存、Header等等,详细可查看 Retrofit–使用Retrofit时怎样去设置OKHttp Retrofit+OKHttp 教你怎么持久化管理Cookie 今...

2016-06-20 14:05:12 22248 18

原创 Retrofit--使用Retrofit时怎样去设置OKHttp

绪论:之前我们分析了使用Retrofit怎么用OkHttp持久化管理Cookie,今天打算继续跟大家来分享一些关于怎么去设置OKHttp?如果你还不知道怎么持久化管理Cookie,请看这篇文章: Retrofit+OKHttp 教你怎么持久化管理Cookie,好了,废话不多说,开始今天的分享:大家...

2016-05-12 22:22:02 11117 2

原创 Retrofit+OKHttp 教你怎么持久化管理Cookie

绪论最近小编有点忙啊,项目比较紧,所以一直在忙活项目,继之前的自定义组件之后就没再写博客了,如果你没看到之前的自定义组件你可以看一下: Android自定义下拉刷新动画–仿百度外卖下拉刷新 Android自定义组合控件—教你如何自定义下拉刷新和左滑删除 效果还行,源码也已经传到我的Githu...

2016-05-08 13:46:43 32699 30

原创 Android自定义组合控件---教你如何自定义下拉刷新和左滑删除

绪论最近项目里面用到了下拉刷新和左滑删除,网上找了找并没有可以用的,有比较好的左滑删除,但是并没有和下拉刷新上拉加载结合到一起,要不就是一些比较水的结合,并不能在项目里面使用,小编一着急自己组合了一个,做完了和QQ的对比了一下,并没有太大区别,今天分享给大家,其实并不难,但是不知道为什么网上没有比...

2016-04-24 17:21:01 15478 30

原创 Android自定义下拉刷新动画--仿百度外卖下拉刷新

好久没写博客了,小编之前一段时间一直在找工作,从天津来到了我们的大帝都,感觉还不错。好了废话不多说了,开始我们今天的主题吧。现如今的APP各式各样,同样也带来了各种需求,一个下拉刷新都能玩出花样了,前两天订饭的时候不经意间看到了“百度外卖”的下拉刷新,今天的主题就是它–自定义下拉刷新动画。看一下实...

2016-04-11 12:01:19 19598 16

原创 一款基于Material Desgin设计的APP

源码小编已经上传到github上了,求star啊 https://github.com/Hankkin/TaoSchool前言好久没写博客了,小编最近在研究Material Desgin(以下简称MD),话说现在市场的上App好多都用上了MD,先简单的介绍以下MD吧,它到底是个什么东东啊? 看...

2016-01-01 14:39:41 11576 11

原创 Dart 异步

Dart是基于事件循环机制的单线程模型 一条执行线上,同时且只能执行一个任务(事件),其他任务都必须在后面排队等待被执行。也就是说,在一条执行线上,为了不阻碍代码的执行,每遇到的耗时任务都会被挂起放入任务队列,待执行结束后再按放入顺序依次执行队列上的任务,从而达到异步效果。 单线程模型按照代码编...

2020-01-11 15:28:13 115 0

原创 Dart 相关语法笔记

1. 级联操作符 //常规操作 var paint = new Paint(); paint.strokeCap = StrokeCap.butt; paint.strokeWidth = 1; paint.style = PaintingStyle.fill;...

2020-01-09 15:53:37 60 0

原创 Kotlin初级(2)- - - 空安全.md

空类型、空安全 为了解决类似NPE这类的问题,现代编程语言包括Kotlin解决这类问题的方法就是把运行时的错误转变成编译期的错误。通过支持作为类型系统的一部分的可空性,编译器就能在编译期发现很多潜在的错误,从而减少运行时抛出异常的可能性 变量的定义 Kotlin中的变量修饰符只有两个 val...

2018-09-27 14:40:39 98 0

原创 Kotlin中级(9)- - - Kotlin类之数据类、密封类、内部类.md

数据类 1.声明 data关键字 data class Leaf(val size: String,val color: String,val shape: String,val vein: Int) 2.数据类声明条件 主构造函数最少要有一个参数 数据类的主构造器的所有参数必须标记为va...

2018-09-24 18:50:00 110 0

原创 Kotlin中级(8)- - - Kotlin类之接口、枚举.md

一、接口 在Kotlin中,一个类只能继承一个普通类或者抽象类。通过接口我们可以进行多实现 interface interface Demo{ } 关键字:冒号(

2018-09-24 18:49:39 113 0

原创 Kotlin中级(7)- - - Kotlin类之抽象类、重载和重写.md

1.抽象类 抽象类是不可直接被实例化的,因为它有一部分属性和方法没有被完整的赋值和体现。也就是说,抽象类是在告诉要继承的类:我有一些方法和属性没有具体实现,我命令你去把它们弄完整 abstract 其中值得注意的是:抽象可以分为抽象类、抽象函数、抽象属性。而一个抽象类和普通类的区别在于抽象类除...

2018-09-24 18:49:21 185 0

原创 Kotlin中级(6)- - - Kotlin类之的继承.md

Kotlin继承类 1.超类(Any) 在Kotlin中,所有的类都是继承自Any类,这是一个没有父类型的类。即当我们定义各类时,它默认是继承于Any类的 例如: class Person 因为Any这个类只是给我们提供了equals、hashcode、toString三个方法,我们可以看看...

2018-09-21 18:10:46 97 0

原创 Kotlin中级(5)- - - 初识Kotlin中的对象.md

万物皆对象 对象就是类的实例化 用Kotlin描述对象 class Friend{ var name: String = "" var hairColor: String = "" ..... } 愉快的构造 1.主构造函数: ...

2018-09-21 18:10:22 74 0

原创 Kotlin初级(4)- - - 字符串和字符.md

字符串 Kotlin中字符串是有序的字符的集合 常用方法 1.isEmpty() 用来判断字符串为空 2. count()或者length 获取字符串中的字符数目 3.get(i)或者[i] 获取指定位置的字符 4.substring() 截取某一段字符串 5.index索引 ...

2018-09-20 23:49:38 149 0

原创 Kotlin初级(3)- - - 基础函数.md

函数的声明和使用 Kotlin中函数的声明使用关键字 fun 格式为:可见性修饰符 fun 函数名(参数名 :类型):返回值{} 例如: fun main(){ } 上面的例子没有可见性修饰符,因为Kotlin中默认为public 函数没有返回值时可以省略 函数的作用范围 1....

2018-09-20 23:49:19 96 0

原创 Kotlin初级(2)- - - 空安全.md

空类型、空安全 变量的定义 Kotlin中的变量修饰符只有两个 val修饰的变量不能重新被赋值 var修饰的变量可以被重新赋值 var修饰的变量不可为null,val修饰的可为null val a: Int? = null var b: Int 变量a在使用的时候需要判断改变量是否为n...

2018-09-20 23:49:00 63 0

原创 Kotlin初级(1)- - - 基础.md

package和import 使用package包可以将代码分割到各个命名空间内。所谓命名空间,就好比咱们的国内重名的地区非常多,如果单独将一个地名,很可能引起歧义,但如果按省来划分,就解决了重名的问题,如马鞍山,有安徽的,南通的,香港的,这里的安徽、南通、香港就成了一个命名空间,命名空间还可以分...

2018-09-20 23:48:07 73 0

原创 【PageLayout】非常简单的一键切换加载-空数据-错误页,支持自定义

项目中我们经常会用到的加载数据,加载完数据后显示内容,如果没有数据显示一个空白页,这是如果网络错误了显示一个网络错误页,自定义一个PageLayout。 绪论 Android中经常使用一个空白页和网络错误页用来提高用户体验,给用户一个较好的感官,如果获取到的数据为空,那么会显示一个...

2018-09-10 19:32:15 609 0

原创 Android中你可能忽略的知识点(1)-分辨率那些事

2018-05-10 11:26:32 337 0

原创 Base封装(二)-- 封装属于自己的Library(UI篇)

绪论之前分享了一篇 Base封装(一)–我的最简MVP架构简单的封装了自己的MVP架构,至于BaseActivity和BaseFragment之前的文章都已经分享过了,只不过做了一些优化。接下来继续分享我的封装之路,今天要分享的是常用的UI,同样大家看到不合适的地方多多指正啊..常用组件在写一个A...

2017-06-21 18:43:55 1624 2

原创 我的2016--远方不一定有诗,但有更好的自己

绪论抓住2016的最后一个工作日,写一篇年终总结,想不出来好的题目了,好久不玩楸楸的我在空间看到大家都在发自己的新年关键词,抽了自己的拿过来做题目。早上起床莫名的不开心,或许是昨天晚上跟朋友聊得太多;亦或许是真的又到了年末才发现今年还有那么多事没做;亦或许是因为什么….概述我的2016几个关键词:...

2016-12-30 11:36:07 4328 17

原创 Android谈谈封装那些事--BaseActivity和BaseFragment(二)

1.前言昨天谈了BaseActivity的封装, Android谈谈封装那些事–BaseActivity和BaseFragment(一) 有很多小伙伴提了很多建议,比如: 通用标题栏可以自定义View而不放在Base里面,代码更统一 BaseEventActivity里面应该留出开关保证不需要...

2016-12-26 21:06:02 6386 3

原创 Android--仿淘宝商品详情(继续拖动查看详情)及标题栏渐变

绪论最近一直比较忙,也没抽出时间来写博客,也不得不说是自己犯了懒癌,人要是一懒就什么事都不想做了,如果不能坚持下来的话,那么估计就废了,��。最近自己攒了好多东西,接下来的时间我会慢慢都分享出来的。好了废话不多说了,下面我们开始正题: 今天要分享的是淘宝的详情页,之前在淘宝上买东西的时候看到淘宝...

2016-09-12 09:45:57 1052 0

原创 Android带你解析ScrollView--仿QQ空间标题栏渐变

绪论今天来研究的是ScrollView-滚动视图,滚动视图又分横向滚动视图(HorizontalScrollView)和纵向滚动视图(ScrollView),今天主要研究纵向的。相信大家在开发中经常用到,ScrollView的功能已经很强大了,但是仍然满足不了我们脑洞大开的UI设计师们,所以我们要...

2016-08-03 21:40:53 18778 10

原创 Retrofit--记使用Retrofit时遇到的一个坑

绪论很久没有写博客了,上次是写了使用Retrofit时怎么设置OKHttp,如果你没看到请看: Retrofit–使用Retrofit时怎样去设置OKHttp 你也可以看看我是怎样使用Retrofit的: Retrofit–合理封装回调能让你的项目高逼格 好了,今天说一下我遇到的一个坑吧。...

2016-08-02 22:43:20 5452 2

原创 Android自定义组合控件---教你如何自定义下拉刷新和左滑删除

绪论最近项目里面用到了下拉刷新和左滑删除,网上找了找并没有可以用的,有比较好的左滑删除,但是并没有和下拉刷新上拉加载结合到一起,要不就是一些比较水的结合,并不能在项目里面使用,小编一着急自己组合了一个,做完了和QQ的对比了一下,并没有太大区别,今天分享给大家,其实并不难,但是不知道为什么网上没有比...

2016-04-24 20:16:21 85 0

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