![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kotlin基础
文章平均质量分 77
Procahr
这个作者很懒,什么都没留下…
展开
-
kotlin的文件存储
openFileOutput方法获得一个FileOutputStream对象,将其传入OutputStreamWriter方法,即可获得一个OutputStreamWriter对象,再将其传入BufferedWriter方法,此时我们就可以通过它写入内容到文件中了。我们创建了一个文本输入框,此时我们输入内容再点击返回键,输入的内容肯定就消失了,因为他只是瞬时数据,点击返回键时activity被销毁,而它的数据也会被回收。反过来,程序读取计算机的内容,或者说计算机向程序输入内容,这就是。原创 2023-11-28 11:39:43 · 865 阅读 · 0 评论 -
Android的LiveData
LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 activity、fragment 或 service)的生命周期。这种感知能力可确保。若观察者(Observer)的生命周期处于或状态,则LiveData会认为该Observer处于活跃状态。LiveData只会将更新通知给活跃的Observer。您可以注册与实现接口的对象配对的观察者。有了这种关系,当相应的对象的状态变为时,便可移除此观察者。原创 2024-02-22 15:19:03 · 1502 阅读 · 0 评论 -
Android中的MVVM
开发常用的框架包括MVC、MVP和本文的MVVM,三种框架都是为了分离ui界面和处理逻辑而出现的。mvp、mvvm都由mvc演化而来,他们不属于某种语言的框架,当存在ui页面和逻辑代码时,我们就可以使用这三种模式。model和view分别指的是和,前者用于存储数据,后者用于展示前者的数据。在不同的框架模型中,model和view可能会有所差别,但基础功能基本不变,差别在于数据的传输方式。原创 2024-02-07 17:44:13 · 987 阅读 · 0 评论 -
kotlin的多线程编程
如何启动这个线程?我们创建的myThread是MyThread实例,它是一个实现了Runnable接口的对象,所以我们可以直接把他传入Thread的构造函数中。接着我们再调用Thread的start方法,run方法中的内容就开始在子线程中运行了。原创 2023-11-30 20:42:36 · 1203 阅读 · 0 评论 -
Android的Compose
如果需要将一个函数转换为Composable function,我们需要添加注解“@Composable”。) {MessageCard("Android")//使用我们自定义的Composable function@Composable//添加注解,使该函数成为Composable function")原创 2024-02-19 15:53:20 · 2916 阅读 · 1 评论 -
kotlin中的service
虽然Service是在Activity里启动的,但是在启动了Service之后,Activity与Service基本就没有什么关系了。比如说,目前我们希望在MyService里提供一个下载功能,然后在Activity中可以决定何时开始下载,以及随时查看下载进度。新增了两个分别用于绑定和取消service的按钮,而与service绑定的,自然是activity,绑定之后就可以使用Binder中的方法了。修改完成之后,我们看看要如何在activity中调用service中的这些方法。原创 2023-11-28 14:52:41 · 465 阅读 · 0 评论 -
kotlin中的序列化
我们可以在Intent中通过putExtra方法来添加要传递的数据,但该方法所支持的数据类型是有限的,当我们想传递一些自定义对象的时候,会发现无从下手。而使用Intent来传递对象,通常有两种实现方式:Serializable和Parcelable。原创 2023-11-29 21:39:13 · 710 阅读 · 1 评论 -
kotlin的fragment
先从最简单的开始:一个页面包含左右两个fragment。新建FragmentTest,新建一个左侧fragment的布局再新建一个右侧fragment的布局接着新建LeftFragment类,并继承ragment,此处继承的Fragment一定要是AndroidX库中的。修改此时可运行。原创 2023-11-27 22:31:23 · 596 阅读 · 0 评论 -
Compose的gradle配置以及与Kotlin的兼容对应
要开始使用Compose,需要先向项目中添加一些 build 配置。原创 2024-02-20 09:57:55 · 808 阅读 · 0 评论 -
使用Compose需要对build.gradle.kts的修改
【代码】使用Compose需要对build.gradle.kts的修改。原创 2024-03-18 16:35:15 · 139 阅读 · 0 评论 -
Android的ViewModel
ViewModel组件用于存储和公开界面所使用的状态(UI State)。界面状态(UI State)是经过ViewModel转换的应用数据。界面(UI)是相对于用户而言的,界面状态是相对于应用而言的,例如一个开关switch展现在用户面前,而switch是开还是关,就是switch的界面状态。因此,对于界面状态的任何改变,都会直接影响界面。ViewModel会存储应用相关的数据,这些数据不会在activity被销毁并重新创建时被销毁。原创 2024-02-21 17:04:55 · 1419 阅读 · 0 评论 -
kotlin的retrofit
与okhttp不同的是,okhttp侧重的是底层通信的实现,而retrofit侧重的是上层接口的封装。原创 2023-12-05 20:58:45 · 532 阅读 · 0 评论 -
kotlin的多媒体
发出一条通知后,手机最上方的状态栏中会显示一个通知的图标,下拉状态栏后可以看到通知的详细内容。原创 2023-11-27 17:46:24 · 814 阅读 · 0 评论 -
Kotlin编程基础
subString()与subSequence()的区别在于,后者的返回值是CharSequence。使用三对引号(""" """)把所有字符括起来,可以保证原有字符的输出,即使有转义符号也不会被转义。\":双引号字符,Kotlin中,双引号表示字符串的开始与结束,直接写会报错。\':单引号字符,Kotlin中,单引号表示字符的开始与结束,直接写会报错。\t:制表符,将光标定位到下一个制表符的位置,类似文档中的Tab。\r:回车符,将光标定位到当前行的开头,不会跳到下一行。\n:换行符,跳到下一行开头。原创 2023-09-03 00:21:38 · 86 阅读 · 0 评论