自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不二菜菜子的博客

项目中用到的一些代码

  • 博客(215)
  • 资源 (5)
  • 收藏
  • 关注

原创 Flutter打包体积优化指南

主要原因说明优化方向自绘引擎打包了 Skia 渲染引擎、Dart 运行时等,而非使用系统组件。无法避免,是 Flutter 特性的代价。AOT 编译Release 模式的本地机器码为保证性能,体积较大。使用--release模式构建。多架构支持默认 APK 包含所有 CPU 架构的库。使用App Bundle或。未优化代码和资源包含未使用的代码、未压缩的图片、完整字体文件等。代码混淆资源压缩字体子集化。

2025-09-11 17:31:52 1504

原创 flutter 打包ios详解

在 Flutter 中修改应用的版本号(Version Name)和版本代码(Version Code),你需要分别修改 Android 和 iOS 平台的配置文件。

2025-09-08 16:56:14 401

原创 关于flutter打包及打包失败报错解决方式

它与 APK 不同,上传后 Google Play 会针对不同的设备配置生成优化后的 APK,使用户下载的 APK 体积更小。如果丢失,你将无法为应用的后续版本签名,也无法在 Google Play 上更新应用。运行命令后,会提示你输入密钥库密码、密钥密码以及一些详细信息(如姓名、组织等)。调试版 APK 包含了调试信息,体积更大,运行效率较低,主要用于开发阶段测试。发布版 APK 经过了压缩和混淆,体积更小,性能更好,并且无法被调试。你现在可以将这个 APK 文件分发给用户,或者上传到应用市场。

2025-09-03 09:16:23 898

原创 十七、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 367

原创 十五、Kotlin 基础语法详解

简洁性:减少模板代码(如数据类、类型推断)安全性:空安全设计避免 NPE互操作性:100% 兼容 Java函数式支持:Lambda、高阶函数扩展函数:无需继承扩展类功能通过掌握这些基础语法,您已具备使用 Kotlin 进行开发的核心能力!

2025-07-14 13:49:44 125

原创 十四、Kotlin 反射详解

反射是指在运行时检查、修改和调用类、对象、函数和属性的能力。Kotlin反射API主要通过kotlin-reflect库提供。

2025-07-14 11:48:51 243

原创 十三、Kotlin 解构详解

对于非数据类,可以手动定义 componentN()println("$name is $age years old") // 输出: Bob is 30 years old。

2025-07-14 11:39:39 339

原创 十二、Kotlin 注解详解

注解(Annotations)是Kotlin中一种强大的元编程工具,它允许你在代码中添加元数据,这些元数据可以被编译器、运行时环境或第三方工具处理。下面详细介绍Kotlin注解的相关知识。注解是用符号前缀表示的元数据标签:注解声明要声明一个注解,使用关键字:带参数的注解注解参数可以是:基本类型(Int, Long等)字符串类()枚举其他注解以上类型的数组Kotlin提供了一些内置注解: - 标记元素已过时 - 抑制警告 - 指定JVM名称 - 生成静态成员 - 生成重载方法 - 声

2025-07-14 11:33:00 377

原创 十一、Kotlin 协程详解

轻量级:可以在单个线程中运行多个协程可挂起:可以在不阻塞线程的情况下挂起执行结构化并发:提供了取消和错误传播的机制。

2025-07-14 11:27:00 339

原创 十、Kotlin 异步程序设计详解

Kotlin 的协程提供了一种更简洁、更易读的异步编程方式,相比回调、Future 和 RxJava 有显著优势。通过挂起函数、结构化并发和丰富的操作符,可以编写出高效且易于维护的异步代码。对于 Android 开发,协程与 Jetpack 组件(如 ViewModel 和 LiveData)的集成使得异步编程变得更加简单和安全。

2025-07-14 11:20:18 510

原创 九、kotlin this表达式 详解

