自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 自定义Butterknife

在开始之前,我们先来熟悉以下几个关键类:ElementElementsRoundEnvironmentProcessingEnvironmentElement对象Element:是一个接口,表示注解修饰的对象,例如类、成员变量、成员方法、包名等。Element的分类package com.example; // PackageElementpublic c...

2019-08-02 21:37:35 224

转载 Retrofit结合RxAndroid

Retrofit基本是一个业务请求,对应一个接口方法,因为其返回值不支持泛型,只能是具体的类。好处是结构清楚,缺点是业务请求就耦合的网络接口,如果以后想分离网络就很麻烦。而且开发人员还要同时定义每个业务的请求接口,和具体的请求方式,对于大型APP,工作量很大,而且容易出错。本文主要介绍如何对Retrofit2.0+RxAndroid封装成网络层,对业务使用隔离,使用者不需要知道网络框架使用的是哪...

2019-07-25 22:16:32 253

转载 RxKotlin

RxKotlingradle里面引入:implementation "io.reactivex:rxkotlin:1.0.0"implementation "io.reactivex:rxandroid:1.2.1"Rx 就是异步链式的方式。以订阅者的方式来实现。主要有:Observable 被观察者Observer 观察者subscribe 订阅1操作符:create ...

2019-07-24 21:31:39 312

转载 RXandroid&RxKotlin

RxAndroid 是在 RxJava 上的扩展,用法和 RxJava 一样。结构比较简单,主要用在 Android 上的线程切换。Observable.just(1,2) .subscribeOn(Schedulers.io()) // 切换到 Android 的主线程 .observeOn(AndroidSchedulers.mainThread()) .s...

2019-07-23 21:18:37 219

转载 自定义View之绘制刻尺

一、先总结下自定义View的步骤:1、自定义View的属性2、在View的构造方法中获得我们自定义的属性3、重写onMesure4、重写onDraw其中onMesure方法不一定要重写,但大部分情况下还是需要重写的二、View 的几个构造函数1、constructor(mContext: Context)—>java代码直接new一个RulerView实例的时候,会调用这个只...

2019-07-22 21:09:34 243

转载 Rxjava介绍

RxJava:是一个异步数据处理扩展的观察者模式轻量级框架 <1M jar支持java 8 lambda支持java 6 和 Android 2.3+支持异步和同步RxJava响应式编程面向对象编程:第一步:构建一个冰箱,具有开门,关门的方法第二步:构建一个大象,具有走进冰箱的方法第三步:实例化一个冰箱对象,实例化一个大象对象,冰箱对象调用开门方法,大象对象调用走进冰箱...

2019-07-19 22:08:22 195

转载 MVP模式

Android中的设计模式很多,MVP是目前比较流行的一种设计模式,全称为Model-View-Presenter。MVP模式能有效地降低View的复杂性,避免业务逻辑被塞入View中,使得View变得更为简单专一。MVP模式会解除View和Model的耦合,同时又带来良好的可拓展性、可测试性,保证系统整洁性、灵活性。对于一个复杂的应用来说,MVP模式是一种良好的架构模式,它可以非常好地组织应用结...

2019-07-18 21:30:32 171

转载 kotlin中的特殊类

数据类通过java中的概念可以理解为:数据类是对普通类的封装,主要封装了copy()、equals()、hashCode()、toString()、以及componentN()函数,来帮我们简化代码。优点:代码简洁,使用方便,便于拓展例1:声明方法:在类前加关键字datadata class Person(val name:String , var age:Int)例2:copy()函数...

2019-07-17 21:57:04 249

转载 kotlin委托属性

java中一些属性的具有相同的行为怎么办,抽象出类然后再去依赖调用,而在Kotlin中只需要一个by关键字就能省去繁琐的依赖。属性的委托主要是统一实现了对属性的set,get。Kotlin 标准库还为几种有用的委托提供了工厂方法:延迟属性(lazy properties): 其值只在首次访问时计算,可观察属性(observable properties): 监听器会收到有关此属性变更的通知,...

2019-07-16 21:51:26 444

转载 自定义VIew三种测量模式

onMeasure什么时候会被调用onMeasure方法的作用时测量空间的大小,什么时候需要测量控件的大小呢?我们举个栗子,做饭的时候我们炒一碗菜,炒菜的过程我们并不要求知道这道菜有多少分量,只有在菜做熟了我们要拿个碗盛放的时候,我们才需要掂量拿多大的碗盛放,这时候我们就要对菜的分量进行估测。  而我们的控件也正是如此,创建一个View(执行构造方法)的时候不需要测量控件的大小,只有将这个...

2019-07-15 21:23:45 1021 1

转载 kotlin高阶造函数

kotlin 函数都是头等的,这意味着它们可以存储在变量与数据结构中、作为参数传递给其他高阶函数以及从其他高阶函数返回。可以像操作任何其他非函数值一样操作函数。为促成这点,作为一门静态类型编程语言的 Kotlin 使用一系列函数类型来表示函数并提供一组特定的语言结构,例如 lambda 表达式。高阶函数高阶函数是将函数用作参数或返回值的函数。一个不错的示例是集合的函数式风格的 fold, ...

2019-07-12 21:32:06 489

转载 Kotlin重载运算符

什么是运算符重载?简单来说,就是Kotlin通过调用自己代码中定义特定的函数名的函数(成员函数或者扩展函数),并且用operator修饰符标记,来实现特定的语言结构,例如如果你在一个类上面定义了一个特定函数命名plus的函数,那么按照Kotlin的约定,可用在这个类的实例上使用+运算符,下面是代码。用于重载运算符的所有函数都必须使用operator关键字标记。// 一个简单的数据类da...

2019-07-11 21:32:16 278

转载 Md5加密算法

MD5算法是一种散列(hash)算法(摘要算法,指纹算法),不是一种加密算法(易错)。任何长度的任意内容都可以用MD5计算出散列值。介绍工具:CalcMD5.zip。 MD5算法不可逆,也就是只能得到内容对应的MD5值,无法由MD5值反推内容。对于不同的内容产生相同MD5值的概率非常非常非常低!Password字段保存用户输入密码的MD5值,这样系统管理员、黑客也不知道用户的密码是什么,也就避...

2019-07-09 22:28:26 581

转载 kotlin

集合创建像创建一个数组一样初始化一个含有默认值的集合。避免了先创建,再赋值,这一点在java中是做不到的普通集合//JavaList<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);//Kotlinval list = listOf(1,2,3)键值对集...

2019-07-05 21:42:59 151

空空如也

空空如也

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

TA关注的人

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