自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 Kotlin研发第二十六弹 终章—— 互用性

互用性链接动态类型交互java交互在kotlin中调用java代码交互Java交互kotlin在设计时就是以Java交互为中心的。现存的Java代码可以在kotlin中使用。在kotlin中调用Java代码基本所有的Java代码都可以运行import java.util.*fun demo(source: List<Int>) { ...

2019-05-30 09:53:09 199

原创 Kotlin研发第二十五弹—— 参考库

参考参考链接Kotlin标准库包Kotlin标准库Kotlin裱糊纸尿裤是一系列实现了常用的模式的函数和类型,可以用在集合、文字和文件上。包——各种依赖库包名信息kotlin核心函数和类型,在所有支持平台均可用kotlin.annotationkotlin注解的依赖库kotlin.browser访问操作浏览器的DOM的APIko...

2019-05-30 09:52:59 211

原创 Kotlin研发第二十四弹—— 动态类型

动态类型动态类型动态类型作为静态类型的语言,kotlin仍然拥有与无类型或弱类型语言的调用,比如JavaScript。为了方便使用,Dynamic应运而生val dyn:dynamix=dynamic类型关闭了kotlin的类型检查:这样的类型可以分配任意变量或者在任意的地方作为参数传递任何值都可以分配为dynamic类型,或者作为参数传递给任何接受dynamic类型参数的函...

2019-05-30 09:52:51 616

原创 稿 Kotlin研发第二十四弹—— 反射

反射反射类引用函数引用例子:函数组合属性引用与java反射调用构造函数引用反射反射是一系列语言和库的特性,允许在运行是获取你代码结构。Kotlin把函数和属性作为语言的头等类,而且反射他们和使用函数时编程或者响应式编程风格很像。类引用最基本的反射特性就是得到运行时的类引用。要获取引用并使之成为静态类可以使用字面类语法://类引用fun getTestClasse...

2019-05-30 09:52:38 145

原创 Kotlin研发第二十三弹—— 注解

注解注解注解声明用法构造函数LambdasJava注解注解注解声明注解是一种将原数据附加到代码中的方法。声明注解需要在类前面使用annotation关键字://注解@Target(AnnotationTarget.EXPRESSION, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarg...

2019-05-30 09:52:27 120

原创 Kotlin研发第二十二弹—— 异常

异常异常异常类try是一个表达式检查异常java互动异常异常类所有的异常类都是Exception的子类,每个异常都有个消息,栈踪迹和可选的原因使用throw表达式,抛出异常throw Exception("出错啦")使用try捕获异常try{}catch(e:Exception)finally{}有可能不止一个catch块,finally块可以省略val ...

2019-05-30 09:52:18 155

原创 Kotlin研发第二十一弹——空安全

空安全空安全可控类型和非空类型在条件中检查null安全掉还用Elvis操作符!!操作符安全转换空安全可空类型和非空类型Kotlin致力于消灭空引用:为了避免Java中的NullPointerException(NPE)Kotlin类型系统致力于消灭NullPointerException,唯一可以导致NPE异常的可能是:明确调用throw NullPointer...

2019-05-30 09:52:08 129

原创 Kotlin研发第二十弹——运算符重载

运算符重载运算符重载转换一元运算符二元操作符函数命名的中缀调用运算符重载Kotlin允许我们事先一些我们自定义类型的运算符实现,这些运算符有固定的表示和固定的优先级。为实现这样的运算符,饿哦们提供了固定名字的数字函数和扩展函数。比如二元运算符的左值和一元运算符的参数类型转换一元运算符表达式转换+aa.pluns()-aa.minus...

2019-05-30 09:51:59 131

原创 Kotlin研发第十九弹——等式

等式相等参照相等结构相等相等kotlin中有两种相等参照相等(指向相同的对象)结构相等参照相等参照相等是通过===操作符判断的(不等是!==)a===b,只有a,b指向同一个对象时判断才成立另外:你可以使用内联函数identityEquals()判断参照相等:???下面等式没法验证a.identityEquals(b)a identityEquals b结...

2019-05-30 09:51:52 116

原创 Kotlin研发第十八弹——类型检查和自动转换

类型检查和自动转换类型检查和转换is !is表达式智能转换**“不安全”的转换符和“安全”转换符 **类型检查和转换is !is表达式我们可以运行是通过上面两个操作符检查一个对象是都是某个特定类型//判断当前数据是否是某种类型fun judgeTypeTest(){ val num=2 if (num is Int){ println(n...

2019-05-30 09:51:45 151

原创 Kotlin研发第十七弹——其他

其他其他链接链接多重声明Ranges类型检查和自动转换This表达式灯饰运算符重载空安全异常注解反射动态类型多重声明多重声明例子:一个函数返回两个值例子:多重声明和Map多重声明有时候可以通过给对象插入多个成员函数做区别是很方便的,比如://多重声明data class Person(var name:String,var ag...

2019-05-30 09:51:38 592

原创 Kotlin研发第十六弹——接口

接口Kotlin 的接口与 Java 8 类似,既包含抽象方法的声明,也包含实现。与抽象类不同的是,接口无法保存状态。它可以有属性但必须声明为抽象或提供访问器实现。使用关键字 interface 来定义接口interface MyInterface { fun bar() fun foo() { // 可选的方法体 }}实现接口一个类或者对象可以实...

2019-05-30 09:51:32 145

原创 Kotlin研发第十五弹——协程(Coroutines)

协程(Coroutines)阻塞和挂起挂起函数@RestrictsSuspension注解协程内部机制协程实验状态标准API底层API:kotlin。coroutineskotlin.coroutines中的生成器API其他高级API:kotlinx.coroutines协程协程:有些API需要长时间运行,并且需要调用者阻塞其他程序知道这些调用完成(比如网络IO、文...

2019-05-30 09:51:23 224

原创 Kotlin研发第十四弹——内联函数

内联函数1、内联函数使用高阶函数带来了响应的运行时麻烦:**每个函数都是一个对象,它捕获闭包,即这些变量可以在函数体内被访问,减少了内存:**毕竟内存的分配,虚拟调用的运行都会带来开销但是大多数开销都可以用**内联函数inline**避免内联函数具体的在之前讲到了,这边就不细讲,就单纯的写两个例子//内联函数inline fun <T> addStringTest(test...

2019-05-30 09:51:17 196

原创 Kotlin研发第十三弹——高阶函数和lambda表达式

高阶函数和lambda表达式尾递归函数(tailrec)kotlin支持函数时编程的尾递归。这个允许一些算法可以通过循环而不是递归解决问题,从而避免了栈溢出。当函数被标记为tailrec时,编译器会优化递归,并用高效迅速的循环代替它//尾递归tailrec fun findFixPoint(x:Double=1.0):Double=if (x==Math.cos(x))x else fin...

2019-05-30 09:51:08 270

原创 Kotlin研发第十二弹——函数和lambda表达式

函数和lambda表达式函数1、函数声明在kotlin中用关键字fun声明函数:fun double(x:Int):Int{}2、函数用法通过传统的方式调用函数val resule=double(2)通过.调用成员函数Sample().foo()//创建Sample类的实例,调用foo方法3、中缀符号(infix)在满足以下条件时,函数也可以通过中缀符号进行...

2019-05-30 09:51:00 238

原创 Kotlin研发第十一弹——属性声明和代理

属性声明在kotlin中类可以有属性,有两种val: 关键字声明只读**var:**声明可变属性class Name{var name:String ?=null}Getter和Setter方法var声明后拥有getter和setter方法val声明后只有getter方法备用字段在kotlin中类不可以有字段,然而当使用自定义的防蚊器时有时候需要备用字段,处于这些原因kot...

2019-05-30 09:50:40 234

原创 Kotlin研发第十弹——数据类

数据类我们经常创建一些只保存数据的类。 在这些类中,一些标准函数往往是从数据机械推导而来的。在 Kotlin 中,这叫做 数据类 并标记为 data:data class User(val name: String, val age: Int)编译器自动从主构造函数中声明的所有属性导出以下成员:equals()/hashCode() 对;toString() 格式是 "User(na...

2019-05-29 20:18:13 114

原创 Kotlin研发第九弹——扩展

扩展Kotlin 同 C# 与 Gosu 类似,能够扩展一个类的新功能而无需继承该类或使用像装饰者这样的任何类型的设计模式。 这通过叫做 扩展 的特殊声明完成。Kotlin 支持 扩展函数 与 扩展属性。扩展函数声明一个扩展函数,我们需要用一个 接收者类型 也就是被扩展的类型来作为他的前缀。 下面代码为 MutableList<Int> 添加一个swap 函数:fun Muta...

2019-05-29 20:15:13 141

原创 Kotlin研发第八弹——可见性修饰符

可见性修饰符类、对象、接口、构造函数、方法、属性和它们的 setter 都可以有 可见性修饰符。 (getter 总是与属性有着相同的可见性。) 在 Kotlin 中有这四个可见性修饰符:private、 protected、 internal 和 public。 如果没有显式指定修饰符的话,默认可见性是 public。以下解释了这些修饰符如何应用到不同类型的声明作用域。包函数、属性和类、...

2019-05-29 20:12:37 141

原创 Kotlin研发第七弹——属性与字段

属性与字段声明属性Kotlin的类可以有属性。 属性可以用关键字var 声明为可变的,否则使用只读关键字val。class Address { var name: String = …… var street: String = …… var city: String = …… var state: String? = …… var zip: Stri...

2019-05-29 20:10:55 117

原创 Kotlin研发第六弹——类与继承

类类与继承类Kotlin 中使用关键字 class 声明类class Invoice { ... }类声明由类名、类头(指定其类型参数、主构造函数等)以及由花括号包围的类体构成。类头与类体都是可选的; 如果一个类没有类体,可以省略花括号。class Empty构造函数在 Kotlin 中的一个类可以有一个主构造函数以及一个或多个次构造函数。主构造函数是类头的一部分:它跟在类名(...

2019-05-29 20:08:51 141

原创 Kotlin研发第五弹——控制流:if、when、for、while

控制流:if、when、for、whileIf 表达式在 Kotlin 中,if是一个表达式,即它会返回一个值。 因此就不需要三元运算符(条件 ? 然后 : 否则),因为普通的 if 就能胜任这个角色。// 传统用法var max = aif (a < b) max = b// With elsevar max: Intif (a > b) { max = a...

2019-05-29 20:06:05 150

原创 Kotlin研发第四弹——基础类型

基础类型在 Kotlin 中,所有东西都是对象,在这个意义上讲我们可以在任何变量上调用成员函数与属性。 一些类型可以有特殊的内部表示——例如,数字、字符以及布尔值可以在运行时表示为原生类型值,但是对于用户来说,它们看起来就像普通的类。 在本节中,我们会描述 Kotlin 中使用的基本类型:数字、字符、布尔值、数组与字符串。数字Kotlin 处理数字在某种程度上接近 Java,但是并不完全相同...

2019-05-29 20:03:09 791

原创 Kotlin研发第三弹——编码风格

编码风格编码规范命名风格冒号lambdas类声明格式Unit函数vs属性编码风格命名风格—使用骆驼命名法(在命名中避免下划线)—类型名称首字母大写—方法和属性首字母小写—缩进用四个空格—public 方法要写说明文档,这样它就可以出现在 Kotllin Doc 中冒号在冒号区分类型和父类型中要有空格,在实例和类型中间是没有空格的//对于泛型信息的泛型...

2019-05-29 19:55:19 135

原创 Kotlin研发第二弹——习惯用语

习惯用语习语创建DTOs(POJOs/POCOs)数据类函数默认参数过滤list字符串插值实例检查遍历map/list键值对使用ranges只读list只读map访问map懒属性(延迟加载)扩展函数创建单例模式如果不为空则…的简写如果不为空否则的简写如果生命为空执行某操作如果不为空执行某操作如果不空则映射(Map nullable value if not...

2019-05-29 19:42:04 196

原创 Kotlin研发第一弹——基本语法

基本语法基本语法包定义定义函数定义局部变量注释使用字符串模板使用条件表达式使用可空变量以及空值检查使用值检查以及自动转换使用for循环使用while循环使用when表达式使用ranges使用集合基本语法包定义在源文件的开头定义包package com.wyc.accountschool.kotlin.test.zheshi.zhendeimport...

2019-05-29 19:37:03 147

原创 kotlin使用androidstudio爆 default constructor not found和ArrayIndexOutOfBoundsException问题,排除fastjson的版本问

在androidstudio中使用kotlin,遇到fastjson解析时会爆com.alibaba.fastjson.JSONException: default constructor not found,然后加上api “org.jetbrains.kotlin:kotlin-reflect:$kotlin_version”会爆:java.lang.ArrayIndexOutOfB...

2019-03-18 15:06:09 665

转载 关于Android在线直播问题的讨论与研究

最近调研android视频录制、另一部手机实时观看,大致有以下几种思路。1. android手机充当服务器,使用NanoHTTPD充当服务器,另一部手机或者pc通过输入http://手机的ip:8080网址观看。这种方案可以参考 ipcamera-for-android开源项目,网址 http://code.google.com/p/ipcamera-for-android/source/chec

2016-03-15 17:38:31 2569

转载 详解Androidstudio编写的APK过大的问题

AndroidStudio的apk文件越来越大了这已经是一个不争的事实。在Android 还是最初版本的时候,一个app的apk文件大小也还只有2 MB左右,到了现在,一个app的apk文件大小已经升级到10MB到20MB这个范围了。apk文件大小的爆炸式增长主要是因为用户对app质量的期待越来

2016-03-15 17:31:07 16557 1

原创 详解:scrollview嵌套listview,而listview的item中是webview,导致listview不能在scrollview完全伸展开的问题

最近由于项目功能原因,采用了scrollview嵌套listview的方法,但是listview中的item又包含webview,导致了一些高度计算错误,listview不能完全伸展的问题: 一:加载数据是异步的(这就导致咱们重构的onMeasure()方法没有用!); 二:webview的高度计算分为两种:如果是网络上的(也就是url中的)数据,webview可以准确计算高度,但是如果是本地的带有htm

2016-03-08 17:17:12 4282 10

原创 java.net.SocketException: socket failed: EACCES (Permission denied)联网权限已经设置了还是报错的两个原因及解决方案

最近在移动开发的时候遇到了java.net.SocketException: socket failed: EACCES (Permission denied),但是我也在manifest中设置了联网权限经过我的尝试终于找到了解决方案:1:出错原因:是因为把联网的操作写在主线程中,从android 4.0以后就不允许这样操作了,因为如果在主线程里联网,如果网络不好那么整个程序就卡死

2015-07-02 09:31:49 10901

原创 黑马入学测试题:/* * 1、 定义一个交通灯枚举,包含红灯、绿灯、黄灯,需要有获得下一个灯的方法,例如:红灯获取下一个灯是绿灯, * 绿灯获取下一个灯是黄灯。 * * 分析:

/* *  1、 定义一个交通灯枚举,包含红灯、绿灯、黄灯,需要有获得下一个灯的方法,例如:红灯获取下一个灯是绿灯, *   绿灯获取下一个灯是黄灯。 *   *  分析: *   1)建立枚举类 *   2)在枚举类中提供抽象的nextLamp()方法 *   3)让三个灯重写抽象方法 *   4)建立验证类输出*/ public clas

2014-07-17 17:32:35 3414

原创 面向对象的运用,及局部变量成员变量以及static关键字的运用

1:面向对象      面向对象的概念:1)是基于面向对象的一种思想2)将功能封装进对象,强调具备了功能的对象3)面向对象时基于面向过程的     面向对象特点:1)面向对象就是一种常见的思想,符合人们的思考习惯;2)面向对象的出现将复杂问题简单化3)面向对象的出现,让执行者变成指挥者     面向对象的三个特征:封装,继承,多态  2:成员变量和局

2014-06-24 00:18:54 2111 1

原创 面向对象的一些基本概念及应用

1:面向对象      面向对象的概念:1)是基于面向对象的一种思想2)将功能封装进对象,强调具备了功能的对象3)面向对象时基于面向过程的     面向对象特点:1)面向对象就是一种常见的思想,符合人们的思考习惯;2)面向对象的出现将复杂问题简单化3)面向对象的出现,让执行者变成指挥者     面向对象的三个特征:封装,继承,多态  2:成员变量和局

