自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

打渔还是晒网 —— stone

人生不是简单的if和else,很多时候都是在出现问题时才when and then

  • 博客(458)
  • 资源 (14)
  • 收藏
  • 关注

原创 Android 自定义View 使用Kotlin编写雷达扫描效果

效果图 使用SweepGradient作为paint的shader,用于绘制 paint的color也会影响shader 利用handler不断发送消息,不断改变canva.drawArc()中的起始角度 在声明Handler成员属性时,不要声明成handler,因为View中有个方法为public Handler getHander(); 所以kotlin会认为你重写定

2017-07-22 14:05:20 1064

原创 Kotlin Reference (十四) 委托类和委托属性

委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。

2017-07-17 11:16:59 1836

原创 Kotlin Reference (十三) object表达式和object声明

Kotlin中:object表达式,声明匿名内部类,局部内部类,用于函数表达式上、函数内,函数参数;object声明一个单例类,companion object声明一个静态内部类

2017-07-13 00:12:07 1866

原创 Kotlin Reference (十二) 内部类、枚举

KotLin 中类似java中成员内部类、静态内部类、枚举

2017-07-12 21:22:32 1126

原创 Kotlin Reference (十一) 泛型、数组型变、泛型型变、泛型约束,及与Java泛型对比

型变特性,分变和不变;变又分协变与逆变简单的描述 协变与逆变,它们有一个共同的前提,即出现在"有继承或实现"关系的一组类型中。协变:父类出现的地方,可以用子类代替(符合面向对象的基本原则,里氏替换原则;比如方法返回类型是一个基类型,返回值是一个子类型对象,这就是一种协变)逆变:子类出现的地方,可以用父类代替

2017-07-09 04:12:59 4989 4

原创 Kotlin Reference (十) 类的扩展:class extensions

在Kotlin中,可以自行对类进行扩展;不管是否是系统类可以对类扩展函数与属性

2017-07-08 14:32:53 903

原创 Android HandlerThread、Handler、Looper、MessageQueue、Message 简单分析

UI主线程使用:prepareMainLooper();静态sMainLooper被赋值,mThread=主线程子线程使用:prepare();由于sThreadLocal是一个线程局部变量,即使声明为static,在子线程中也是一个新的对象,可以由它set/get一个new Looper();这时sMainLooper还是主线程赋值的Looper对象,myLooper()才是子线程的Looper对象

2017-07-03 16:53:34 679

原创 Kotlin Reference (九) 抽象类、密封类

抽象类、密封类

2017-06-22 17:40:02 554

原创 Kotlin Reference (八) 可见性修饰符, 属性getter和setter, data class, object声明单例类

KotLin 相关文档官方在线Reference kotlin-docs.pdf Kotlin for android Developers 中文翻译 Kotlin开发工具集成,相关平台支持指南 Kotlin开源项目与Libraries Kotlin开源项目、资源、书籍及课程搜索平台 Google’s sample projects written in Kotlin Kotlin

2017-06-21 23:31:38 2563 2

原创 Kotlin Reference (七) feature: Range

Range 范围对象,可看成是一组元素的集合。有三个类型:IntRange、LongRange、CharRange它们分别主要实现了 IntProgression、LongProgression、CharProgression

2017-06-13 11:33:10 977

原创 Kotlin Reference (六) 接口

接口在Kotlin中非常类似于Java 8。它们可以包含抽象方法声明,以及实现方法。他们不同于抽象类的地方:接口不能存储状态(即不能有属性的setter)。他们可以有属性,但这些需要抽象或提供访问器实现。

2017-06-12 11:13:40 872

原创 Android ConstraintLayout 约束布局

前言Google I/O 2016 上发布了 ConstraintLayout。它的优点就是能减少布局的层级,用它完全替换RelativeLayout和LinearLayout应该都是可以的。关于ConstraintLayout的一些Android Studio界面操作可以看《Constraint 代码实验室–带你一步步理解使用 ConstraintLayout》,其英文出处可以看Using Con

2017-06-08 14:32:07 8061

原创 Kotlin Reference (五) 类的构造函数,类的继承,属性操作

类的构造函数,类的继承,属性操作

2017-06-02 23:49:27 4522

原创 Kotlin Reference (四) control flow

KotLin 流程控制:if 、when、for、while 及 break、continue、return

2017-06-01 13:47:43 749

