202009-24 使用kotlin实现MVP的方式(简单好用) kotlin怎么好用就不多说了,总之我用了感觉非常舒服,今天说一下用kotlin搭建一个MVP框架。先定义抽象类IPresenter,IPresenter持有软引用定义的mView,防止内存泄漏,mView类型必须是实现了IView接口的实例,然后定义生命周期方法,open并且不是抽象方法,让子类有选择的去实现生命周期。packagecom.khaless.demo.mvpimportandroid.content.Intentimportandroid.os.Bundleimportjava.lang.ref.SoftReference/***Author:Li... 继续阅读 >
202009-24 Kotlin实现在类里面创建main函数 1、创建在class块外面:classTest{}/**我是main入口函数**/funmain(args:Array<String>){vartest=Test();}这样是一种方式,但是细心的童鞋可能会发现一个问题,目录里面的文件图标是灰色的,而且这种写法看上去怪怪的,有强迫症的可能会接受不了;2、创建在class里面:classTest{companionobject{/**我是main入口函数**/@JvmStaticfunmain(args:Array<String>){vartest=Test();}}}这样就可以把main入... 继续阅读 >
202009-24 Kotlin中实体类的创建方式 类的基本格式class类名{}属性的基本格式var属性名字:类型下面是实体类代码packagecom.dldw.entityimportjava.util.*classDemo{//var声明的属性可以被二次赋值val声明的是不可变属性,赋值以后不能在赋值,否则编译报错//长整型64位注意后面加大写Lvarheight:Long?=0L//整型32位varid:Int?=0//短整型16位varshort:Short?=0//8位varname:Byte?=null//浮点类型双精度... 继续阅读 >
202009-24 Kotlin中常见的符号详解 前几年的GoogleI/O大会上,Google正式宣布,Kotlin将会成为Android开发的官方支持语言。除了Android外,Kotlin还可以完全作为服务端开发的语言,比如在未来的Spring5就将对Kotlin提供强大的支持。以及浏览器编程语言,与JS进行交互。Kotlin是一门静态语言,支持多种平台,包括移动端、服务端以及浏览器端,此外,Kotlin还是一门融合了面向对象与函数式编程的语言,支持泛型、安全的空判断,并且Kotlin与Java可以做到完全的交互。... 继续阅读 >
202009-24 Kotlin 使用Lambda来设置回调的操作 使用Kotlin的Lambda表达式,我们可以抛弃回调接口的使用。只需设置希望后面会被调用的函数即可。示例如下新建一个Kotlin类classMyBean{funtestcallback1(callback:(String)->Unit){callback.invoke("这是回调的内容")}funtestcallback2(value1:Int,value2:Int,callback:(Int,Int)->Int):Int{varresult=callback.invoke(value1,value2)returnresult*3}}进行调用classMainActivity:... 继续阅读 >
202009-24 Kotlin 匿名类实现接口和抽象类的区别详解 我就废话不多说了,还是上代码吧接口:interfaceOnBind{funonBindChildViewData(holder:String,itemData:Any,position:Int)}lesson.does(object:OnBind{overridefunonBindChildViewData(holder:String,itemData:Any,position:Int){println(holder+itemData+position)}})抽象类:abstractclassAbstractOnBind{abstractfunonBindChildViewData(holder:String,itemData:Any,position:Int... 继续阅读 >
202009-24 解决Kotlin 类在实现多个接口,覆写多个接口中相同方法冲突的问题 一、首先来看一个例子packagenet.println.kotlin.chapter4/***@author:wangdong*@description:类实现接口的冲突问题*/interfaceB{funx():Int=1}interfaceC{funx():Int=0}/**一个类实现了两个接口,两个接口中的方法相同,这个类在覆写的时候就会出现冲突*/classD:B,C{//当下面两个方法同时存在的时候,就会报方法相同的冲突overridefunx():Int{returnsuper<B>.x()}overridefunx():Int{... 继续阅读 >
202009-24 Android中AndroidStudio&Kotlin安装到运行过程及常见问题汇总 工具:AndroidStudio语言:Kotlin1.AndroidStudio的安装与配置AndoridStudio官方网址:直接点击即可进入AS官网下载页面1.1.androidstudio的下载与安装下载好AS的文件后,直接打开androidstudio的exe文件,弹出安装欢迎对话框如下图所示点击Next勾选AndroidVirtualDevide(AVD)安卓虚拟设备,这样之后可以在电脑上生成一个虚拟的安卓机以方便我们运行编写好的程序。如果准备用真机进行测试的,可以取消勾选该选项。点击Next&nb... 继续阅读 >