
Android kotlin入门到进阶系列讲解
文章平均质量分 79
该专栏内容📚均为最新原创内容,文章质量较高,专栏现在活动价🔥,专栏持续更新中。有问题可以私信博主。
优惠券已抵扣
余额抵扣
还需支付
¥59.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
彬sir哥
毕业于郑州师范学院特殊教育学院,学历:大学本科,专业:计算机科学与技术,职业:Android开发工程师
展开
-
Android kotlin系列讲解 - 总目录
总目录《Android kotlin入门到精通系列讲解》是我自写及笔记,欢迎大家学习,逻辑思维、解决问题的能力…,这样成为程序员的好机会,也感谢粉丝的评价和我交流,我在给您们讲解中长见识点。1、Android 学前了解Android源码中com.android.support依赖迁移到AndroidX库Android为什么要从Java改用Kotlin2、Android 你的第一行Android代码如何下载安装最新版本的 Android Studio(版本升级)Android kotlin系原创 2022-04-06 17:00:01 · 4422 阅读 · 0 评论 -
Android kotlin系列讲解(进阶篇)解析XML格式数据
通常情况下,每个需要访问网络的应用程序都会有一个自己的服务器,我们可以向服务器提交数据,也可以从服务器上获取数据。不过这个时候就出现了一个问题,这些数据到底要以什么样的格式在网络上传输呢?随便传递一段文本肯定是不行的,因为另一方根本就不知道这段文本的用途是什么。因此,一般我们会在网络上传输一些格式化后的数据,这种数据会有一定的结构规则和语义,当另一方收到数据消息之后,就可以按照相同的结构规则进行解析,从而取出想要的那部分内容。 在网络上传输数据时最常用的格式有两种:XML和JSON。下面就来原创 2023-09-14 21:40:09 · 1072 阅读 · 1 评论 -
Android kotlin系列讲解(入门篇)使用HTTP访问网络
1、使用HttpsURLConnection 在过去,Android上发送HTTP请求一般有两种方式:HttpsURLConnection和HttpClient。不过由于HttpClient存在API数量过多、扩展困难等缺点,Android团队越来越不建议我们使用这种方式。终于在Android 6.0 系统中,HttpClient的功能被完全移除了,标志着此功能被正式弃用,因此本文章我们就学习一下现在官方建议使用的HttpsURLConnection的用法。 首先需要获取Htt原创 2023-09-14 21:20:54 · 777 阅读 · 0 评论 -
Android Studio(操作篇)手把手带你搭建开发环境
1、准备所需要的工具 开发Android程序需要准备的工具主要有以下3个:JDK。JDK是Java语言的软件开发工具包,它包含了Java的运行环境、工具集合、基础类库等内容。Android SDK。Android SDK是Google提供的Android开发工具包,在开发Android程序时,需要通过引入该工具包来使用Android相关的API。Android Studio。在很早之前,Android项目都是使用Eclipse来开发的,相信所有Java开发者都一定会对这个工具非常熟悉,原创 2023-08-25 22:11:24 · 439 阅读 · 0 评论 -
Android kotlin系列讲解(入门篇)如何运行Kotlin代码
学习一下快速入门kotlin编程,这是都不会涉及Android开发。既然暂时和Android无关了,那么首先要解决的一个问题就是怎样独立运行一段kotlin代码。 开始使用Android Studio,遗憾的是,Android Studio作为一个专门用于开发Android应用程序的工具,只能创建Android项目,不能创建kotlin项目。但是没关系,可以随便打开一个Android项目,在里面编写一个kotlin的main()函数,就可以独立运行kotlin代码了。 这里就原创 2023-08-25 11:21:54 · 682 阅读 · 0 评论 -
Android kotlin系列讲解(入门篇)使用Intent在Activity之间穿梭
1、使用显式Intent 你应该已经对创建Activity的流程比较熟悉了,那我现在在ActivityTest项目再快速地创建一个Activity。 还是右击com.example.activitytest包→New→Activity→Empty Views Activity,会弹出一个创建Activity的对话框,这次我命名为SecondActivity,并勾选Generate a Layout File,给布局文件起名为second_layout,但不要勾选Launcher原创 2023-08-19 17:00:49 · 2110 阅读 · 0 评论 -
Android kotlin系列讲解(实战篇)最佳的UI体验 - Material Design
UI体验 - Material Design原创 2023-07-28 19:08:57 · 1876 阅读 · 1 评论 -
Android 系列讲解(数据篇)开源的数据库ORM框架之greenDAO的详解与用法
greenDAO是一个开源的,使SQLite数据库的开发再次变得有趣。它减轻了开发人员处理底层的数据库需求,同时节省开发时间。SQLite是一个很不错的关系型数据库。尽管如此,编写SQL和解析查询结果仍然是相当乏味和耗时的任务。greenDAO通过将Java对象映射到数据库表(称为ORM,“对象/关系映射”)来解决这些问题。这样,您可以使用简单的面向对象的API来存储,更新,删除和查询Java对象。原创 2023-03-16 21:45:35 · 586 阅读 · 0 评论 -
Android kotlin系列讲解(数据篇)SharedPreferences存储
什么是SharedPreferences 不同于这上一篇的文件的存储方式,SharedPreferences是使用键值对的方式来存储数据的。也就是说,当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把相应的值取出来。而且SharedPreferences还支持多种不同的数据类型存储,如果存储的数据类型是整型,那么读取出来的数据也是整型的;如果存储的数据类型是一个字符串,那么读取出来的数据仍然是字符串 这样你应该就能明显地感觉到,使用Sh原创 2023-03-11 12:32:27 · 1300 阅读 · 1 评论 -
Android kotlin 系列讲解(进阶篇)高级项目架构模式 - MVVM
控件层调用以及和仓库层进行通信。仓库层要做的主要工作是判断调用方请求的数据应该是从本地数据源中获取还是从网络数据源中获取,并将获取到的数据返回给调用方。元素相关的数据,以保证这些数据在屏障旋转时不会丢失,并且还要提供接口给。、等与界面有关的东西就是在UI控件层中的。原创 2023-03-05 15:51:56 · 1548 阅读 · 4 评论 -
Android kotlin 系列讲解(进阶篇)Jetpack系列之LiveData
将counter变量修改成了一个MutableLiveData对象,并指定的泛型为Int,表示它包含的是整型数据。MutableLiveData是一种可变的。LiveData特别适合与ViewModel结合在一起使用,虽然它也可以单独在别的地方,但是在绝大多数情况下,它是使用在ViewModel当中的。语言设计的库,这个库在2.2.0 版本中加入了对observe()方法的语言扩展。counter变量就是MutableLiveData< Int>()的。中去观察它,就可以主动将数据变化通知给。原创 2023-03-04 17:33:20 · 723 阅读 · 0 评论 -
Android kotlin 内、外部存储根目录及测试(可以实现仿微信未读消息数提示数字)
.就是上传我们的apk到这个文件夹,上传成功之后才开始安装。如果打开过data文件,应该都知道这些文件夹是干什么用的,我们在使用sharedPreferenced的时候,将数据持久化存储于本地,其实就是存在这个文件中的xml文件里,我们App里边的数据库文件就存储于databases文件夹中,还有我们的普通数据存储在files中,缓存文件存储在cache文件夹中,存储在这里的文件我们都称之为内部存储。这里有二个文件夹需要我们重视,一个是data,一个是storage,下面就详细说说这二个文件夹。原创 2023-02-19 13:01:33 · 897 阅读 · 3 评论 -
Android kotlin 进阶之用Retrofit+OkHttp+协程+LiveData搭建MVVM来实现网络请求(网络数据JSON解析)显示在RecyclerView
***使用协程进行网络请求Int=0)@GET(“article/list/{page}/json”),注意{page}中的{}表示值是多少这代码中,完整的https。原创 2022-07-25 16:55:10 · 1886 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) 关键字:suspend
suspend用于暂停执行当前协程,并保存所有局部变量,被标记为suspend的函数只能运行在协程或者其他suspend函数。先看一下在retrofit(网络库)不是使用suspend关键字会造成什么错误?没有添加suspend关键字的时候回调数据不能创建返回的数据类型,类型错误了。添加上了suspend关键字,运行后没有错误了。原创 2022-07-21 16:39:43 · 1004 阅读 · 0 评论 -
Kotlin基础从入门到进阶系列讲解(入门篇) 文件存储的基本使用
->返回总目录/files/目录下;第二个参数是文件的操作模式,主要有 MODE_PRIVATE 和 MODE_APPEND 两种模式可选,默认是MODE_PRIVATE,表示当指定相同的文件名的时候,所写入的内容将会覆盖原文件原创 2022-06-06 16:36:13 · 659 阅读 · 0 评论 -
Android kotlin系列讲解(入门篇)Activity的理解与基本用法
Activity是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或多个Activity,但不包含任何Activity的应用程序很少见,谁也不想让自己的应用永远无法被用户看到吧?Android kotlin系列讲解(入门篇)创建你的第一个Android项目中我讲过了,对Activity介绍并不多,我将对Activity进行详细的介绍。原创 2022-05-27 21:22:55 · 1079 阅读 · 0 评论 -
Kotlin基础从入门到进阶系列讲解(基础篇)Fragment的基本使用
Kotlin基础从入门到进阶系列讲解(基础篇)Fragment的基本使用Fragment的基本使用一、什么是Fragment二、Activity+多个FragmentFragment的基本使用->返回总目录<-一、什么是FragmentFragment是一种可以嵌入在Activity当中的UI片段,因为它和Activity看起来太像了。Fragment是依赖于Activity的,不能独立存在,一个Activity里可以有多个Fragment二、Activity+多个Fragment测原创 2022-05-24 15:19:11 · 1098 阅读 · 0 评论 -
Android kotlin 系列讲解(进阶篇) Jetpack系列之ViewModel
Jetpack是一个开发组件工具集,它的主要目的是帮助我们编写出更加简洁的代码,并简化我们的开发过程。Jetpack中的组件有一个特点,它们大部分不依赖于任何Android系统版本,这意味着这些组件通常是定义在AndroidX库当中的,并且拥有非常好的向下兼容性。原创 2022-05-14 17:57:07 · 1165 阅读 · 0 评论 -
SQLite软件的下载安装,如何创建/添加/更新/查询/删除数据
1.在电脑桌面上创建的文件名test.db后,在SQLite软件上导入这文件。更新数据语句,怎么把字段名name“彬彬”改为“小彬”按下图操作,输入添加数据语句后准备添加。2.复制SQLite软件名称。去百度搜索下载安装就即可。原创 2022-05-12 22:10:52 · 1245 阅读 · 0 评论 -
Android kotlin 从入门到进阶系列讲解(入门篇)SQLite数据库存储
这样当第一次点击“Create Database”按钮时,就会检测到当前程序中并没有BookStore.db,这个数据库,于是会创建该数据库并调用MyDatabaseHelper中的onCreate()方法,这样Book表也就创建好了,然后会弹出一个Toast提示创建成功。它表示当前数据库的版本号,之前传入的是1,现在只要专入一个比1大的数,就可以让onUpgrade()方法得到执行了。这个方法的参数非常复杂,第一个参数仍然是表名,第二,三,四,五,六个参数都是null,我没用过呢,不用理解吧。原创 2022-05-12 15:42:16 · 2127 阅读 · 3 评论 -
Android kotlin系列讲解(进阶篇)解析JSON格式数据
现在你已经掌握了XML格式数据的解析方式,那么接下来我们要学习一下如何解析JSON格式的数据了。比起XML,JSON的主要优势在于它的体积更小,在网络上传输的时候更省流量。但缺点在于,它的语义性较差,看起来不如XML直观。 在开始之前,还需要在D:\Apache\httpd-2.4.55-o111s-x64-vs17\Apache24\htdocs目录中新建一个名为get_data.xml,然后编辑这个文件,并加入如下JSON格式的内容:原创 2022-05-07 16:49:58 · 1018 阅读 · 0 评论 -
Android kotlin 系列讲解(进阶篇) Android之Activity的生命周期
首先分别创建两个活动页面,它们的Kotlin代码都重写了下列7个生命周期方法:onCreate、onStart、onResume、onPause、onStop、onDestroy、onRestart,每个方法内部均调用新写的refreshLife方法打印日志。从这图可知,打开新页面的方法调用顺序为onCreate→onStart→onResume,关闭旧页面的方法调用为onPause→onStop→onDestroy。生命周期方法,涉及复杂的app运行状态,更直观的活动状态切换过程。原创 2022-05-05 17:05:53 · 1188 阅读 · 0 评论 -
Android为什么要从Java改用Kotlin
kotlin的学习成本并不是很高,从Java转kotlin,一般一周时间就足以完成,且kotlin与java可以相互调用,觉得kotlin解决不了的地方,仍然可以使用Java编写(非常人性化)您可以在Kotlin代码中调用Java代码,或者在Java代码中调用Kotlin代码。在构建新的Android开发工具和内容(例如Jetpack库、示例、文档和培训内容)时,我们会在设计层面考虑到Kotlin用户,同时继续支持通过Java编程语言使用我们的API。最新的jetpack框架都是kotlin的。原创 2022-04-22 16:31:12 · 5248 阅读 · 2 评论 -
Android kotlin 系列讲解(基础篇) 嵌套类、内部类和匿名内部类
内部类是一种特殊的嵌套类,被嵌套到里面的类使用inner关键字修饰,内部类可以拥有对外部类的引用。但是外部类没有内部类的引用。如果匿名内部类中只有一个抽象方法,可以使用Lambda表达式代替。Android中常见的匿名内部类就是各种事件的监听。4.嵌套类中内部的类不能获取外部类的属性和方法。4.属性类的使用“外部类().内部类()”3.嵌套类实例化“外部类.内部类()”嵌套类就是一个类嵌套在另一个类里面。2.kotlin版本。2.kotlin版本。原创 2022-04-21 16:46:35 · 445 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) 关键字:open、final和abstract(抽象类)
与java一样,abstract关键字用于在Kotlin中声明抽象类。无法实例化抽象类(不能创建抽象类的对象)。但是,您可以从它们中继承子类。除非你明确使用abstract关键字将其抽象,否则抽象类的成员(属性和方法)是非抽象的。println("我的社保号是: $ ssn .") } abstract fun displayJob(description : String) }$ssn。原创 2022-04-14 19:47:04 · 1381 阅读 · 2 评论 -
Android kotlin 系列讲解(基础篇) 枚举类(enum)、数据类(data)和密封类(sealed)与java的写法差异
对比之下,可以发现,在kotlin中,需用enum class声明一个枚举类而不是enum来声明。密封类用来表示受限的类继承结构:当一个值为有限几种的类型,而不能有任何其他类型时。在某种意义上,他们是枚举类的扩展:枚举类型的值集合 也是受限的,但每个枚举常量只存在一个实例,而密封类的一个子类可以有可包含状态的多个实例。在java中,你不需要为你的enum类传入参数列表,你可以在enum的内部去声明字段和方法。声明一个密封类,使用sealed修饰类,密封类可以有子类,但是所有的子类都必须要内嵌在密封类中。原创 2022-04-14 14:38:58 · 1465 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) Any和Any?
toString()、equals()、hashCode()、getClass()、clone()、finalize()、notify()、notifyAll()、wait()、wait(long)、wait(long,int) 11个。toString()、equals()、hashCode() 3个。类型是kotlin中所有非空类型的根类型,可以是任何可空类型的根类型,也兼容非空类型。看起来很像,但是Any不能等同于。原创 2022-04-11 16:21:32 · 1845 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) 判断是否null写法优化
array[0]为null,把"5"赋值给最左边的array[0],array[0]不为null,把这array[0]赋值给最左边的array[0]判断代码三行变成一行,是不是精简。原创 2022-04-09 18:49:36 · 1186 阅读 · 1 评论 -
Android kotlin 系列讲解(基础篇) 集合
mutableSet,通过mutableSet创建可变的set集合。,它可以单独使用,也可以配合forEach函数一起使用,List:不可变集合(只能取,不能添加和修改)filter函数是用来过滤集合数据的。MutableList:可变集合。发现不可变集合,添加元素会报错。forEach函数是循环语句的。filter():顾名思义,原创 2022-04-07 13:32:27 · 1134 阅读 · 1 评论 -
Android kotlin 系列讲解(基础篇) 带返回值函数的小技巧
可以看出来kotlin的写法已经比java简洁些,java中带返回值的函数。原创 2022-03-31 16:35:15 · 2271 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) 关键字:constructor(this/super)
类BBB继承AAA,其中BBB分别有一个参数的构造方法和两个参数的构造方法;一个参数的构造方法用的this关键字调用自己的两个参数的构造;而两个参数的构造方法用的super关键字调用的父类两个参数的构造方法;简单的说一下继承,this和super两个关键字,跟java差不多;this是调用自己的,super是调用父类的。不理解的话就可以用调试,调试一步一步就知道。原创 2022-03-25 11:40:36 · 2380 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) 复合符号
比as安全一点,转换成功就转换成功,转换失败会返回null。转换成功就转换成功,转换失败会报错。原创 2022-03-24 16:43:08 · 743 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) 高级语法let函数、apply函数、also函数、run函数和with函数
with函数是一个单独的函数,并不是Kotlin中的extension,所以调用方式不一样,返回是最后一行,然后可以直接调用对象的方法,感觉像是let和apply结合。接收一个函数,函数的参数是类型T的对象。also扩展方法的返回值也是类型T的对象。run函数和apply函数很像,只不过run函数是使用最后一行的返回,apply返回当前自己的对象。作用域函数可以让我们在对对象进行频繁操作的时候,优化掉代码中对对象的引用,使代码看起来更加简洁了。apply可以使对象作为接收者(this)来访问。原创 2022-03-16 14:32:22 · 1760 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) 关键字:const
tools->Kotlin->show Kotlin Bytecode可以查看kotlin代码的字节码。在Kotlin中除了val关键字定义一个常量外,还提供了一个const关键字标识一个常量。const修饰的val常量相当于java中。是真正意义的java常量。原创 2022-03-15 17:09:11 · 765 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) 对象声明、伴生对象和对象表达式
可以看到,在java中调用时,必须通过INSTANCE来进行,并且code的获取使用了get方法,其实这点在上面转换代码中就可以看到转换成的code是private的,并不是静态变量,并且自动生成了getter和setter方法。可以看到,在转换的java代码中,int型的code变量与getCode()都变成静态的了,下面再来看看如何调用。看了上面的object的对象声明,下面就可以来说一下,第一种代替静态的方法,没错,就是使用object类。修改的变量为常量,只能赋值一次,赋值后不可修改。原创 2022-03-15 16:40:20 · 1578 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) 关键字:lateinit和by lazy
惰性初始化是一种常见的模式,直到第一次访问该属性的时候,才根据需要创建对象的一部分,当初始化过程消耗大量资源并且在使用对象时并不总是需要数据时,这个非常有用。lateinit:延迟初始化。by lazy:惰性初始化。原创 2022-03-06 13:34:37 · 952 阅读 · 0 评论 -
Android kotlin 系列讲解(基础篇) 两个不同的关键字变量声明 - var和val
然而Android Studio立即提示编译不通过,刚开始学Kotlin便掉以坑里,看来要认真对待Kotlin,不能这么轻易让它蒙拐骗了。至于后面的分号,则看该代码行后面是否还有其他语句,如果变量声明完毕直接回车换行,那么后面无须带分号;如果没有回车换行,而是添加其他语句,那么变量声明语句要带上分号。至于var,Java里面没有对应的关键字,就当它是例行公事好了。注意到上述类型转换代码的第一行变量声明语句以val开头,而其余的变量声明语句均以var开头,这是为什么呢?原创 2022-03-04 15:09:06 · 1353 阅读 · 0 评论 -
Android源码中com.android.support依赖迁移到AndroidX库
1.Google(谷歌)2018 IO 大会推出了 Android新的扩展库 AndroidX,用于替换原来的 Android扩展库,将原来的android替换成androidx;只有包名和Maven工件名受到影响,原来的类名,方法名和字段名不会更改。官方早就推荐将support库迁移到androidx,因为后续support库不会再做更新2.AndroidX是对android.support.xxx包的整理后产物。由于之前的support包过于混乱,所以,Google推出了AndroidX。原创 2022-02-24 14:16:42 · 3569 阅读 · 0 评论 -
Android kotlin 系列讲解(进阶篇) Android之启动模式
之后不管点击多少次按钮都不会再有新的打印信息出现,因为目前FirstActivity已经处于返回栈的栈顶,每当想要再启动一个FirstActivity时,都会直接使用栈顶的Activity,因此FirstActivity只会有一个实例,仅按一次Back键就可以退出程序。说明:若须要创建的Activity已经处于栈中时,此时不会创建新的Activity,而是将存在栈中的Activity上面的其他Activity所有销毁,使它成为栈顶。举例:此时Activity栈中以此有A、B、C三个Activity。原创 2022-01-06 14:16:30 · 776 阅读 · 0 评论 -
Android Studio系列讲解之UI开发的布局
UI开发 - 布局原创 2021-10-02 23:25:45 · 3285 阅读 · 0 评论