2014-06-24 00:10:11 1927

原创 浅谈Java中工具类的调用方法及说明书生成方案

1:工具类的定义:就是把一些需要用的工具方法定义到一起,以方便长期使用;2:下面我们以ArrayTool的对象使用这些工具方法,对数组进行操作;发现问题:1)对象时用来封装数据的,可是ArraToole并未封装特有数据;2)操作数组的每一个方法都没有用到ArrayTool的特有数据;3)可以使用static静态方法将调用简化,也可以使用private的方法私有化,让别    人

2014-06-23 22:50:25 7066

kotlin-Android开发中文翻译

这是kotlin学习的官方文档的翻译版,主要是帮助各位英语和我一样不好的童鞋的使用,里面详细介绍了kotlin使用规范以及参数,类和非空的含义,希望帮助大家更好的了解kotlin的使用

2019-02-25

IjkPlayer官方Android版本(已经NDK编译)

这个是BiliBili开源版本IjkPlayer的Android版本,已经NDK编译过,省略大家编译的痛苦过程!jkplayer是基于ffmpeg/ffplay的轻量级Android/iOS视频播放器,可实现跨平台的功能,API易于集成,编译配置可裁剪!

2018-05-22

Android+5.0开发范例代码大全:第4版(中文版)

这是Android5.0开发范例的中文版,里面包含有5.0的各种属性,新学者可以多加了解!

2017-03-13

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

TA关注的人

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