Kotlin简介
简介Kotlin (cot-lin) 是一种针对 Java 平台的编程语言。大概与 2010 年Kotlin诞生于 JetBrains 公司 (就是那个开发了很多很好用的 IDE 的公司)。Kotlin 以靠近俄罗斯圣彼得堡的一座岛屿命名 (我觉得这个应该是学习 Java 的)。Kotlin 的特性是简洁 , 安全,实用,专注于和 Java 的互操作性。可以应用在服务...
2024-01-10Kotlin基础教程之数据类型
Kotlin基础教程之数据类型一切都是对象.在Kotlin中一切都是对象.Kotlin有一些基本类型Boolean,Byte,Shot,Int,Long,Float,Double在Kotlin中没有原始类型,以上这些类型都是对象,比如运行结果如下Kotlin支持16进制字面值,二进制字面值和科学记数法,官方文档中没有提到8进制所有基本的几个数据类型不会进行显式...
2024-01-10Kotlin基础教程之面向对象
Kotlin 面向对象这几天一直在准备考试,实在没有时间,已经过去了这么久,终于要到面向对象了!先看看Kotlin中的类长什么样吧.可以看到Kotlin中的类还是很普通的,大多与Java相似,比较特殊的有:每一个构造函数都必须为每一个成员变量赋予初值.primary constructor,这个构造函数的头部紧跟在类名之后,函数...
2024-01-10kotlin实战教程之lambda编程
前言ambda即lambda表达式,简称lambda。本质上是可以传递给其它函数的一小段代码。有了lambda,可以轻松地把通用代码结构抽取成库函数。lambda最常见的用途是和集合一起配合。kotlin甚至还拥有带接收者的lambda,这是一种特殊的lambda。本文是对<<kotlin实战>>中 “lambda编程”一章的总结,主要记录了一些我...
2024-01-10kotlin 官方学习教程之基础语法详解
kotlin 官方学习教程之基础语法详解Google 在今天的举行了 I/O 大会,大会主要主要展示内有容 Android O(Android 8.0)系统、Google Assistant 语音助手、Google 智能音箱、人工智能、机器学习、虚拟现实等。作为一个 Android 开发者,我关心的当然是 Android O(Android 8.0)系统了,那么关于 Android O 系统的一个重要...
2024-01-10在Kotlin晃来晃去
我有这种怀疑的家伙,我不知道;任何需要了解的例子都会很棒。 Kotlin编程语言是否患有“悬挂其他”问题? 如果问题存在,那么在这种情况下是什么原因?在Kotlin晃来晃去回答:Kotlin使用与java相同的方法来解决悬空问题。 “else”关键字自动链接到最近的“if”或“when”关键字。 https://kotlinlang.org/...
2024-01-10kotlin实现五子棋单机游戏
最近学了点kotlin的相关知识,顺手写了一个简单的五子棋单机游戏,分享给大家吧!有兴趣的可以看看五子棋界面package wjc.kotlintestimport android.content.Contextimport android.graphics.Canvasimport android.graphics.Colorimport android.graphics.Paintimport android.util.AttributeSetimport android.view.View/** * ...
2024-01-10自定义View之kotlin绘制折线图实例教程
什么是KotlinKotlin,它是JetBrains开发的基于JVM的面向对象的语言。2017年的时候被Google推荐Android的官方语言,同时Android studio 3.0正式支持这门语言,在这个编译器上创建一个Kotlin项目,非常方便,甚至可以Java转为Kotlin。引言早上看到有个童鞋在群里面发牢骚,说这个自定义view怎么画,不太会,ok,正好我也...
2024-01-10Kotlin基础教程之函数定义与变量声明
Kotlin基础教程之函数定义与变量声明可以看到,函数定义就是 <访问控制符> <函数名> <参数列表> <:返回类型(不写就是无返回类型)> {函数体}单语句函数可以简写,比如add函数和add1函数效果是一样的变量定义var <标识符> : <类型> = <初始化值>常量定义val <标识符> : <类型> = <初始化值>常量与变量都可...
2024-01-10Kotlin基础教程之操作符与操作符重载
Kotlin基础教程之操作符与操作符重载Kotlin操作符的使用方法与其他语言差不多,最大的特点就在于infix function call(事实上infix function call并不是操作符的特性,而是函数的特性)和操作符重载.可以看到在Kotlin中大部分的操作符都与一个函数相对应,之所以这样做,大概是为了进行操作符重载.Kotlin官方文档...
2024-01-10Kotlin的静态内部类
Inner static Class如果存在Kotlin语言,可以用什么替代方法?如果没有,当我需要staticclass在Kotlin中使用时如何解决此问题?请参见下面的代码示例: inner class GeoTask : AsyncTask<Util, Util, Unit>() { override fun doInBackground(vararg p0: Util?) { LocationUtil(this@DisplayMembers).startLocationUpdat...
2024-01-10一文彻底搞懂Kotlin中的协程
产生背景为了解决异步线程产生的回调地狱//传统回调方式api.login(phone,psd).enquene(new Callback<User>(){ public void onSuccess(User user){ api.submitAddress(address).enquene(new Callback<Result>(){ public void onSuccess(Result result){ ... } }); }});//使用协程后val user=api.login(phone,p...
2024-01-10Kotlin线程同步的几种实现方法
目录1. Thread.join()2. Synchronized3. ReentrantLock4. BlockingQueue5. CountDownLatch6. CyclicBarrier7. CAS8. Future9. CompletableFuture10. RxJava11. Coroutine12. Flow总结面试的时候经常会被问及多线程同步的问题,例如:“ 现有 Task1、Task2 等多个并行任务,如何等待全部执行完成后,执行 Task3。”在 Kotlin 中我们有多种实现方式,...
2024-01-10kotlin这门语言有必要学习么?
做安卓开发用java不是够了么,为什么老是出各种奇奇怪怪的语言呢:(回答:如果你是做安卓开发,并想深耕,那就学呗,jetpack compose 框架应该是kotlin写的吧,kotlin 应该是安卓原生开发未来首选语言。如果你是普通开发者,偶尔开发一下客户端,那kotlin 就没有什么性价比,学习语言分三种情况: 1、工作要用的,必须学;2、为未来打算,升职加薪,那当然学用的最多的,pytho...
2024-03-09Kotlin 和 Java 混合开发入门教程
目录一、前沿二、学习 Kotlin 前准备三、Kotlin 语法简介优秀的表达式加强版 switch模板字符串空指针异常不存在了编写单例类扩展方法运算符重载四、Kotlin 与 Java 混合开发五、Kotlin 与 Java 总结一、前沿如果你学习过其他的编程语言,你就会发现 Java 的语法很是哆嗦,可是我们为什么没有放弃 Java 这门...
2024-01-10Kotlin协程到底是如何切换线程的
随着kotlin在Android开发领域越来越火,协程在各个项目中的应用也逐渐变得广泛但是协程到底是什么呢?协程其实是个古老的概念,已经非常成熟了,但大家对它的概念一直存在各种疑问,众说纷纷有人说协程是轻量级的线程,也有人说kotlin协程其实本质是一套线程切换方案显然这对初学者不太友好...
2024-01-10详解Kotlin的空指针处理
详解Kotlin的空指针处理Kotlin的空指针处理相比于java有着极大的提高,可以说是不用担心出现NullPointerException的错误,kotlin对于对象为null的情况有严格的界定,编码的阶段就需要用代码表明引用是否可以为null,为null的情况需要强制性的判断处理。咋看一下这些在java里面其实也有,问题是一般开发中不...
2024-01-10Kotlin可见性修饰符详解
目录一、 四种修饰符的说明二、在不同场景下各个修饰符声明的范围讲解2.1、在包(package)中声明,即顶层声明的情况2.1.1、测试同一个文件中声明不同的修饰符的范围2.1.2、测试不同文件中声明不同的修饰符的范围2.1.3、小结2.2、在类(class)和接口(interface)中声明的情况2.2.1、测试在类中声明的情况2.2.2、...
2024-01-10kotlin使用建造者模式自定义对话框
本文实例为大家分享了kotlin自定义对话框的具体代码,供大家参考,具体内容如下1.CommonDialog 创建我们自己的对话框,继承于系统的Dialog 实现构造方法class CommonDialog(context: Context?, themeResId: Int) : Dialog(context, themeResId) {}2. 在内部创建BUilder类 定义出我们需要的方法和属性class Builder (private val context: Co...
2024-01-10折叠列表与kotlin中的解构赋值配对
我尝试从字符列表中的折叠操作获得多个结果,然后对这两个值使用解构赋值给它们自己的变量。但是,这似乎导致由科特林编译器异常:折叠列表与kotlin中的解构赋值配对java.lang.UnsupportedOperationException: Don't know how to generate outer expression for class <closure-Test$1> 奇怪(我)不破坏结构,这按预期工作。...
2024-01-10教你一文搞懂Kotlin中的Jvm注解
JvmOverloads创建一个kotlin的类class Student(val name: String, val sex: Int = 1, val age: Int = 18)可以看出来 这个构造函数的参数是有默认值的,kotlin的特性对吧,我们在使用的时候可以方便的使用,比如: val student = Student("wuyue") val student2 = Student("wuyue", age = 18)但是这个特性如果你用java来调用你就是失败的...
2024-01-10kotlin 定义接口并实现回调的例子
开发环境 android studio 3.0.1 已支持 kotlin1、定义接口interface CallBack{ fun callBack(info : String)}2、实现接口 : 为继承\实现class CallBacks : CallBack{ override fun callBack(info : String){ Log.d("MainApp","current info $info") }}或者private var mCallBack = object : CallBack{...
2024-01-10Kotlin基础教程之控制流(顺序,分支,循环)
Kotlin的控制流与其他语言一样,顺序,分支,循环顺序语句就不多说,分支有两种,if-else和when(类似于Java中的switch)if语句:运行结果:Java中的case语句不仅支持整数值,最新的JVM还支持字符串,Kotlin的when语句更是强大,开关变量甚至可以是Double,Array等各种类型,换句话说when语句比switch语句强大,与if-else语句的能...
2024-01-10使用kotlin实现MVP的方式(简单好用)
kotlin怎么好用就不多说了,总之我用了感觉非常舒服,今天说一下用kotlin搭建一个MVP框架。先定义抽象类IPresenter,IPresenter持有软引用定义的mView,防止内存泄漏,mView类型必须是实现了IView接口的实例,然后定义生命周期方法,open并且不是抽象方法,让子类有选择的去实现生命周期。package com.khaless...
2024-01-10【安卓】开始切换到 Kotlin: 谷歌工程师给初学者的知识点总结
在 2019 年的 I/O 大会上,我们曾宣布 Kotlin 将会是 Android 应用开发的首选语言,但是,部分开发者们反馈仍不清楚如何切换到 Kotlin,如果团队中没有人熟悉 Kotlin,一开始直接使用 Kotlin 进行项目开发还是会令人生畏。在 Android Studio Profiler 团队内部,我们是通过几个步骤克服了这个问题,第一步是要求...
2024-01-10如何在 Kotlin 中将列表转换为地图?
在本文中,我们将了解如何使用 Kotlin 库提供的各种选项将 List 转换为 Map。示例:使用associate()将列表转换为映射的最标准方法是使用该associate()函数。此函数将项目列表作为参数,并返回包含键值对的映射。在下面的示例中,我们将看到它是如何工作的。示例data class mySubjectList(var name: String, var pri...
2024-01-10【安卓】Kotlin 集合的变换与聚合
一、前言<font face= 黑体>在 Kotlin 高阶函数与内联函数 中我们已经将 Kotlin 的 高阶函数 和 内联函数 讲完了,今天我们来讲 Kotlin 的 集合变换与聚合。二、集合变换与聚合2.1、集合的变换操作<font face= 黑体>对于集合来说,最常见的使用方式就是对集合进行遍历,我们来看一下 Java 和 Kotlin 的遍历集合...
2024-01-10什么是 Kotlin 双键 (!!) 运算符?
在 Kotlin 中,“!!” 是一个称为双键运算符的运算符。该运算符也称为“非空断言运算符”。该运算符用于将任何值转换为非 NULL 类型的值,如果对应的值为 NULL,则抛出异常。在下面的示例中,我们将看到如何使用这个双键运算符。示例 1在这个例子中,我们将考虑一个变量“name”,作为一个程序...
2024-01-10如何在 Kotlin 延迟后调用函数?
Kotlin 基于 Java,因此我们可以使用基于 Java 的库函数来延迟函数调用。在本文中,我们将使用 Java 库函数来延迟函数调用,使用Timer()和schedule()。示例import java.util.Timerimport kotlin.concurrent.schedulefun main(args: Array<String>) { //执行起点 println("你好世界!!") //延迟 5 秒 Timer().schedule(5000...
2024-01-10如何检查 Kotlin 中的泛型类型?
在本文中,我们将了解如何获取 Kotlin 中使用的类的类型。在 Kotlin 中没有直接的方法可以做到这一点。为了检查泛型类型,我们需要创建泛型 class<T>的实例,然后我们可以将其与我们的类进行比较。示例 – 如何比较 Kotlin 中的泛型类型对于这个例子,我们将创建一个type<T>的泛型类,我们将在这个类中...
2024-01-10