Activity的跳转
activity的销毁只要调用finish()方法即可销毁activity。 Intentintent是Android程序中各组件之间进行交互的一种重要方式,不仅可以指定当前组件要执行的动作,也可以在不同组件传递数据。 activity的跳转 显式跳转,直接确定跳转的类,然后进行跳转 隐式跳转,设定好被跳转activity的响应事件和类别,然后通过触发对应的intent和category进行跳转。 显示跳转Intent有很多构造参数,这里我们选用一个Intent(Context packageContext,Class<?> cls)第一个参数需要一个启动的上下文,而我们的Activity实例就是一个context。第二个参数就是要跳转的目的类(他需要接受一个java的类)例如:123456button1.setOnClickListenner{ val intent =...
Activity更替(视图绑定)
kotin已经是google官宣的第一android开发语言。在android开发中,经常需要在activity中去获取某个具体的View属性,一般可以通过findViewById(R.id.button1)的方法来获取View,从而实现具体的逻辑变化。 但是一直使用findViewById()非常不利于代码的整洁性和可观性,因此可以采用视图绑定的方法来简化操作。 在原先的kotlin开发中,他可以通过插件apply plugin: 'kotlin-android-extensions'已经被弃用来实现简单的视图绑定。现在这个插件已经被废除,需要使用其他方法 视图绑定在app目录下的build.gradle配置文件中填入一下内容 1android { ... viewBinding { enabled = true } } 然后就可以便携的在activity中使用视图绑定 123456789override fun onCreate(savedInstanceState: Bundle?) { ...
Activity的使用(1)
Activity的概念他是一种可以包含用户组界面的组件。他就是一个app的门面,所有可见的内容都是在activity中定义的。 相关配置每个Activity都需要绑定一个布局文件layout以及必须在AndroidManifest注册。 在layout布局文件中,每个元素都应该有一个唯一的id作为标识符。例如:1<Button...
Android入门(0)
IDEA是一款非常强大的编译器,而且大家常用的AndroidStudio就是基于IDEA开发出来的,因此无论是使用Android Studion还是IDEA都会非常的熟练,他们的快捷键等都几乎保持一致。因此无论是使用idea或者android studio都没有问题。这里我选择使用idea。就不多再下载一个编译器了。使用过程 首先需要安装android SDK他会要求你进行下载,当你下载完成后,你就可以使用idea开发android了 如果是旧UI的话,就可以在开发Android时自己选择模拟的设备了,如图而如果更换了新UI就不会显示这个,你需要通过更多工具获得选择这些工具后,他们就会出现在右栏或者底栏,就可以方便的使用了。 logcat的使用最重要的是他的筛选工具,他可以筛选log的等级,和包名
NVM的安装和使用
#nvm node:是一个基于 Chrome V8 引擎的 JS 运行环境。 npm:是 node.js 默认的包管理系统(用 JavaScript 编写的),在安装的 node 的时候,npm 也会跟着一起安装,管理 node 中的第三方插件。 npx:npm 从 v5.2.0 开始新增了 npx 命令,>= 该版本会自动安装 npx,附带:npx 有什么作用跟意义?为什么要有 npx?什么场景使用?。 nrm:是一个 npm 源管理工具,使用它可以快速切换 npm 源,默认是官方源,当 npm 下载包过慢时,可能需要切换到第三方源(例如:淘宝、科大…),还有公司私有源地址等等。 nvm:node 版本管理器,也就是说:一个 nvm 可以管理多个 node 版本(包含 npm 与 npx),可以方便快捷的 安装、切换 不同版本的 node。 安装nvm的安装只需要执行以下一条命令linux下 1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh |...
kotlin接口和控制继承,可见修饰符
接口在kotlin中,也是使用interface来定义接口的。接口中,可以定义属性和方法,方法可以实现,也可以不实现。但是他们都是默认为open的,也就是可以被继承和重写的。 属性不能赋值,而且实现了这个接口的方法必须重写该属性,添加上get,set方法 未实现的方法在被之后的类实现时,必须把这个方法也同时实现了。 实现的方法(即带方法体的方法)可以不重写,而是直接使用。1234567891011121314151617fun main(){ B().showA() B().showB()}interface A{ val sb:String fun showA(){ println(123) } fun showB(){ println("234") }}class B(): A { override val sb: String get() =...
kotlin处理集合:可变参数,中缀调用
可变参数在kotlin中创建一个集合,可以往其中传递任意数量的参数进去。 1fun listOf<T>(vararg values:T):List<T>{...} 在kotlin中,是直接使用vararg来说修饰可变参数的。而且kotlin和java的另一个区别就是java中,你可以按照原样传递某个数组进去,而kotlin需要你显式的对这个数组进行解包操作。例如 123val list1 = listOf("1","2")val list2 = listOf(*list1,"3")//最后list2的结果为["1","2","3"] 这个功能被称为展开运算符 中缀调用和解构声明在kotlin中,创建一个map 1val map = mapOf(1 to "One",2 to...
kotlin扩展函数
Kotlin的又一大特色 给别人的类添加扩展函数和属性当我们在一个现有的java或者android项目中,需要添加kotlin的代码,而我们又不能把java等之类的代码全部转重写成kotlin,那会大大降低效率,而kotlin的扩展函数就很好的解决了这个办法。例如:我要获取字符串的最后一个字符: 1234fun main() { println("kotlin".lastChar())}fun String.lastChar(): Char = this.get(this.length-1) 结果为 12nProcess finished with exit code...
kotlin函数特点
kotlin中的集合在kotlin中 12345678fun main(args: Array<String>) { println(set.javaClass) println(list.javaClass) println(map.javaClass)}val set = setOf(1,2,3)val list = arrayListOf(1,2,3,4)val map = mapOf(1 to 'a',2 to 'b') 他的输出结果为 12345class java.util.LinkedHashSetclass java.util.ArrayListclass java.util.LinkedHashMapProcess finished with exit code...
kotlin异常
在kotlin中,他解决异常的方式与java类似,有两种共解决办法。 throw可以选择用throw来抛出异常。但是不一样的是,在kotlin中,他的throw是一个表达式,也就是throw可以作为一个值让其他的表达式使用。 try-cacth 可以像java一样使用try-catch 在kotlin中,try-catch也是表达式的形式。例如:12345val number = try{ Integer.parseInt(reader.readLine())}catch(e:NumberFormatException){ null} 他会返回最后代码块中的最后一个表达式。而kotlin与java异常不同之处在java中有两种异常,受检异常和未受检异常。java必须显示的处理受检异常,例如IOException,而kotlin中,不区分受检异常和非受检异常。你不需要用throws来强制的抛出异常。