及其标签形式,可以精确控制当前操作的对象,尤其在嵌套结构或作用域冲突时至关重要。表达式用于引用当前对象(接收者),其具体行为取决于上下文。在嵌套作用域(如内部类、Lambda)中,用 this@Label。Lambda 或匿名函数作为带接收者的参数时,this。:在顶层函数(非类成员)中无法使用 this。优先于外部作用域,需用标签显式指定。在类成员(属性/方法)中,this。当局部变量与成员变量同名时,用。调用主/其他次级构造器。:内部作用域的 this。在 Kotlin 中,在扩展函数内,this。

2025-07-14 11:04:57 304

原创 八、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 307

原创 七、Kotlin 空安全详解

Kotlin 的空安全特性是其最重要的特性之一,它旨在消除空指针异常(NullPointerException,简称 NPE),这是 Java 中最常见的运行时错误之一。下面我将详细解释 Kotlin 的空安全机制。

2025-07-14 10:39:39 471

原创 五、kotlin 包与导入详解

概念作用示例包逻辑分组代码,避免命名冲突导入引入其他包的声明别名(as)解决命名冲突顶级声明函数/属性直接属于包,无需类合理使用包和导入机制,能显著提升代码的可读性和可维护性。遵循目录结构与包名匹配的约定,可减少路径混乱问题。

2025-07-14 10:19:23 450

原创 四、Kotlin 类与对象详解

在 Kotlin 中,使用class// 类成员val area: Int // 属性类型是可推断的,可以省略setDataFromString(value) // 解析字符串并赋值给其他属性。

2025-07-12 17:51:53 413

原创 三、Kotlin 包与导入详解

在 Kotlin 中,包(Package)和导入(Import)是组织代码结构的重要机制,它们帮助开发者管理命名空间、避免命名冲突,并提高代码的可维护性。

2025-07-12 17:39:25 468

原创 二、Kotlin 控制流程详解

Kotlin 的控制流程结构既保留了传统编程语言的特性,又通过表达式化的设计(如 if 和 when 表达式)和灵活的跳转控制(如标签返回)提供了更强大的功能和更简洁的语法。Kotlin 提供了多种控制流程结构,包括条件表达式、循环和跳转表达式。下面我将详细介绍 Kotlin 中的各种控制流程。Kotlin 提供了多种控制流程结构,包括条件表达式、循环和跳转表达式。Kotlin 有函数字面量、局部函数和对象表达式,因此函数可以被嵌套。),虽然不是严格的控制流程,但可以影响代码的执行方式。

2025-07-12 17:33:50 278

原创 一、Kotlin 类型详解

Kotlin 的类型系统设计旨在消除空引用异常(NullPointerException)的危险,同时保持与 Java 的互操作性。下面我将详细介绍 Kotlin 的类型系统。

2025-07-12 17:26:16 369

原创 六、kotlin 函数详解

Kotlin 的函数系统非常强大且灵活,提供了多种特性来简化代码编写和提高表达力。从基本的函数定义到高阶函数、扩展函数、作用域函数等高级特性,Kotlin 的函数设计使得代码更加简洁、安全和易于维护。

2025-07-12 17:14:16 428

原创 Android Gradle 新旧版本写法对比

随着 Android Gradle 插件(AGP)的不断更新,Gradle 构建脚本的写法也发生了变化。

2025-07-09 09:59:28 897

原创 Flutter三方库使用-Toast(fluttertoast)

