- 博客(212)
- 资源 (5)
- 收藏
- 关注
原创 十七、kotlin 编码规范详情
:全大写 + 下划线(SCREAMING_SNAKE_CASE。控制语句关键字后加空格:if (condition):使用结构化并发,避免 GlobalScope。逗号后加空格:listOf(1, 2, 3)冒号后加空格:class A : B():纯数据结构使用 data class。:公共 API 使用 KDoc 文档。:优先省略显式类型(上下文明确时):代码应自解释(通过命名、结构等):大驼峰式(PascalCase。:小驼峰式(camelCase。:命名清晰,避免与类成员冲突。
2025-07-15 08:50:54
202
原创 十五、Kotlin 基础语法详解
简洁性:减少模板代码(如数据类、类型推断)安全性:空安全设计避免 NPE互操作性:100% 兼容 Java函数式支持:Lambda、高阶函数扩展函数:无需继承扩展类功能通过掌握这些基础语法,您已具备使用 Kotlin 进行开发的核心能力!
2025-07-14 13:49:44
99
原创 十四、Kotlin 反射详解
反射是指在运行时检查、修改和调用类、对象、函数和属性的能力。Kotlin反射API主要通过kotlin-reflect库提供。
2025-07-14 11:48:51
132
原创 十三、Kotlin 解构详解
对于非数据类,可以手动定义 componentN()println("$name is $age years old") // 输出: Bob is 30 years old。
2025-07-14 11:39:39
303
原创 十二、Kotlin 注解详解
注解(Annotations)是Kotlin中一种强大的元编程工具,它允许你在代码中添加元数据,这些元数据可以被编译器、运行时环境或第三方工具处理。下面详细介绍Kotlin注解的相关知识。注解是用符号前缀表示的元数据标签:注解声明要声明一个注解,使用关键字:带参数的注解注解参数可以是:基本类型(Int, Long等)字符串类()枚举其他注解以上类型的数组Kotlin提供了一些内置注解: - 标记元素已过时 - 抑制警告 - 指定JVM名称 - 生成静态成员 - 生成重载方法 - 声
2025-07-14 11:33:00
324
原创 十一、Kotlin 协程详解
轻量级:可以在单个线程中运行多个协程可挂起:可以在不阻塞线程的情况下挂起执行结构化并发:提供了取消和错误传播的机制。
2025-07-14 11:27:00
251
原创 十、Kotlin 异步程序设计详解
Kotlin 的协程提供了一种更简洁、更易读的异步编程方式,相比回调、Future 和 RxJava 有显著优势。通过挂起函数、结构化并发和丰富的操作符,可以编写出高效且易于维护的异步代码。对于 Android 开发,协程与 Jetpack 组件(如 ViewModel 和 LiveData)的集成使得异步编程变得更加简单和安全。
2025-07-14 11:20:18
459
原创 九、kotlin this表达式 详解
及其标签形式,可以精确控制当前操作的对象,尤其在嵌套结构或作用域冲突时至关重要。表达式用于引用当前对象(接收者),其具体行为取决于上下文。在嵌套作用域(如内部类、Lambda)中,用 this@Label。Lambda 或匿名函数作为带接收者的参数时,this。:在顶层函数(非类成员)中无法使用 this。优先于外部作用域,需用标签显式指定。在类成员(属性/方法)中,this。当局部变量与成员变量同名时,用。调用主/其他次级构造器。:内部作用域的 this。在 Kotlin 中,在扩展函数内,this。
2025-07-14 11:04:57
245
原创 八、kotlin 相等性详解
场景推荐操作比较对象内容a == b检查是否为同一实例a === b数组内容比较数据类比较直接使用==处理可空对象优先使用==(自动处理 null)// 正确示例if (user == null) return // 空检查if (currentUser == storedUser) { ... } // 内容比较if (config === DEFAULT_CONFIG) { ... } // 单例检查掌握 Kotlin 的相等性机制能有效避免常见bug,特别是涉及 null。
2025-07-14 10:51:11
217
原创 七、Kotlin 空安全详解
Kotlin 的空安全特性是其最重要的特性之一,它旨在消除空指针异常(NullPointerException,简称 NPE),这是 Java 中最常见的运行时错误之一。下面我将详细解释 Kotlin 的空安全机制。
2025-07-14 10:39:39
340
原创 五、kotlin 包与导入详解
概念作用示例包逻辑分组代码,避免命名冲突导入引入其他包的声明别名(as)解决命名冲突顶级声明函数/属性直接属于包,无需类合理使用包和导入机制,能显著提升代码的可读性和可维护性。遵循目录结构与包名匹配的约定,可减少路径混乱问题。
2025-07-14 10:19:23
321
原创 四、Kotlin 类与对象详解
在 Kotlin 中,使用class// 类成员val area: Int // 属性类型是可推断的,可以省略setDataFromString(value) // 解析字符串并赋值给其他属性。
2025-07-12 17:51:53
350
原创 三、Kotlin 包与导入详解
在 Kotlin 中,包(Package)和导入(Import)是组织代码结构的重要机制,它们帮助开发者管理命名空间、避免命名冲突,并提高代码的可维护性。
2025-07-12 17:39:25
368
原创 二、Kotlin 控制流程详解
Kotlin 的控制流程结构既保留了传统编程语言的特性,又通过表达式化的设计(如 if 和 when 表达式)和灵活的跳转控制(如标签返回)提供了更强大的功能和更简洁的语法。Kotlin 提供了多种控制流程结构,包括条件表达式、循环和跳转表达式。下面我将详细介绍 Kotlin 中的各种控制流程。Kotlin 提供了多种控制流程结构,包括条件表达式、循环和跳转表达式。Kotlin 有函数字面量、局部函数和对象表达式,因此函数可以被嵌套。),虽然不是严格的控制流程,但可以影响代码的执行方式。
2025-07-12 17:33:50
241
原创 一、Kotlin 类型详解
Kotlin 的类型系统设计旨在消除空引用异常(NullPointerException)的危险,同时保持与 Java 的互操作性。下面我将详细介绍 Kotlin 的类型系统。
2025-07-12 17:26:16
320
原创 六、kotlin 函数详解
Kotlin 的函数系统非常强大且灵活,提供了多种特性来简化代码编写和提高表达力。从基本的函数定义到高阶函数、扩展函数、作用域函数等高级特性,Kotlin 的函数设计使得代码更加简洁、安全和易于维护。
2025-07-12 17:14:16
378
原创 Android Gradle 新旧版本写法对比
随着 Android Gradle 插件(AGP)的不断更新,Gradle 构建脚本的写法也发生了变化。
2025-07-09 09:59:28
780
原创 Flutter三方库使用-图表(fl_chart)
提供了高度可定制的数据可视化解决方案,通过合理组合配置项,可以实现符合 Material Design 规范的专业级图表效果。建议结合官方示例库(与 Flutter SDK 的兼容性。对于复杂需求(如蜡烛图),需结合。定期更新到最新稳定版。)探索更多高级功能。
2025-05-17 17:00:05
788
原创 Flutter三方库使用-权限管理(permission_handler)
避免应用启动时批量请求所有权限。在真正需要使用功能前请求权限。✅ 用户友好的权限引导流程。✅ 优雅的权限拒绝处理。
2025-05-17 16:38:25
666
原创 Flutter三方库使用-屏幕适配(flutter_screenutil )
根据屏幕宽度或高度自适应文本(推荐优先使用宽度)。必须与设计稿一致(通常由 UI 设计师提供)。: 根据宽/高中较小者适配(常用于圆角)。:修改设计稿尺寸后可能需要重启应用生效。,文本会根据屏幕宽度或高度较小者适配。:在测试环境中需手动初始化。在根 Widget(如。: 根据屏幕宽度适配。: 根据屏幕高度适配。
2025-05-17 13:43:21
625
原创 UniApp 中 open-type 的用法
在 UniApp 中,open-type主要用于<button>组件,它扩展了微信小程序的原生能力,允许按钮触发一些特殊功能。
2025-05-09 15:42:23
641
原创 关于微信小程序获取用户唯一码
同一用户在微信开放平台下的所有应用(小程序、公众号、App等)中的唯一标识。需满足条件:小程序已绑定到开放平台,且用户在同平台其他应用登录过。缺点需要用户点击按钮才能进行获取数据,不能直接在加载页面进行获取。不同小程序中的同一用户OpenID不同。无需用户授权,通过登录流程即可获取。注意事项:需要小程序管理端生成密钥。同一用户在同一小程序中的唯一标识。结果:获取到用户唯一openId。可能需要用户授权才能获取。前端获取加密数据:复制。通过用户授权解密数据。
2025-05-08 14:13:34
947
原创 Uniapp 开发微信小程序使用 Iconfont 底部 TabBar 不显示问题
如果问题仍未解决,可以检查微信开发者工具的控制台是否有相关错误提示.确保图标路径正确,微信小程序要求路径必须从项目根目录开始。如果图标尺寸过大或过小,可能导致显示异常。:部分问题在开发者工具中可能不显现,务必真机测试。将 Iconfont 下载为 png 格式。最大不超过 200px * 200px。标准尺寸:81px * 81px。:正常状态和选中状态,放在。选中状态有明显视觉差异。
2025-05-08 14:11:01
975
原创 Flutter 安装报错
修改其中 kMaven(修改地址如下:http://maven.aliyun.com/nexus/content/groups/public/)打开文件 packages/flutter_tools/lib/src/http_host_validator.dart。Windows环境变量修改:点击计算机图标 - 属性 - 高级系统设置 - 高级 - 环境变量。在终端中执行flutter --version,出现如下内容,说明安装flutter成功。找到Path,在其中添加Flutter SDK目录下。
2023-10-28 10:36:38
6335
2
原创 5.小程序创建页面
节点下输入新增页面存放路径,小程序工具会自动在路径下生成对应的页面,包含.js/.wss/.wxml/.json。2.小程序默认把第一个当成首页,会优先执行。1.在app.json文件中,
2023-08-04 22:13:41
233
原创 4.小程序项目结构
project.private.config.json:项目私有文件配置。index.js:页面的脚本文件,数据,函数都在这里面放置。project.config.json: 项目的配置文件。用来配置小程序及其页面是否允许被微信索引。app.json:小程序项目的全局配置。pages:用来存放所有小程序页面;index.json:页面配置文件。app.wss:小程序的全局样式。utils:用来存放工具模块;app.js:小程序项目的入口。index.wss:页面样式。index.wxml:页面。
2023-08-04 22:03:21
215
原创 Android Studio 3.0以上版本开启Android Device Monitor
双击后等待如果AndroidStudio配置成功就会开启当前 Android Device Monitor,报错原因是因为JDK配置不匹配,修改为一直就可以解决。在当前地址中双击打开monitor.dat文件。
2023-07-25 14:18:07
1156
1
原创 Android Studio 4.2+ assemble(Tasks)选项消失详解
关于生成.aar文件时,Android studio 4.2+版本assemble选项找不到
2023-03-13 16:06:25
450
android 4.3 版本的蓝牙4.0 扫描、连接等操作
2016-06-07
Android 开启指定名称和密码的 Wifi热点 demo
2016-06-07
android,wifi,静态IP,设置
2016-06-07
一个蓝牙4.0BLE安卓开发的小例子
2016-06-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人