自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

heihei

carryall

  • 博客(276)
  • 资源 (3)
  • 收藏
  • 关注

原创 Camera2 介绍

这里介绍的是 CameraManager 、 CameraDevice 、 CaptureRequestSession 、CaptureRequest,先来看一下他们的关系:1. CameraManagerCameraManager主要用于管理系统摄像头。Context.getSystemService(Context.CAMERA_SERVICE) 来完成初始化,可以 getCame...

2019-10-11 20:28:59 4260 1

原创 协程的挂起、恢复和调度的原理 (二)

目录一. 协程的挂起、恢复和调度的设计思想二. 深入解析协程1. 协程的创建与启动2. 协程的线程调度3. 协程的挂起和恢复4. 不同 resumeWith 的解析5. 协程整体结构一. 协程的挂起、恢复和调度的设计思想被 suspend 修饰符修饰的函数在编译期间会被编译器做特殊处理:CPS(续体传递风格)变换,它会改变挂起函数的函数签名。suspend ...

2019-09-09 17:00:49 3477

原创 Kotlin协程简介(一)

目录:一. 协程的基本概念二. 从异步编程开始回调CompletableFutureRxJava协程三. 协程的基本概念suspend funtionCoroutineScopeCoroutineContextCoroutineDispatcherJob 和 DefferedCoroutine builders一. 协程的基本概念 协程就像非常轻量级的...

2019-09-08 20:06:14 4344 1

原创 安卓学习 之 bitmap用法

1. 获取资源从资源文件得到图片Bitmap rawBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.haha);读取sd卡(通过文件)String SDCarePath=Environment.getExternalStorageDirectory().toString(); String filePa...

2019-09-03 10:31:03 433

原创 kotlin学习目录

目录kotlin学习之基础(一)kotlin学习之函数(二)kotlin学习之类(三)kotlin学习之类的扩展(四)kotlin学习之密封类(五)kotlin学习之嵌套类和内部类(六)kotlin学习之数据类(七)kotlin学习之类委托(八)kotlin学习之对象(九)kotlin学习之lambda(十)kotlin之重载运算符(十一)kotlin学习之解构声明(十二)...

2019-08-27 20:01:47 247

原创 Gradle学习目录

Gradle学习目录groovy学习(一)开始使用gradle(二)gradle与project(三)Gradle属性(四)task详解(五)Gradle增量编译(六)gradle挂接到构建生命周期(七)gradle 的 依赖管理(八)gradle的多项目构建(九)自定义Gradle插件(十)...

2019-08-27 18:09:45 129

原创 自定义Gradle插件(十)

目录1. 脚本插件2. 对象插件在build.gradle中写Plugin创建单独的 “buildSrc” Module上传远端maven仓库gradle插件分成脚本插件和对象插件:脚本插件:一个普通的构建脚本,可以导入到其他的构建脚本中。对象插件:实现了org.gradle.api.Plugin接口。1. 脚本插件 假设我们有一个脚本名为 sayhello.g...

2019-08-27 18:04:05 251

原创 gradle的多项目构建(九)

目录1. 概念2. settings3. task4. 属性继承 1. 概念 在Android Studio中,一个模块和一个项目是有区别的。一个项目包含多个模块module。而Android Studio中的每一个module对应的是Gradle多项目构建中的一个项目为什么需要多项目构建呢?模块通常具有层次结构而且可以定义为相互依赖。Gradle对构建多模块项目提供了强大的支...

2019-08-27 18:03:24 207

原创 gradle挂接到构建生命周期(七)

目录1. 概念2. 使用gradle提供的闭包3. 实现gradle API提供的监听器接口 1. 概念 我们知道,gradle的生命周期为 初始化阶段 => 配置阶段 => 执行阶段我们可以在通过doFirst和doLast在来挂接到task的执行阶段中,但是如果我们想在gradle 挂接到不同生命周期中,我们应该怎么做呢?有两种方式可以编写这种生命周期事件: 使...

2019-08-26 22:05:21 771

原创 gradle 的 依赖管理(八)

目录1. 概念2. repositories3. dependencies4. 单项目中的依赖管理 1. 概念 gradle的依赖管理就是,在项目需要引入类库时,只需要在gradle中声明,gradle就会自动从本地,远程自动引入该类库,如果类库之间有互相引用的情况,那么gradle会自动帮我们处理。我们通常会通过dependencies来定义依赖的类库,repositorie...