原创 Kotlin Reference (三) Basic Types, String, Array and Imports

关于2、10、16进制;使用下划线在数值常量赋值数据中;使用`==`和`===`进行比较;基本数据类型间的类型转换方法toXxx;位移操作;字符,转义符

2017-06-01 09:47:34 1941

原创 Kotlin Reference (二) idioms 一些常用方式

创建单例类 object;List、Map、Array的简单操作;lazy延迟加载属性;空类型?;空类型表达式`?.` 、 `?. ?:`、`?.let{}`;try-catch-finally;无参函数表示一个值;条件判断语句 if-else if-else 及 when .. else;with语句块;IO流操作并使用lambda表达式; 函数声明时直接内联一个其它方法,相当于其方法实现

2017-05-31 00:57:25 2031

原创 Kotlin Reference (一) Basic Syntax

KotLin 相关文档官方在线Reference kotlin-docs.pdf Kotlin for android Developers 中文翻译 Kotlin开发工具集成,相关平台支持指南 Kotlin开源项目与Libraries Kotlin开源项目、资源、书籍及课程搜索平台

2017-05-27 13:50:59 1291

原创 Java ThreadPoolExecutor 线程池调度器

可设置的主要参数corePoolSize核心线程数,核心线程会一直存活,即使没有任务需要处理。当线程数小于核心线程数时,即使现有的线程空闲,线程池也会优先创建新线程来处理任务,而不是直接交给现有的线程处理。核心线程在allowCoreThreadTimeout被设置为true时会超时退出,默认情况下不会退出。maxPoolSize当线程数大于或等于核心线程,且任务队列已满时,线程池会创建新的......

2017-05-26 17:10:25 5594 2

原创 RxJava 学习记(四) —— 1.x 背压

