自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Kotlin基础9

这段代码编译没有问题,因为编译器看到name属性已经在init块里初始化了,但代码一运行,就会抛出空指针异常,因为name属性还没赋值,firstLetter函数就应用它了。Kotlin编译器很聪明,只要能确定any is 父类条件检查属实,它就会将any当做子类类型对待,因此,编译器允许你不经类型转换直接使用。延迟初始化并不是推后初始化的唯一方式,你也可以暂时不初始化某个变量,直到首次使用它,这个叫作惰性初始化。在使用初始化块时,顺序非常重要,你必须保证块中的所有属性已完成初始化。

2024-04-01 19:00:04 119

原创 Kotlin基础8

属性的getter方法决定你如何读取属性值,每个属性都有getter方法,setter方法决定你如何给属性赋值,所以只有可变属性才会有setter方法,尽管Kotlin会自动提供默认的getter和setter方法,但在需要控制如何读写属性数据时,你也可以自定义他们。>[]取值运算符,读取键对应的值,如果键不存在就返回null>getValue,读取键对应的值,如果键不存在就抛出异常>getOrElse,读取键对应的值,或者使用匿名函数返回默认值>getOrDefault,读取键对应的值,或者返回默认值。

2024-03-31 19:26:20 255

原创 Kotlin基础7

在Kotlin中,支持内容修改的列表叫可变列表,要创建可变列表,可以使用mutable。>to看上去像关键字,但事实上,它是个省略了点号和参数的特殊函数,to函数将它左。>通过setOf创建set集合,使用elementAt函数读取集合中的元素。>getOrElse,读取键对应的值,或者使用匿名函数返回默认值。>[]取值运算符,读取键对应的值,如果键不存在就返回null。>getOrDefault,读取键对应的值,或者返回默认值。,读取键对应的值,如果键不存在就抛出异常。》通过 符号过滤不想要的元素。

2024-03-28 18:35:27 180

原创 Kotlin基础6

let与apply比较,let会把接收者传给lambda,而apply什么都不传,匿名函数执行完,apply会返回当前接收者,而let会返回lambda的最后一行。某项任务,takelf就非常有用,概念上讲,takelf函数类似于if语句,但它的优势是可以直接在对象实例上调用,避免了临时变量赋值的麻烦。集合可以方便你处理一组数据,也可以作为值参传给函数,和我们学过的其他变量类型一样,List、Set和Map类型的变量也分为两类,只读和可变。返回的是lambda结果,也就是true或者false。

2024-03-27 18:40:35 131

原创 Kotlin基础5

Kotlin标准库提供了一些便利函数,使用这些内置函数,你可以抛出带自定义信息的异常,这些便利函数叫做先决条件函数,你可以用它定义先决条件,条件必须满足,目标代码才能执行。在Kotlin中,用==检查两个字符串中的字符是否匹配,用===检查两个变量是否指向内存堆上同一对象,而在Java中==做引用比较,做结构比较时用equals方法。我们也可以使用if判断,但是相比之下安全调用操作符用起来更灵活,代码也更简洁,我们可以用安全操作符进行多个函数的链式调用。使用if判断null值情况。

2024-03-26 19:27:56 130

原创 Kotlin基础4

Kotlin更多地把运行时可能会出现的null问题,以编译时错误的方式,提前在编译期强迫我们重视起来,而不是等到运行时报错,防范于未然,提高了我们程序的健壮性。>要把函数作为参数传给其他函数使用,除了传lambda表达式,kotlin还提供了其他方法,传递函数引用,函数引用可以把一个具名函数转换成一个值参,使用lambda表达式的地方,都可以使用函数引用。在Kotlin中,匿名函数能修改并引用定义在自己的作用域之外的变量,匿名函数引用着定义自身的函数里的变量,Kotlin中的lambda就是闭包。

2024-03-25 18:40:04 258 1

原创 Kotlin基础3

和具名函数一样,匿名函数可以不带参数,也可以带一个或多个任何类型的参数,需要带参数时,参数的类型放在匿名函数的类型定义中,参数名则放在函数定义中。和具名函数不一样,除了极少数情况外,匿名函数不需要return关键字来返回数据,匿名函数会隐式或自动返回函数体最后一行语句的结果。变量有类型,变量可以等于函数,函数也会有类型。定义时不取名字的函数,我们称之为匿名函数,匿名函数通常整体传递给其他函数,或者从其他函数返回。>匿名函数也有类型,匿名函数可以当作变量赋值给函数类型变量,就像其他变量一样,

2024-03-24 18:00:36 200 1

原创 Kotlin基础2

