泛型与 Java 类似,Kotlin 中的类也可以有类型参数:class Box<T>(t: T) { var value = t }一般来说,要创建这样类的实例,我们需要提供类型参数:val box: Box<Int> = Box<Int>(1)但是如果类型参数可以推断出来,例如从构造函数的参数或者从其他途径,允许省略类型参数:val box = Bo
基本类型在 Kotlin 中,所有东西都是对象,在这个意义上讲所以我们可以在任何变量上调用成员函数和属性。有些类型是内置的,因为他们的实现是优化过的。但是用户看起来他们就像普通的类。本节我们会描述大多数这些类型:数字、字符、布尔和数组。数字Kotlin 处理数字在某种程度上接近 Java,但是并不完全相同。例如,对于数字没有隐式拓宽转换(如 Java 中 int 可以隐式转换为 long ——译者
转载 2023-10-20 12:22:34
66阅读
# Android Kotlin项目的Gradle配置详解 Gradle是Android项目的构建工具,它使用Groovy或Kotlin DSL来定义构建逻辑。在本文中,我们将探讨如何为一个Android Kotlin项目编写Gradle文件,同时提供相关的代码示例,帮助大家更好地理解。 ## 什么是Gradle? Gradle是一种现代的自动化构建工具,它能够支持多种开发语言,尤其适合An
原创 9月前
144阅读
Kotlin与C#和Gosu类似,都提供让类扩展新功能的能力,并且不用继承类或使用设计模式,比如装饰者模式。该功能通过扩展(extensions)来实现。Kotlin支持扩展方法(extension functions)和扩展属性(extension properties)。扩展方法要声明一个扩展方法,需要在其名称前添加一个接收者类型,也就是被扩展的类型。下面的代码给MutableList<
Kotlin 介绍导言为什么是Kotlin?首先它与scala语言一样的外形,省去了大量java式的八股代码。代码非常简洁,同样的功能会大大减少代码量,方便阅读和维护。 其次在java的API基础上做了大量封装,常用的操作进行了封装,从而进一步简化开发的代码。并且基于JVM可以和java无缝结合。也可以编译为javascript,也作为Android的第一语言,使前后端使用同一个语言成为了可能。
1.基础知识函数声明使用fun关键字fun double(x: Int): Int { }函数调用val result = double(2) //调用普通函数 Sample().foo() // create instance of class Sample and calls foo//调用类成员函数使用infix标记// Define extension to Int infix fun
转载 2024-08-19 22:47:42
205阅读
作者:华清远见讲师通常情况下,做Android开发无非是使用java或者通过JNI来调用C的代码。但是Android身为一个高度开源的大工程,一直就听说有很多其他的开发模式,比如本文即将介绍的KotlinKotlin是一种基于JVM的编程语言,它的出现就是为了更好的替代Java,毕竟它对Java有相当高的兼容性,并且拥有更加良好的可读性以及代码的简洁性等优化特征。举个简单的例子,在Java中一个
前段时间学习了一点内容,写了一篇Groovy开发工具包。我当时就在想Kotlin怎么没有好用的文件操作API呢?后来我发现我太傻了,Kotlin这么好用的语言怎么可能没有自己的文件API呢?Kotlin的IO操作都在kotlin.io包下。Kotlin的原则就是Java有的就直接利用,没有的才自己想办法。因此Kotlin的IO操作主要是依靠扩展方法,在原有的Java类上添加功能实现的。这一点倒是
  内容简介 本书分为3篇:第一篇,基础语法篇,主要讲解*基础的面向过程式语法;第二篇,面向对象篇,详解Kotlin的面向对象;第三篇,Kotlin 安卓开发篇,主要讲解开发工具Android Studio的使用、UI常用组件和Kotlin开发框架Anko的应用,且以两个小实战展示Kotlin在安卓平台的实际开发能力。 作者简介 张云波,昵称小波,网络知名讲师,《小波说雨燕》
转载 2023-12-12 15:22:29
46阅读
先上一个实现效果:我这个人很讨厌那种直接贴代码的,不给解释的(害人害己,贴代码不解释跟没贴没有区别)1.我们来讲下思路我们要实现倒计时启动页,然后进入到我们的主页面。 首先肯定是要准备一个启动Activity,我们命名为 StartActivity,并且你要把它设置成主Activity,方法是在mainfest.xml文件中<activity android:name=".Activity.
转载 2023-06-26 11:45:42
237阅读
在今年的Google I/O大会上,Google正式宣布,Kotlin将会成为Android开发的官方支持语言。除了Android外,Kotlin还可以完全作为服务端开发的语言,比如在未来的Spring 5就将对Kotlin提供强大的支持。以及浏览器编程语言,与JS进行交互。Kotlin是一门静态语言,支持多种平台,包括移动端、服务端以及浏览器端,此外,Kotlin还是一门融合了面向对象与函数式编
转载 2024-05-17 22:30:12
26阅读
 1.   入门1.1.  基本语法1.1.1.   定义包包说明应该在源文件的顶部: 1 package my.demo 2 import java.util.* 3 // … 并不要求包与目录匹配:源文件可以在文件系统中的任意地方。查看:包(2.2) 1.1.2.   定义函数 函数带有Int类型参
转载 2024-02-02 16:06:39
86阅读
1、标准函数标准函数是指Standard.kt文件中定义的函数1.1、let函数let函数提供了函数式API编程接口,并将原始对象作为参数传递到Lambda表达式中,标准的写法如下:obj.let { obj1->需要执行的逻辑 }obj1就是obj对象这里写成obj1只是为了防止命名重复的问题,使用的场景如下:fun doStudy(study: S
转载 2023-12-18 20:36:18
63阅读
文章目录一、数据类型1.1、基本数据类型定义1.2、模板操作符1.3、类和对象初始化1.4、空类型和智能类型转换1.5、数字类型转换二、数组2.1、定义方式2.2、数组处理方法2.2.1、slice用法2.2.2、String接收字符串数组初始化2.2.3、遍历2.2.4、解构语法三、程序结构3.1、常量与变量(val,var)3.1.1、介绍3.1.2、延迟初始化3.1.3、不建议var cc
Kotlin入门——Kotlin学习笔记一、基本数据类型1. 变量2. 数字类型的自动推断3. kotlin中的区间4. 数组相关5. 字符串与字符串模板二、控制流三、返回跳转与标签四、类与对象1. 构造函数2. 继承3. 可见性4. 扩展函数 本博客仅供参考,有关kotlin基础语法的学习在官网有很详细的中文参考文档,附上链接传送门: Kotlin官网地址 一、基本数据类型1. 变量val:只
1:本文是一篇描述如何在Android上开始一个Kotlin的HelloWorld程序的说明文。 2:其实你如果你网络够给力的话,也许三分钟就可以了。当然网络不够给力,也可能十分钟还没整好~好了,正文开始:对于开发者来说,我们正处于一个美好的时代。得益于互联网的发展、工具的进步,我们现在学习一门新技术的成本和难度都比过去低了很多。 假设你之前没有使用过Kotlin,那么从头开始一个Hello
转载 2023-09-13 16:48:46
85阅读
Kotlin 语言的迷弟迷妹儿们有福了。就在前两天,官方正式宣布:Kotlin/Native 插件开始支持 AppCode!这里简单介绍一下两个关键字,可能很多人不是很熟悉 Kotlin/Native 技术和 AppCode 软件。Kotlin/Native:一种能够将 Kotlin 代码编译为没有任何虚拟机的原声二进制文件的技术。目前支持涵盖 Windows、Linux、MacOS、iOS、An
转载 2023-08-07 17:45:55
145阅读
前言近些年,不管是最初的RN还是到现在的Flutter、Compose,他们都在做着一件事——跨平台。他们的成就主要都是在UI上跨平台,当然Flutter虽然可以处理一些公共的业务逻辑,但目前在业务较重的情况下仍然需要各自处理。  而KMM却与之相反,接下来让我们来一起了解一下吧~什么是KMMKMM 即 Kotlin Multiplatform Mobile 是一个 SDK,旨
转载 2023-12-12 09:24:14
141阅读
分析记事本功能以及画草图无论做什么事,脑袋里面一定先要有对这件事情有个大致的思路,该怎样去做,胸有成竹,这样才能画出好的竹子。做软件也一样,你可以把你自己做的事情当成在搞艺术。。。(不吹了,吹起牛来,我自己都害怕0.0) 其实记事本很简单,只需要创建两个页面,一个页面用列表或者九宫控件(RecyclerView/ListView/GridView)显示你创建的item,然后一个页面编辑内容就行了
转载 2024-08-09 14:00:13
164阅读
this.addFlags(flag) } if (this !is Activity) { this.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) } if (bundle != null) { putExtras(bundle.toBundle()!!) } } startActivity(intent) }我们可用的一些扩展函数和一些不可
转载 2024-07-28 17:53:09
16阅读
  • 1
  • 2
  • 3
  • 4
  • 5