2019-08-26 22:04:10 320

原创 Gradle增量编译(六)

目录1. 概念2. 如何触发增量编译 1. 概念 内置任务(如JavaCompile)声明了输入集合(Java源文件)和输出集合(class文件)。Gradle使用此信息来确定任务是否是最新的并且是否需要执行任何工作。如果没有任何输入或输出发生更改,Gradle可以跳过该任务。总之,我们将这种行为成为Gradle增量构建。 2. 如何触发增量编译 apply plugin: 'ba...

2019-08-25 19:30:26 2780

原创 task详解(五)

目录1. task的声明2. task的生命周期3. task的执行顺序 1. task 的声明 //最简单的定义方式,定义一个名字为hello的task,并为这个task传入了一个闭包作为参数。task hello { print 'hello world'}//我们还可以定义的时候,为Task指定他的类型,分组等一系列配置。这样我们的Task就继成于了Copy这个已经...

2019-08-25 19:29:46 487

原创 Gradle属性(四)

目录:1. Project自带的属性2. Project额外的属性3. gradle的静态配置属性4. gradle的动态配置属性1. Project自带的属性 project:Project本身对象name:Project的名字path:Project的绝对路径description:Project的描述信息buildDir:Project构建结果存放目录versi...

2019-08-25 19:29:09 306

原创 groovy学习(一)

目录groovy简介基本使用字符串使用变量:def关键字集合Map的使用Groovy 类方法闭包1. groovy简介Gradle脚本使用的是Groovy语言,Groovy也是基于JVM的一种动态语言,基于Java并扩展了Java语言。Groovy会使写Java程序就要写脚本一样简单,写完就可以执行,所以看起来也像是一门脚本语言。Groovy内部会把代码编译为Java c...

2019-08-23 21:11:25 258

原创 Gradle与project(三)

目录gradle的执行流程gradle 和 idea 对于 project 的概念的区别project 相关 API属性相关API文件API1. gradle的执行流程Initialzation初始化阶段解析整个工程中所有project(读取setting.gradle文件),构建所有的project对应的Project对象Configuration配置阶段解析所有的pro...

2019-08-23 21:08:48 276

原创 开始使用gradle(二)

目录groovy简介基本使用字符串使用变量:def关键字集合Map的使用Groovy 类方法闭包1. groovy简介Gradle脚本使用的是Groovy语言,Groovy也是基于JVM的一种动态语言,基于Java并扩展了Java语言。Groovy会使写Java程序就要写脚本一样简单,写完就可以执行,所以看起来也像是一门脚本语言。Groovy内部会把代码编译为Java c...

2019-08-23 21:01:52 141

原创 RxJava学习-使用篇

前言:Observer 观察者决定事件触发时有什么行为。Observable 决定什么时候触发事件,以及触发什么事件Action 取代被观察者,决定触发什么事件,不完整回调create just from 都是用来创建Observable的,create 用来创建无参Observable,just用来创建一个Observable,而from用来创建一个集合的Observable,参数是...

2019-06-24 16:05:33 201

原创 kotlin学习之伴生对象(十五)