在Kotlin之前,函数不返回任何东西用void描述,意思是“没有返回类型,不会带来什么,忽略它”,也就是说如果函数不返回任何东西,就忽略类型。>Kotlin只提供引用类型这一种数据类型,出于更高性能的需要,Kotlin编译器会在Java字节码中改用基本数据类型。允许你编写条件式,在某个条件满足时,执行对应的代码只要代码包含else if分支,都建议改用when表达式。>还支持字符串里计算表达式的值并插入结果,添加在${中的任何表达式,都会作为字符串的一部分求值。Kotlin的引用类型与基本数据类型。

2024-03-22 18:54:17 404 1

原创 Kotlin基础1

Kotlin的诞生2011年(JetBrains宣布开发Kotlin编程语言,这门新语言可以用来编写在Java虚拟—t———--—机上运行的代码,是Java和Scala语言之外的又一选择。Kotlin的应用范围迅速扩展,它从一门前途光明的编程语言摇身一变,成了这个世界上最重要的移动操作系统的钦定开发语言。编译时常量只能在函数之外定义,因为编译时常量必须在编译时赋值,而函数都是在运行时才调用,函数内的变量也是在运行时赋值,编译时常量要在这些变量赋值前就已存在。>要声明可修改变量,使用var关键字。

2024-03-21 18:49:12 590 1

原创 为什么要学Kotlin

Java语言比较稳健,久经考验。多年来,它一直是最常用的一种编程语言,造就了庞大的生产代码库。自从1995年Java问世以来,对于优秀的编程语言应满足什么条件,人们已通过实践积攒了很多经验教训。然而,Java却裹足不前,开发者喜欢的很多现代语言高级特性,它都没有,或者迟迟加入。Kotlin从这些经验教训中受益良多,而Java中的某些早期设计却愈显陈旧。脱胎于旧语言,Kotlin解决了他们的很多痛点,进化成了一门优秀的语言。相比Java,Kotlin进步巨大,带来了更可靠的开发体验。

2024-03-21 18:38:54 433 1

原创 Kotlin的诞生

Kotlin的诞生2011年(JetBrains宣布开发Kotlin编程语言,这门新语言可以用来编写在Java虚拟—t———--—机上运行的代码,是Java和Scala语言之外的又一选择。2017年,Google在赢得与Oracle的诉讼一年后,Google宣布Kotlin正式获得官方支持,可用于Android应用开发。Kotlin的应用范围迅速扩展,它从一门前途光明的编程语言摇身一变,成了这个世界上最重要的移动操作系统的钦定开发语言。因为具备这些优势,今天,越来越多的公司使用它开发。

2024-03-21 18:34:34 225 1

原创 Kotlin的基础

1、if(x > 0) 1 else -1 -> println("大于0并等于1,或小于0并等于-1") :对于满足x > 0 同时 x == 1 || x == -1,执行后面语句。LOCUST ->"昆虫类"else->"未知动物"}// 输入:DUCK,返回:当前动物的种类为:鸟类println("当前动物的种类为: $result")if(x > 0) 1 else -1 -> println("大于0并等于1,或小于0并等于-1")", 确实是非常爽的一件事情,代码分段等通过{}来进行。

2024-03-21 08:28:47 222 1

原创 Kotlin的诞生

可用于Android应用开发。Kotlin的应用范围循序扩展,他从一门前途光明的编程语言摇身一变,成了这个世界上最重要的移动操作系统的钦定开发语言。Kotlin语法简洁,具备现代高级语言特性,并且能和Java遗留代码无缝互操作。因为具备这些优势,今天,越来越多的公司使用它开发。2011年,JetBrains宣布开发Kotlin编程语言,这门新语言可以用来编写在Java虚拟机上运行的代码,是Java和Scala语言之外的又一选择。2017年,Google在赢得与Oracle的诉讼一年后,

2024-03-21 08:21:57 139 1

原创 抖音关注点赞

2023-11-22 19:57:37 25

原创 抖音 分享

2023-11-21 19:52:07 22

原创 抖音评论发送

2023-11-20 18:38:18 29 1

原创 抖音点赞取消点赞

2023-11-19 18:31:53 96 1

原创 抖音视频播放

2023-11-17 14:42:43 111 1

原创 抖音页面布局

2023-11-16 16:44:17 31 1

原创 Fragment联动

2023-11-15 20:07:04 18 1

原创 Fragment联动切换

2023-11-14 19:28:49 23 1

原创 MVVM登录注册

2023-11-13 18:41:58 28

原创 mvvm框架

例如,如果回调在 activity 状态保存后运行 fragment 事务,就会触发崩溃,因此我们绝不能调用该回调。是一个类,用于存储有关组件(如 activity 或 fragment)的生命周期状态的信息,并允许其他对象观测此状态。的组件完美配合,因为所有者可以提供生命周期,而观测者可以注册以观测生命周期。类便可以“自给自足”,这意味着,对生命周期状态的变化做出响应的逻辑是在。),该方法必须由类实现。的所有权,并允许编写与这些类搭配使用的组件。是只包含一个方法的接口,指明类具有。

2023-11-12 18:25:01 19 1

原创 MVVM视图绑定

在MVVM的框架下视图和模型是不能直接通信的。它们通过ViewModel来通信,ViewModel通常要实现一个observer观察者,当数据发生变化,ViewModel能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图,ViewModel也能监听到视图的变化,然后通知数据做改动,这实际上就实现了数据的双向绑定。并且MVVM中的View 和 ViewModel可以互相通信。数据到视图本质原理:Object.defineProperty() 响应式原理 vue的核心。

2023-11-10 20:21:11 33

空空如也

空空如也

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

TA关注的人

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