什么是背压(Backpressure)(most from https://zhuanlan.zhihu.com/p/24473022?refer=dreawer)背压是指在异步场景中,被观察者发送事件速度远快于观察者的处理速度的情况下,一种告诉上游的被观察者降低发送速度的策略。简而言之,背压是流速控制的一种策略。若被观察者发送事件的速度太快,而观察者处理太慢,而且还没有做相应背压措施,可能抛出Mi

2017-05-11 17:15:45 1166

原创 RxJava 学习记(三) —— 1.x 线程调度器Schedulers

简介在没有给定调度器(Scheduler)的情况下,Subscription将默认(产生事件与订阅)运行于调用线程上。线程调度器(Scheduler)是将RxJava从同步观察者模式转到异步观察者模式的一个重要工具。RxJava提供了5种主要的调度器:Scheduler Schedulers.io()Scheduler Schedulers.computation()Scheduler Sch

2017-05-11 17:07:23 1575

原创 RxJava 学习记(二) —— 1.x 操作符

RxJava操作符简介创建Observable – 创建新的Observable的操作符转换Observables – 转换成另一个Observable的操作符过滤Observables – 过滤被Observable发送的数据的操作符合并Observables – 将多个Observables合并成单个的Observable的操作符错误处理操作符实用工具操作符条件和布尔运算操作...

2017-05-08 00:16:51 1166

原创 RxJava 学习记(一) —— 1.x 基本角色介绍

RxJava 1xRxJava 1x的四种基本角色热的冷的 ObservablesSubject Observable ObserverPublishSubjectBehaviorSubjectReplaySubjectAsyncSubjectUnicastSubjectSerializedSubjectRxJava操作符创建Observable 创建新的Observab

2017-05-05 17:35:59 942

原创 Android RxJava 实现RxBus

前言以前在项目中使用EventBus,来进行事件通知与订阅。 现在使用RxJava实现一个发布/订阅事件总线:RxBus。rxjava1.x实现RxBus代码:/** * desc : 利用 PublishSubject的特性:与普通的Subject不同,在订阅时并不立即触发订阅事件, * 而是允许我们在任意时刻手动调用onNext(),onError(),onCompleted来触发

2017-04-25 15:39:41 2489

原创 从头开始学 RecyclerView(六) LayoutManager

前言在前面的文章中,每个示例,都使用了LayoutManager,毕竟它是RecyclerView不可缺少的一部分。LayoutManager,顾名思义,就是『布局管理器』。使用如下代码,设置RecyclerView的LayoutManager:mRecyclerView.setLayoutManager(layoutManager);已提供的LayoutManagerandroid.support

2017-04-08 18:03:49 2804 3

原创 从头开始学 RecyclerView(五) ItemDecoration 详解

前言RecyclerView.ItemDecoration,通过名字来看,它就是用来装饰Item的。 在类ListView的视图中,可能需要绘制分隔线;在类GridView的网格视图中,可能需要绘制单元格样式… 这些都可以由重写RecyclerView.ItemDecoration来进行定制。 然后调用mRecyclerView.addItemDecoration(itemDecoration)

2017-04-07 17:58:24 3491

原创 从头开始学 RecyclerView(四) 类ListView添加header和footer、多种ViewHolder的支持

来张图:前言基于前一篇文章中的封装类,来实现,类似ListView添加header和footer效果,及多种ViewHolder的支持。实际上,header或footer也是一种ViewHolder源码分析在ListView中,一般使用BaseAdapter。BaseAdapter中有个方法public int getItemViewType(int position) ,一般重写它,根据posit

2017-04-06 20:33:22 1089

原创 从头开始学 RecyclerView(三) 封装简化

前言上一篇的代码,也是基于这些封装的。 RV的封装,跟以前的listView之类的封装,大同小异。 这里,从@devwiki 处,将代码搬过来,基本无修改BaseHolder的优化使ViewHolder只用来缓存View。添加SparseArray,使之来缓存View。添加BaseHolder(View view)构造器,外部更方便控制View。保留getContext()方法,方便获取

2017-04-01 15:59:07 3785

原创 从头开始学 RecyclerView(二) 添加item点击事件

不管了,先来张图 偶吐了个槽item点击事件必须手动添加,默认并没有一个显式的API接口可供调用。 为了节约学习时间,网上找了篇很不错的文章。这里基本就复制了。添加点击事件RecyclerView#addOnItemTouchListener分析查看RecyclerView源码可以看到,RecyclerView预留了一个Item的触摸事件方法:public void addOnItemTou

2017-04-01 13:47:06 4617 1

原创 从头开始学 RecyclerView(一) 基本使用

偶吐了个槽RecyclerView 这是出现快三年了么。 因做电视开发,以前都是各种ViewPager,反正它是一个大坑。目前,项目中首页中的VP还在,超恶心。 最近有闲暇时间了。准备把RV再次学一下。这次想稍稍深入一点。最基本使用方法把RV看成一个ListView或GridView,它肯定需要一个Adapter。 需要用到RecyclerView.Adapterrv.setAdapter(n

2017-03-30 13:39:58 909

原创 Android ViewConfiguration配置说明

简介android.view.ViewConfiguration 包含了一些方法和常量,用于设置UI的超时、大小、距离 属性常量都是私有的,通过对应的get方法,获取配置值。 对应的v4兼容类:android.support.v4.view.ViewConfigurationCompat初始化通过静态方法:ViewConfiguration static get(Context conte

2017-03-29 18:03:26 2409

原创 Git 操作指南

前言git这个版本控制工具,早在两三年前我就开始使用了。不过后来换了新东家后,又开始变成了svn,最近又切成git了。 通过近期的使用,遇到了一些坑,遂引发此文,以作记录issue:某个commit整体不要了,想重置?add多了,想撤销?某个文件有问题,想还原到某次commit时的状态?想push到另外的远程仓库?什么!这行代码是哪个鬼加进去的,引起了bug?咦,这个bug,在好几个版本都存在,是

2017-03-17 14:07:42 4869 2

原创 Android 使用Java8新特性之"方法引用"

前言上一文:Android 使用Java8新特性之Lambda expression (附命令者模式简化) 说过lambda表达式,在android中的应用。本文讲下Java8新特性之”方法引用”。 “方法引用”,它其实可以看成lambda表达式的一种简写形式。 再回顾一下lambda表达式的应用场景:简化仅含单一抽象方法接口的调用方法引用的4种形式方法引用的符号形式,形如,

2017-03-13 18:10:46 2489 2

原创 Android 使用Java8新特性之Lambda expression 附命令者模式简化

前言Lambda expression,java8的新特性。使用Lambda expression,可以替代只有一个函数的接口实现,告别匿名内部类,代码看起来更简洁易懂。 java8还有其它一些新特性,不过在android上可能都无法使用。 studio 2.x后 支持jack编译器,使用它,能使用java8的Lambda expression,但其它特性也不敢保证就能用。 注:Androi

2017-03-08 16:55:54 2952 9

原创 Android 集中处理Activity的生命周期事件: Application.ActivityLifecycleCallbacks

ActivityLifecycleCallbacks可以用来集中处理Activity的生命周期事件。API Level 14之后,开始支持。其声明在Application中: public interface ActivityLifecycleCallbacks { void onActivityCreated(Activity activity, Bundle savedIn

2017-03-03 15:38:34 1709

原创 Android 平台上的秒级编译方案 - Freeline

Freeline是什么?Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部开源,稳定性方面:完善的基线对齐,进程级别异常隔离机制。性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想:端口扫描,代码扫描,并发编译,并发dx,并发merge dex等策略,在多核机器上有明显加速效

2017-03-01 15:59:35 2932 6

原创 Android 官方示例:android-architecture 学习笔记(七)之todo-mvp-dagger

项目地址:https://github.com/googlesamples/android-architecture/tree/todo-mvp-dagger/项目结构Dagger2是完全静态的、编译时的依赖注入框架,用于Java和Android。 本项目基于MVP和Dagger2。 注:本文假设读者已基本了解Dagger2的使用源码分析Application DI@ComponentToD

2017-02-28 20:37:15 1594

原创 Android 官方示例:android-architecture 学习笔记(六)之todo-mvp-contentproviders

项目地址:https://github.com/googlesamples/android-architecture/tree/todo-mvp-contentproviders/项目结构本项目基于todo-mvp-loaders,并使用Content Provider来检索数据。架构图: 源码分析这次从taskdetail模块的入口开始分析 TaskDetailActivity —— 初始化了

2017-02-19 19:11:10 915

原创 Android 官方示例:android-architecture 学习笔记(五)之todo-mvp-clean

本项目的理念基于Clean Architecture. 项目架构基于基本的MVP示例。添加了domain 层,在 presentation层和 repositories层之间。总体就将App分成了三层

2017-02-19 16:51:33 4678

翻译 Android Tools Attributes Reference (译)

官网地址:https://developer.android.google.cn/studio/write/tool-attributes.html 本文地址:http://blog.csdn.net/jjwwmlp456/article/details/55668486Android Studio在tools命名空间中支持多种XML属性。当你构建你的应用,构建工具会删除这些属性,所以没有影响你的

2017-02-18 16:39:50 795

翻译 Android Data Binding Library 官方文档(译)

Data Binding Library (数据绑定库),旨在减少绑定应用程序逻辑和布局所需的一些耦合性代码最低支持Android 2.1 (API Level 7)

2017-02-07 21:01:06 7185

C语言常用函数速查手册.pdf

本书全面、系统地讲解了C语言相关的21个函数库,所涉及的函数多达352个。为了方便读者学习,每一个函数都依次对其作用、语法形式、参数、返回值进行了讲解。同时,每个函数都配有专门的例子,供读者参考学习。最后给出了本书所涉及C语言函数的索引,便于读者检索

2017-10-11

kotlin-docs.pdf

kotlin 官方指南

2017-05-27

Android 电视开发框架

Android 电视开发框架

2016-03-18

Android模糊虚化图片截屏

这是一个示例,必需要描述的一段话:Android模糊虚化图片截屏

2014-12-05

Android Volley Demo

Android Volley Demo:数据的加载在test包中,使用JUnit测试即可。Activity中是三种图片的加载方式。

2014-11-19

Android图片瀑布流使用StaggeredGridView

Lib project is Android lib

2014-08-04

Android图片瀑布流使用PinterestLikeAdapterView

PinterestLikeAdapterView is android lib

2014-08-04

Android-Google-QuickSearchBox 4.x 源码

Android-Google-QuickSearchBox 4.x 源码:导入工程后可直接使用

2013-02-06

Android 多线程断点下载.zip

Android 多线程断点下载.zip的一个示例

2013-02-05

Android用PopupWindow实现弹出listview形式菜单

Android之用PopupWindow实现弹出listview形式菜单.rar

2013-02-05

Android 垂直 Seekbar.zip

Android 垂直Seekbar.zip:显示垂直seekbar的源码

2013-02-05

BitmapFun.zip Android Bitmap 处理

BitmapFun.zip Android Bitmap ,处理大图片、图片缓存

2013-02-05

wireshark中文使用教程

wireshark中文使用教程,内含一份中文的readmin

2012-04-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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