自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Dagger2与MVP(八)

Dagger2与MVP(八)前面介绍了Dagger2的基本知识,并且通过示例代码演示了如何在Android开发中去使用Dagger2。 Dagger2可以减少很多模板化的代码,更易于测试、降低耦合度,创建可复用可交换的模板。 Dagger2优点: 提供了对全局对象实例的简单访问方式 声明了单例的实例都可以通过@Inject进行访问。比如下面的MyTwitterApiCl...

2018-06-07 10:48:23 804

原创 Dagger2之dagger-android(七)

Dagger2之dagger-android(七) Android Gradle // Add Dagger dependencies dependencies { compile ‘com.google.dagger:dagger:2.x’ annotationProcessor ‘com.google.dagger:dagger-compiler:2.x...

2018-06-07 10:47:43 1260

原创 Dagger2Android示例代码(六)

Dagger2Android示例代码(六)经过前面的几个部分,基本把Dagger2讲完了,都是通过简单的示例的代码。那这里我们就用开发中具体的部分来进行示例, 这里示例主要是有两个小问题,第一个就是前面我们从例子开始讲的试试直降了@Inject在变量上的使用,没有将去实际的用构造函数使用@Inject来讲解。 还有一个就是Component在使用inject的时候也有两种方式:create...

2018-06-07 10:47:08 471

原创 Dagger2Lay和Provider(五)