伴生对象最简单直白的理解就是与一个类相伴而生的对象,由于它处于类内部,所以必然和包含它的类存在某种联系。基本用法伴生对象使用关键字companion来声明,看起来就像是在object关键字前面加的一个修饰符。它的一般格式如下:class 外部类名{ companion object 伴生对象名{ //属性 //方法 }}简单的代码示例如下 com...

2019-06-22 14:31:59 340

原创 安卓总结 之 OkHttp使用及源码分析(三)

本章主要介绍Okhttp的使用和和源码分析准备工作常见用法OkHttp更好的封装OkHttp的源码分析一. 准备工作在gradle中添加依赖 implementation 'com.squareup.okio:okio:1.7.0' implementation 'com.squareup.okhttp3:okhttp:3.2.0'添加网络权限 <u...

2019-05-31 16:25:49 191

原创 Android总结 之 View系统学习(一)

一. View的体系结构view是Android 所有控件的基类,ViewGroup相当于View的结合,一些Layout,如FrameLayout、LinearLayout和RelativeLayout都是继承于ViewGroup。二. View的属性getTop()getButtom()getRight()getLeft()getHeiht()getWidth()Vi...

2019-05-28 22:01:23 311

原创 Android总结 之 AsyncTask(二)

首先从AsyncTask的execute方法开始介绍,这是AsyncTask的入口:public final AsyncTask<Params, Progress, Result> execute(Params... params) { return executeOnExecutor(sDefaultExecutor, params); }执行的是他的重...

2019-05-28 21:59:02 105

原创 kotlin学习之泛型(十四)

本小结介绍的是kotlin的泛型,先从Java的泛型开始介绍:一. 泛型kotlin中使用泛型的方式跟Java相差不大:class Box<T>(t: T) { var value = t}// 使用val box: Box<Int> = Box<Int>(1)//kotlin可以自动推断类型val box2 = Box(1)二....

2019-05-21 15:23:30 259

原创 kotlin学习之集合(十三)

一. 集合概述首先,Kotlin的集合只有两种类型,可变类型和不可变类型,可变类型是在不可变类型前面加上Mutable:List和MutableList<ESet 和 MutableSetMap<K, out V> 和 MutableMap<K, V>他们的类图如下:二. 集合分析迭代器首先,Iterable是所有集合的最上层,提供一个迭代器,可...

2019-05-21 12:04:14 213

原创 kotlin学习之解构声明(十二)

一. 解构声明的概念把一个对象成员解构成多个变量,成为解构函数,component1(),component2()等函数是Kotlin约定的操作符。解构函数可以用于:创建变量循环函数map二. 创建变量data class Person(val name: String, val age: Int)fun main(args: Array<String>) {...

2019-05-20 20:56:42 195

原创 kotlin之重载运算符(十一)

一. 运算符重载概念简单来说,就是Kotlin通过调用自己代码中定义特定的函数名的函数(成员函数或者扩展函数),并且用operator修饰符标记,来实现特定的语言结构比如:// 一个简单的数据类data class Foo(val x: Int, val y: Int) { operator fun plus(other: Foo) : Foo = Foo(x + other.x,...

2019-05-20 15:41:04 404

原创 kotlin学习之lambda(十)

Kotlin跟Java的lambda编程其实区别不大,无论是用法和写法,都比较相似,这里不详细介绍lambda表达式的用法,主要介绍一下kotlin跟java的不同之处。一. Lambda表达式介绍如果lambda表达式是函数调用的最后一个实参,那么可以把lambda表达式放在括号外面。这是经常我们能看到有两个花括号的原因。。如果lambda表达式是唯一的参数,那么连括号都可以省略如果参...

2019-05-09 17:24:57 173

原创 kotlin学习之对象(九)

本小结从三个角度介绍对象Object对象的声明及原理伴生对象对象表达式一. 对象的声明及原理声明object RepositoryManager{ fun method(){ println("I'm in object declaration") }}对象声明通过object引入,跟类一样包含属性、方法、初始代码块,但是唯一不同的是不拥有...

2019-05-09 17:24:15 156

原创 kotlin学习之类委托(八)

如果我们需要一个集合类,含有MutableCollection的所有功能,并可以修改两个方法,add和addAll,那么我们需要写一个新的类继承MutableCollection,并把一个MutableCollection成员放到里面,覆盖并修改他的所有方法,并修改add和addAll方法。class DefaultCollection<T> : MutableCollection&...

2019-05-09 17:23:46 139

原创 kotlin学习之数据类(七)

1. 存在的意义Kotlin的数据类相当于Java的Bean,Java的一个类都需要写getter和setter方法,代码十分臃肿,而且每次我们添加或者修改一个成员的时候,需要改相应的代码。public class JavaDemoBean { private String param1; private String param2; public String ge...

2019-05-09 17:23:21 205

原创 kotlin学习之嵌套类和内部类(六)

1. Java中的内部类和嵌套类//内部类,内部类持有了外部类的引用,所以在内部类中可以调用外部类的方法public class JavaOuter extends Activity { private String text = "KKK"; private void funOuter() { text = "BBB"; } class Inn...

2019-05-09 17:22:53 512

原创 kotlin学习之密封类(五)

密封类的意义比如,不用密封类interface FatherClassclass SonClass1: FatherClass{}class SonClass2: FatherClass{}fun check(fatherClass: FatherClass): String = when(fatherClass){ is SonClass1 -&gt...

2019-05-09 17:22:21 149

原创 kotlin学习之类的扩展(四)

Kotlin 中类的扩展方法并不是在原类的内部进行拓展,通过反编译为Java代码,可以发现,其原理是使用装饰模式,对源类实例的操作和包装,其实际相当于我们在Java中定义的工具类方法,并且该工具类方法是使用调用者为第一个参数的,然后在工具方法中操作该调用者;比如:定义一个String的扩展方法,其中的this表示调用者本身;fun String.times(t:Int){ val sb...

2019-05-09 17:21:31 142

原创 kotlin学习之类(三)

在看下面之前,先要知道几个概念Java的类和方法默认都是open的,而Kotlin默认的都是final的,所以要想在kotlin中定义一个可以重写的类或者方法,记得添加open。因为接口设置的方法都是待重写的属性和方法,所以默认都是open的抽象类可以理解成一半类,一半接口,只要你声明了abstrat,就说明它希望被覆盖,所以声明了abstrat的属性和方法是默认open的。只要你重写了...

2019-05-09 17:21:04 154

原创 kotlin学习之函数(二)

这一节主要介绍顶层函数和属性,扩展函数和属性的原理,理解它们与Java的区别,并提出局部函数的概念1. 顶层函数和属性顶层函数不属于任何类,可以理解成Java的静态函数//在Join.kt文件中package stringsfun joinToString(...): String { ... }const val UNIX_LINE_SEPARATOR = "\n"相当于Ja...

2019-05-09 17:20:41 179

原创 kotlin学习之基础(一)

这一节主要介绍Kotlin基础部分,与Java有区别的地方。介绍一些基础,控制流和异常内容。一.基础val和varvar指向可变引用val指向一个不可变的引用,但是如果这个引用是可变的val languages = array("Java","C++");//languages = array("Java","C++") //错误languages.add("kotlin") /...

2019-05-09 17:19:30 231

原创 安卓学习 之 网络技术(十)

一. 显示web页面添加布局。使用webView添加权限<user-permission android:name = “android.permission.INTERNET”>加载布局,webView,并作出对应的设置。WebView webView = (WebView)findViewById(R.id.web_view);webView.getSettings(...

2019-04-20 20:31:25 233

原创 安卓学习 之 Service服务(十)

服务(Service)是 Android 中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且还要求长期运行的任务。一、多线程编程先介绍一下四个组件:MessageMessage 是在线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程之间交换数据。上一小节中我们使用到了 Message 的 what 字段,除此之外还可以使用 arg1 和 arg2 字...

2018-12-11 18:21:43 317

原创 安卓学习 之 多媒体技术(八)

一、通知需要NotificationManager对通知进行管理,getSystemService获取系统中的那个服务。NotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);用support-v4库提供的NotificationCompat...

2018-12-11 14:57:30 358

原创 安卓学习 之 ContentResolver内容提供者(七)

简介Android持久化技术一章中所保存的数据都只能在当前应用程序中访问,但跨程序数据共享是由Content Provider提供的,譬如说:电话薄、短信、媒体库中的信息。一、基本用法构建内容URI对象,com.example.app是包名,table是表名,将内容URI字符串解析成URI对象.Uri uri = Uri.parse("content://com.example.app...

2018-12-11 14:56:14 412

原创 安卓学习 之 数据存储(六)

一、文件存储写入文件openFileOutput将数据存储到指定的文件当中去。第一个是文件名,第二个是文件的操作模式,MODE_PRIVATE为默认,会覆盖之前内容,MODE_APPEND会追加内容。默认存储到/data/data/pacak name/file下获得FileOutputStream对象,借助他构建OutputStreamWriter对象,在构建BufferedWriter...

2018-12-07 10:59:19 182

jetty-distribution-9.4.11.v20180605

Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。

2018-11-30

activemq-all-5.15.0.jar

activemq-all-5.15.0.jar

2017-08-28

activitymq实战 源代码

activitymq实战 源代码

2017-08-28

空空如也

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

TA关注的人

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