在中添加最新版本(示例图:运行确保无需额外配置。

2025-05-17 17:23:53 564

原创 Flutter三方库使用-图表(fl_chart)

提供了高度可定制的数据可视化解决方案,通过合理组合配置项,可以实现符合 Material Design 规范的专业级图表效果。建议结合官方示例库(与 Flutter SDK 的兼容性。对于复杂需求(如蜡烛图),需结合。定期更新到最新稳定版。)探索更多高级功能。

2025-05-17 17:00:05 1281

原创 Flutter三方库使用-权限管理(permission_handler)

避免应用启动时批量请求所有权限。在真正需要使用功能前请求权限。✅ 用户友好的权限引导流程。✅ 优雅的权限拒绝处理。

2025-05-17 16:38:25 1077

原创 Flutter三方库使用-网络请求库(Dio)

在中添加最新版本的dio实例图运行安装依赖。实例图。

2025-05-17 14:58:53 758

原创 Flutter三方库使用-屏幕适配(flutter_screenutil )

根据屏幕宽度或高度自适应文本(推荐优先使用宽度)。必须与设计稿一致(通常由 UI 设计师提供)。: 根据宽/高中较小者适配(常用于圆角)。:修改设计稿尺寸后可能需要重启应用生效。,文本会根据屏幕宽度或高度较小者适配。:在测试环境中需手动初始化。在根 Widget(如。: 根据屏幕宽度适配。: 根据屏幕高度适配。

2025-05-17 13:43:21 799

原创 UniApp 中 open-type 的用法

在 UniApp 中,open-type主要用于<button>组件,它扩展了微信小程序的原生能力,允许按钮触发一些特殊功能。

2025-05-09 15:42:23 814

原创 微信小程序获取微信用户信息及获取手机号

在微信小程序中,接口获取到的信息是,而不是手机号或其他敏感数据,这是由微信的设计机制决定的。

2025-05-08 15:55:13 5026 2

原创 关于微信小程序获取用户唯一码

同一用户在微信开放平台下的所有应用(小程序、公众号、App等)中的唯一标识。需满足条件:小程序已绑定到开放平台,且用户在同平台其他应用登录过。缺点需要用户点击按钮才能进行获取数据,不能直接在加载页面进行获取。不同小程序中的同一用户OpenID不同。无需用户授权,通过登录流程即可获取。注意事项:需要小程序管理端生成密钥。同一用户在同一小程序中的唯一标识。结果:获取到用户唯一openId。可能需要用户授权才能获取。前端获取加密数据:复制。通过用户授权解密数据。

2025-05-08 14:13:34 1354

原创 Uniapp 开发微信小程序使用 Iconfont 底部 TabBar 不显示问题

如果问题仍未解决,可以检查微信开发者工具的控制台是否有相关错误提示.确保图标路径正确,微信小程序要求路径必须从项目根目录开始。如果图标尺寸过大或过小,可能导致显示异常。:部分问题在开发者工具中可能不显现,务必真机测试。将 Iconfont 下载为 png 格式。最大不超过 200px * 200px。标准尺寸:81px * 81px。:正常状态和选中状态,放在。选中状态有明显视觉差异。

2025-05-08 14:11:01 1457

原创 Android记载Canmuda .bpmn文件

用于加载canmuda .bpmn文件

2024-12-02 14:54:13 179

原创 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 6874 2

原创 5.小程序创建页面

节点下输入新增页面存放路径,小程序工具会自动在路径下生成对应的页面,包含.js/.wss/.wxml/.json。2.小程序默认把第一个当成首页,会优先执行。1.在app.json文件中,

2023-08-04 22:13:41 245

原创 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 231

原创 3.创建第一个小程序

小程序的路径可以是中文;第一个小程序项目创建完成。

2023-08-04 21:48:09 154

原创 2.安装小程序开发工具

到此处小程序工具就安装完成了。1、下载小程序工具入口。

2023-08-04 21:38:59 103

原创 1.注册小程序开发帐号

6.获取小程序APPID。2.选择注册账号类型。

2023-08-04 21:28:17 108

原创 Android Studio 3.0以上版本开启Android Device Monitor

双击后等待如果AndroidStudio配置成功就会开启当前 Android Device Monitor,报错原因是因为JDK配置不匹配,修改为一直就可以解决。在当前地址中双击打开monitor.dat文件。

2023-07-25 14:18:07 1187 1

原创 关于调试UVCCamera所遇到的问题

关于调试UVCCamera所遇到的问题

2023-03-23 11:18:24 1491

原创 Android Studio 4.2+ assemble(Tasks)选项消失详解

关于生成.aar文件时,Android studio 4.2+版本assemble选项找不到

2023-03-13 16:06:25 471

原创 Flutter中常用的组件-CircleAvatar

Flutter中常用的组件-CircleAvatar

2023-02-01 15:43:26 836

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除