Dagger2Lay和Provider(五)Lazy<>和Provider<>我们再回到之前的例子,现在我们把前面使用单例的部分都去掉,再来继续讲其他的部分。在上面的CoffeeModule中,把每个provideXXX()都添加一句log: @Modulepublic class CoffeeModule { @Provides ...

2018-06-07 10:46:15 515

原创 Dagger2单例(四)

Dagger2单例(四)我们就继续用前面的例子开始讲了,如果我使用了两个对象: class CoffeeMaker { @Inject Heater heater; @Inject Heater heater2; CoffeeMaker() { CoffeeComponent component = DaggerCoffeeC...

2018-06-07 10:45:33 1284 1

原创 Dagger2入门demo扩展(三)

Dagger2入门demo扩展(三)上一篇文章中讲了一个入门的例子,感觉虽然不懂内部怎么实现的,好像大体知道要怎么去用了,理解了每部分都是干什么的,既然都讲了例子了,那就继续用 这个例子讲下如果被依赖的类的构造函数带有参数,我们该怎么去处理?现在大夏天的我们平时去吧台打咖啡都想来点清凉的,透心凉,心飞扬,那怎么办?这时候我们是不是该提供一个加冰块的功能啊? 咖啡小姐姐把咖啡豆进...

2018-06-07 10:39:59 416

原创 Dagger2入门demo(二)

Dagger2入门demo(二)Dagger中使用了很多注解: @Module:Modules类里面的方法专门提供依赖,所以我们定义一个类,用@Module注解,这样Dagger在构造类的实例的时候,就知道从哪里去找到需要的 依赖。modules的一个重要特征是它们设计为分区并组合在一起(比如说,在我们的app中可以有多个组成在一起的modules)@Provide:在module...

2018-06-07 10:39:05 883

原创 Dagger2简介(一)

Dagger2简介(一)Dagger A fast dependency injector for Android and Java.Dagger是一个依赖注入(Dependency Injection,简称DI)框架,butterknife也是一个依赖注入框架。但是Dagger2比Butterknife更强大的多,它的主要作用,就是对象的管理,其目的是为了降低程序耦合。有关...

2018-06-07 10:38:24 410

原创 Kotlin学习教程(九)

Kotlin学习教程(九)Kotlin团队为Android开发提供了一套超越标准语言功能的工具: Kotlin Android Extensions是一个编译器扩展,可以让您摆脱代码中的findViewById()调用,并将其替换为合成编译器生成的属性。Anko是一个提供围绕Android API和DSL的一组Kotlin友好的包装器,可以用Kotlin代码替换layout .x...

2018-06-05 11:21:35 614

原创 Kotlin学习教程(八)

Kotlin学习教程(八)Kotlin协程一些API启动长时间运行的操作(例如网络IO、文件IO、CPU或GPU密集型任务等),并要求调用者阻塞直到它们完成。协程提供了一种避免阻塞线程 并用更廉价、更可控的操作替代线程阻塞的方法:协程挂起。 协程通过将复杂性放入库来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、...

2018-06-05 11:20:54 539

原创 Kotlin学习教程(七)

Kotlin学习教程(七)这篇文章主要学习下lambda表达式。因为后续一些例子会用到。 “Lambda 表达式”(lambda expression)其实就是匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象 (lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同...

2018-06-05 11:20:11 330

原创 Kotlin学习教程(六)

Kotlin学习教程(六)注解注解是将元数据附加到代码的方法。要声明注解,请将annotation修饰符放在类的前面: annotation class Fancy注解的附加属性可以通过用元注解标注注解类来指定: @Target指定可以用该注解标注的元素的可能的类型(类、函数、属性、表达式等)@Retention指定该注解是否存储在编译后的class文件中,以及...

2018-06-05 11:19:36 377

原创 Kotlin学习教程(五)

Kotlin学习教程(五)泛型class Data<T>(var t : T)interface Data<T>fun <T> logic(t : T){}定义: class TypedClass<T>(parameter: T) { val value: T = parameter}这个类现在可以使用...

2018-06-05 11:19:02 431

原创 Kotlin学习教程(四)

Kotlin学习教程(四)数据类:使用data class定义数据类是一种非常强大的类。在Kotlin学习教程(一)中最开始的用的简洁的示例代码就是一个数据类。这里我们再拿过来: public class Artist { private long id; private String name; private String url; pr...

2018-06-05 11:18:19 467

原创 Kotlin学习教程(三)

Kotlin学习教程(三)前面介绍了基本语法和编码规范后,接下来学习下基本类型。 在Kotlin中,所有东西都是对象,在这个意义上讲我们可以在任何变量上调用成员函数和属性。 一些类型可以有特殊的内部表示——例如, 数字、字符和布尔值可以在运行时表示为原生类型值,但是对于用户来说,它们看起来就像普通的类。 在本节中,我们会描述Kotlin中使用的基本类型: 数字、字符、布尔值、数组与字...

2018-06-05 11:17:19 435

原创 Kotlin学习教程(二)

Kotlin学习教程(二)上一篇文章介绍了Kotlin的基本语法,我感觉在继续学习更多知识之前有必要单独介绍以下编码规范。 不管学什么东西,开始形成的习惯以后想改都比较困难。所以开始就用规范的方式学习是最好的。 命名风格如果拿不准的时候,默认使用Java的编码规范,比如: 使用驼峰法命名(并避免命名含有下划线)类型名以大写字母开头方法和属性以小写字母开头使...

2018-06-05 11:16:41 473

原创 Kotlin学习教程(一)

Kotlin学习教程(一)在5月18日谷歌在I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言。并且会在Android Studio 3.0版本全面支持Kotlin。 Kotlin是一个基于JVM的新的编程语言,由JetBrains开发。JetBrains作为目前广受欢迎的 Java IDE IntelliJ的提供商,在Apache许可下已经开源其Kotlin...

2018-06-05 11:16:05 3360

转载 Java 设计模式(Design Patterns)

设计模式(Design Patterns)设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 项目中合理的运用设计模式可以完美的解决...

2018-06-01 15:56:09 2659

原创 剑指Offer(下)

剑指Offer(下)剑指Offer(上)一共是23道题。 二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同 思路: 在后序遍历得到的序列中,最后一个数字是树的根节点的值。 数组中前面的数字可以分为两部分:第一部分是左子树结点的值, 它们都比根节点的...

2018-06-01 15:55:20 268

原创 剑指Offer(上)

剑指Offer(上)最近面试,遇到一些笔试题,写不上来,内心是崩溃的,该好好复习下了,所以决定仔细做一遍,随便也整理下,方便大家学习。我没找到第一题是什么- -!,谁知道的给补充下吧实现单例模式 单例的实现分为好几种: 饿汉式懒汉式枚举 具体实现: 饿汉式 public class Single...

2018-06-01 15:54:50 557

空空如也

空空如也

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

TA关注的人

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