Android kotlin
文章平均质量分 67
安卓 科特林版本
来来走走
每天进步一点点!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android开发(kotlin) 开发一个简单天气应用
本文介绍了一个基于彩云天气API的简单天气预报应用开发方案。该应用主要功能包括:1)搜索国内各城市天气数据;2)查看城市天气实况和未来三天预报。技术实现采用彩云天气API,通过注册获取token后,结合adcode.csv文件中的经纬度数据,调用实时天气接口(/realtime)和三日预报接口(/daily)获取天气信息。返回数据包含温度、湿度、风速等实时参数,以及未来三天的温度变化、降水概率等预报信息。系统架构简单高效,适合作为基础天气应用开发参考。原创 2025-12-29 09:30:00 · 1476 阅读 · 0 评论 -
Android开发(Kotlin) room数据库
本文介绍了Android Room数据库的基本使用和配置方法。主要内容包括:1)Room的三个核心组件(数据库类、数据实体、DAO);2)KSP插件的配置步骤;3)Room的具体实现,包括定义实体类(@Entity)、DAO接口(@Dao)和数据库类(@Database);4)演示了增删改查操作的使用示例;5)注意事项如数据库操作需在子线程执行。最后简要提及了数据库升级的简单处理方式,适合开发测试阶段使用。原创 2025-11-22 09:00:00 · 696 阅读 · 0 评论 -
Android开发(Kotlin) LiveData的基本了解
本文介绍了Android中LiveData的基本使用及其扩展功能。LiveData可在数据变化时通知观察者,通过ViewModel实现数据持久化。文章演示了MutableLiveData的基本操作、数据观察方式,以及如何通过封装保护数据不变性。此外,还讲解了LiveData的转换操作:map()用于同步数据转换,switchMap()用于异步数据转换(如网络请求),确保只保留最新结果。通过代码示例展示了如何实现用户数据转换和按需获取最新用户信息的功能。原创 2025-11-21 09:00:00 · 569 阅读 · 0 评论 -
Android开发(Kotlin) LifeCycle的使用
本文介绍了在非Activity组件中感知Activity生命周期的方法。通过实现DefaultLifecycleObserver接口创建MyObserver类,可以监听onCreate、onResume、onStop等生命周期事件。ComponentActivity作为LifecycleOwner,通过getLifecycle()方法实现观察者模式。文中展示了将MyObserver注册到Activity的示例代码,并演示了如何通过传入Lifecycle对象主动获取当前生命周期状态。这种方法实现了组件与Act原创 2025-11-20 00:24:34 · 215 阅读 · 0 评论 -
Android开发(Kotlin) ViewModel基本用法
本文介绍了Android ViewModel的基本用法和参数传递。首先展示了一个简单的计数器案例,通过ViewModel保存计数状态,确保屏幕旋转后数据不丢失。接着改进该案例,结合SharedPreferences实现应用重启后数据持久化。关键点包括:1)通过ViewModelProvider获取ViewModel实例;2)使用ViewModelProvider.Factory向ViewModel传递初始参数;3)在onPause()中保存数据到SharedPreferences。这种方法有效实现了数据的生原创 2025-11-19 18:36:44 · 248 阅读 · 0 评论 -
Android开发(Kotlin) 协程
摘要: 协程是一种轻量级线程,可以在单线程中模拟多线程效果,通过挂起和恢复实现任务切换。Kotlin协程使用launch和async创建协程,delay挂起协程,runBlocking阻塞线程确保协程执行完成。suspend关键字声明挂起函数,coroutineScope提供协程作用域。通过Job管理协程生命周期,withContext指定线程调度策略。协程可简化回调,如使用suspendCoroutine将Retrofit网络请求转换为挂起函数,避免回调嵌套,提升代码可读性。原创 2025-11-17 00:41:39 · 719 阅读 · 0 评论 -
Android开发(Kotlin) retrofit基本使用
本文介绍了在Kotlin中使用Retrofit进行网络请求的完整流程。主要包括:1) 添加Retrofit和Gson转换器依赖;2) 创建单例ServiceCreator管理Retrofit实例;3) 定义数据模型类(WordListBean和WordBean);4) 配置网络接口(AppService);5) 发起网络请求并处理响应;6) 使用Kotlin实化类型参数优化ServiceCreator;7) 配置网络权限和网络安全设置以支持HTTP请求。通过详细代码示例展示了从网络请求到数据解析的完整实现过原创 2025-11-15 01:22:02 · 197 阅读 · 0 评论 -
Android开发(Kotlin) 泛型实化、协变、逆变
本文介绍了Kotlin泛型的两个重要特性:泛型实化和泛型变型。泛型实化通过内联函数和reified关键字实现运行期获取泛型类型,并应用于简化Activity启动流程。泛型变型包括协变和逆变:协变通过out关键字确保类型安全,适用于只读场景;逆变通过in关键字实现类型关系的反转,适用于比较等场景。文中还通过SimpleData、TransFormer等示例说明了具体应用,并解释了Kotlin标准库中List、Comparable接口的相关实现原理。原创 2025-11-14 09:00:00 · 879 阅读 · 0 评论 -
Android开发(Kotlin) infix函数的基本使用
本文介绍了Kotlin中infix函数的应用。通过定义infix扩展函数String.beginsWith()和Collection<T>.has(),分别实现了更简洁的字符串前缀判断和集合元素包含判断。infix函数必须满足两个条件:作为类的成员函数(可用扩展函数实现),且只能接收一个参数。这种语法糖能使代码更接近自然语言,如"Hello Kotlin" beginsWith "Hello"和list has "banana"的形式。原创 2025-11-12 09:30:00 · 179 阅读 · 0 评论 -
Android开发(Kotlin) 泛型和委托
本文介绍了Kotlin中的泛型和委托机制。泛型部分包含泛型类和泛型方法的定义方式,以及通过上界限制泛型类型的方法,并展示了如何扩展函数使其适用于所有类。委托部分分为类委托和属性委托:类委托使用"by"关键字简化接口实现;属性委托通过Delegate类实现属性的getter/setter逻辑,文中还演示了如何自定义类似lazy的延迟初始化函数。这些特性可以有效减少样板代码,提高开发效率。原创 2025-11-10 09:00:00 · 306 阅读 · 0 评论 -
android开发(kotlin) 高阶函数的应用
本文展示了如何利用Kotlin特性简化Android开发中的SharedPreferences和ContentValues使用。对于SharedPreferences,通过高阶函数封装edit操作,使其更简洁直观;对于ContentValues,利用Pair对象和when语句实现了类似Map的初始化方式。文章还介绍了KTX库提供的contentValuesOf()方法,进一步简化了ContentValues的创建。这些技巧充分利用了Kotlin的扩展函数、智能类型转换等特性,使代码更简洁高效。最终实现的代码原创 2025-11-08 09:30:00 · 349 阅读 · 0 评论 -
Android开发(Kotlin) 高阶函数、内联函数
本文介绍了Kotlin高阶函数的概念和使用方法。高阶函数是指接收函数作为参数或返回函数类型的函数,通过函数类型语法(String,Int)->Unit进行声明。文章展示了如何使用高阶函数实现不同运算逻辑,以及通过lambda表达式简化调用。同时介绍了内联函数的作用和优化原理,包括inline、noinline和crossinline关键字的用法。其中noinline用于排除特定参数的内联,crossinline则确保lambda表达式不会使用return关键字。最后还演示了如何通过扩展函数模拟类似ap原创 2025-11-07 09:30:00 · 595 阅读 · 0 评论 -
Android开发(Kotlin) 扩展函数和运算符重载
本文介绍了Kotlin中扩展函数和运算符重载的使用。扩展函数允许在不修改类源码的情况下为类添加新功能,语法为"fun ClassName.methodName()",并以String类扩展lettersCount()函数为例说明用法。运算符重载通过operator关键字实现,演示了如何重载plus()函数实现PowerConsumption类的加法运算,并提供了常用运算符的重载函数对照表。最后展示了结合扩展函数和运算符重载,为String类添加times()函数实现字符串乘法功能,使&q原创 2025-11-06 09:00:00 · 402 阅读 · 0 评论 -
android开发(kotlin) 延迟初始化和密封类
本文介绍了Kotlin中的两个实用特性:延迟初始化和密封类。延迟初始化通过lateinit关键字避免了全局变量的空类型声明和频繁判空问题,同时可用::var.isInitialized检查初始化状态。密封类使用sealed class强制处理所有子类条件分支,优化when表达式逻辑,要求密封类及其子类必须定义在同一文件的顶层位置。这两个特性分别解决了变量初始化和多态类型检查的问题,提高了代码的安全性和可维护性。原创 2025-11-05 09:00:00 · 461 阅读 · 0 评论 -
android开发(kotlin) Intent的使用、返回数据给上一个activity
本文介绍了Android开发中Intent的两种使用方式:显式Intent和隐式Intent。显式Intent通过指定目标Activity类名实现跳转(如FirstActivity跳转SecondActivity),隐式Intent通过配置intent-filter并匹配action实现跳转(如跳转浏览器或拨号界面)。文章还详细说明了Activity间传递数据的方法,包括使用putExtra()传递数据和registerForActivityResult()接收返回数据,并给出了完整的代码示例。重点涵盖了K原创 2025-11-04 09:00:00 · 626 阅读 · 0 评论 -
android开发(kotlin)练练手,创建一个activity
本文介绍了Android开发中几个基础功能的实现方法:1. 创建按钮并设置点击事件弹出Toast提示,展示了通过findViewById和ViewBinding两种方式获取控件;2. 使用Menu创建菜单选项并处理点击事件;3. 通过finish()方法销毁Activity。文章提供了详细的Kotlin代码和XML布局示例,并演示了如何在build.gradle中启用ViewBinding功能。这些技术点涵盖了Android应用开发中的基本交互实现方式,适合初学者快速掌握基础组件的事件处理。原创 2025-11-04 08:30:00 · 244 阅读 · 0 评论 -
kotlin学习 字符串内嵌表达式、参数默认值
Kotlin语言特性摘要: 字符串内嵌表达式使用${}语法,可直接嵌入变量值,如"en is ${word.enContent}"; 函数参数支持默认值,未传参时自动采用默认值,如fun testCreateWord(cn: String = "你好"); 当非首参数需传值而首参数保留默认值时,需使用键值对指定参数名,如testCreateWord(en = "abc")避免歧义。 (摘要字数:149)原创 2025-11-03 15:15:24 · 213 阅读 · 0 评论 -
kotlin学习 lambda编程
Kotlin集合操作与空指针检查总结 本文介绍了Kotlin中集合操作和空指针检查的相关特性。集合部分包括List、Set、Map的创建方式及函数式API使用,如maxBy、map、filter、any、all等方法。空指针检查方面,Kotlin通过可空类型系统、?.操作符、?:操作符、!!断言和let函数等机制,在编译期进行空指针检查。let函数还能解决全局变量判空问题,相比if判断更具优势。这些特性使Kotlin代码更简洁安全,有效减少空指针异常风险。原创 2025-11-02 20:49:28 · 567 阅读 · 0 评论 -
kotlin学习 基础知识一览
本文介绍了在Android Studio中使用Kotlin语言的基础知识。主要内容包括:1) 创建Kotlin项目和编写main函数;2) 变量声明(val不可变,var可变)和类型推导;3) 函数定义和语法糖简化;4) 逻辑控制(if条件语句、when条件语句);5) 循环语句(for-in循环和区间操作);6) 类与对象、继承和构造函数(主构造函数和次构造函数)。通过具体代码示例展示了Kotlin的简洁语法特性,如自动类型推导、函数简化表达式等。原创 2025-11-02 17:22:26 · 1110 阅读 · 0 评论
分享