自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (6)
  • 收藏
  • 关注

原创 QClaw:让AI真正成为你的私人助理——安装与使用全记录

在AI工具满天飞的今天,我们不缺聊天机器人,缺的是一个真正能帮你干活的智能助理。直到我遇到了QClaw,才算是找到了那种AI终于能用了的感觉。这篇文章记录了我从安装到上手使用QClaw的完整过程,以及一些真实的使用感受,希望对同样在寻找高效AI工具的你有所帮助。QClaw最大的优势是真正的任务执行能力,它不只是给建议,而是真的帮你做事。技能系统让能力边界不断扩展,本地化运行保障数据安全,跨会话的记忆能力让使用体验随时间推移越来越好。

2026-03-17 14:47:42 1296

原创 Android中仿照View selector自定义Compose Button

摘要 本文介绍了在Jetpack Compose中实现自定义按钮按下效果的解决方案。针对Compose默认Button组件的涟漪效果无法满足传统View selector样式需求的问题,作者通过pointerInput手势监听和PressInteraction事件处理,开发了自定义HButton组件。该组件支持按下状态颜色变化、长按、点击等交互效果,并可通过HButtonColors类灵活配置不同状态下的颜色。实现方案解决了快速点击时状态不触发的痛点,为Compose项目提供了更接近传统View的按钮交互体

2026-02-11 20:58:29 47

原创 OpenClaw自主写文章并发送到公众号

摘要:本文分享了使用OpenClaw小助手"翠花"实现微信公众号自动发布的实践过程。通过定义nodejs-runner技能,让AI定时撰写宠物相关热点文章并自动发布。关键点包括:1)自定义技能模板;2)详细的任务提示词设计;3)Node.js脚本实现多平台发布功能。实践表明,OpenClaw通过语义理解调用小工具完成任务的方式,可能改变未来程序架构设计理念,将复杂任务拆解为可组合的小模块。这种"积木式"AI工具调用模式有望成为提升生产力的新型范式。

2026-02-11 20:57:19 2144

原创 Raspberry树莓派Ubuntu系统安装

访问Ubuntu官方或树莓派专用镜像页面(如Ubuntu Server for Raspberry Pi),选择适配树莓派型号的镜像(如22.04 LTS)。写入完成后,将SD卡插入树莓派。首次启动需连接网线(或配置Wi-Fi),通过路由后台查看树莓派分配的IP地址。插入SD卡后,选择下载的镜像文件和目标SD卡,点击写入。若使用命令行,可通过以下命令解压并写入(需替换。编辑Netplan配置文件(如。重启后即可进入图形界面。,首次登录需修改密码。

2026-01-28 12:04:09 387

原创 Java控制树莓派小车

摘要:本文介绍了基于树莓派的小车硬件搭建方案,包括树莓派3B+/4B与L298N/TB6612FNG电机驱动模块的连接方法,以及7.4V锂电池供电建议。软件方面详细说明了Raspbian系统配置、Java开发环境安装和Pi4J库的使用,提供了GPIO控制电机正反转的代码示例。此外还介绍了通过Socket或MQTT实现远程控制的方法,并强调了共地连接、散热保护等注意事项。全文包含完整的硬件连接指南和软件开发流程,为树莓派小车项目提供了实用参考。

2026-01-28 12:00:08 244

原创 BottomSheetDialogFragment滑动冲突

想解决以上问题,需要了解View事件分发机制。在Android开发中,事件分发机制是一个非常核心的概念,涉及到用户界面(UI)的交互和触摸事件的处理。事件分发机制主要由以下几个关键部分组成:事件分发过程、触摸事件的处理和自定义视图的事件处理。// 处理触摸事件的分发逻辑// 根据需要返回true或false来决定是否消费事件或继续传递@Override// 判断是否拦截触摸事件的逻辑// 根据需要返回true或false来决定是否拦截事件@Override// 处理触摸事件的逻辑。

2026-01-12 13:59:43 990

原创 Android状态栏文字图标设置失效

摘要:在使用Compose开发时,发现StatusBarCompat设置状态栏颜色失效,原因是启用了enableEdgeToEdge。解决方案采用Material3主题方案,通过定义DarkColorScheme和LightColorScheme,配合WindowCompat动态控制状态栏颜色。在Scaffold外层包裹MaterialTheme主题,利用colorScheme定义界面配色,并通过isLight变量切换主题,最终实现了状态栏颜色的动态控制。该方法适配了新的Compose界面布局要求,解决了状

2026-01-12 13:59:05 217

原创 配置Nginx实现外网访问文件夹

摘要:本文介绍了在阿里云服务器上通过Nginx配置实现外网访问指定文件夹的方法。主要包括:安装并启动Nginx服务、配置目录映射、设置文件夹权限、重启Nginx生效、配置阿里云安全组规则等步骤。同时提供了访问验证方法,并提示了autoindex开启会暴露目录结构的安全风险,建议生产环境限制IP访问或添加认证。对于大文件下载还给出了性能优化建议。全文详细说明了从安装配置到安全防护的完整实现过程。

2025-12-03 10:47:13 224

原创 安装宝塔面板阿里云版本

摘要:阿里云服务器安装宝塔面板阿里云版本需满足系统要求,通过SSH执行自动安装命令,完成后显示登录信息。需配置安全组放行8888等必要端口,登录后绑定账号并安装运行环境。部署网站时可创建站点、配置数据库及SSL证书,利用内置阿里云OSS/CDN插件实现云服务集成。面板提供监控、备份及安全防护功能,建议配合阿里云监控实现全面运维管理。(150字)

2025-12-03 10:10:21 554

原创 Android性能分析工具

本文介绍了Android性能分析的常用工具和方法,涵盖CPU、内存、电池、网络和渲染性能等方面。主要工具包括Android Studio内置的Android Profiler(监控CPU、内存、网络和电池)、Systrace(系统级性能分析)、Perfetto(新一代跟踪工具)以及第三方工具如LeakCanary(内存泄漏检测)和Charles Proxy(网络抓包)。此外还提供了电池分析工具Battery Historian和GPU渲染分析方法。文章最后给出了代码优化建议,包括避免主线程阻塞、减少过度绘制

2025-12-02 12:36:45 817

原创 鸿蒙网络请求流式返回实现方法

摘要:鸿蒙系统实现HTTP流式请求可通过@ohos.net.http或@ohos.request模块完成。关键步骤包括:创建请求对象、监听dataReceive/headerReceive事件处理分块数据、指定ARRAY_BUFFER/stream响应类型。需注意服务器需支持分块传输,建议设置合理缓冲区、使用AbortController控制请求,并在非UI线程处理大数据流。该方法适用于HarmonyOS 3.0+,适用于需要实时处理网络流数据的场景,需注意内存管理和编码转换问题。

2025-12-02 09:54:32 408

原创 Android截屏汇报问题

本文介绍了基于MediaProjection的Android截屏功能实现方案。通过HScreenCaptureActivity处理授权弹框,HScreenCaptureService实现截屏核心逻辑,包括创建前台服务、虚拟显示映射和图片保存。系统采用广播机制通知业务层处理截屏结果,并考虑了文件缓存清理。目前方案在主流设备上运行流畅,但需针对低版本机型进行兼容性优化。关键实现点包括:1) 前台服务声明mediaProjection类型;2) ImageReader处理屏幕数据;3) 完善的广播通信机制。该方案

2025-12-02 09:48:32 825

原创 Android摇一摇

本文提出了一种通过"摇一摇"手势简化APP错误报告流程的方案。该方案利用SensorManager监听加速度传感器数据,通过计算位移区间判断用户摇动动作,并在后台Service中实现无UI界面的摇动检测。当检测到摇动时,系统会发送广播通知业务层进行截屏和日志自动上传。文章详细介绍了摇动检测工具类的实现代码,包括传感器注册、摇动判断逻辑和事件回调处理,并说明了如何在Service中启动和停止检测功能。实际测试表明,该方案在保证低功耗的同时,显著提升了用户提交错误报告的意愿和便捷性。

2025-12-01 18:03:26 781

原创 Compose和Fragment混合显示示例

本文介绍了Jetpack Compose与传统Fragment的混合开发方案。在Fragment中使用Compose时,通过ComposeView的setContent方法实现Compose界面;在Compose中使用Fragment时,则借助AndroidView和FragmentContainerView容器,在update回调中进行Fragment的替换操作。两种方式分别通过ComposeView将Compose转换为View布局,以及通过AndroidView在Compose中嵌入传统View,实现

2025-12-01 17:36:14 363

原创 Koin使用入门

本文介绍了在Android项目中引入Koin依赖注入框架的实践。通过添加Koin依赖,创建测试类HTestServer和BluetoothViewModel,并配置myModules模块声明,在Application中启动Koin。演示了在MainActivity中注入普通类和使用viewModel()方法注入ViewModel的具体实现。Koin框架具有使用简单、结构清晰、支持Kotlin风格和跨平台等优点,能有效降低项目复杂度,适合模块化开发,值得尝试。

2025-10-21 14:22:43 241

原创 HarmonyOS滚动标签页仿华为官方应用效果

【代码】Arkts滚动Tabbar。

2025-09-13 10:37:10 156

原创 Compose折叠展开Text文末文字版本

【代码】Compose折叠展开Text文末文字版本。

2025-09-08 12:17:09 334

原创 Jetpack Compose 可折叠文本组件实战

【代码】Jetpack Compose 可折叠文本组件实战。

2025-09-08 11:17:48 192

原创 Android约束部分控件顶出范围

该摘要介绍了如何解决IM会话标题过长导致标签被顶出的问题。通过在TextView中添加app:layout_constrainedWidth="true"约束,可以控制标题宽度:当文字过多时会自动限制宽度,避免挤压其他元素;文字较少时则正常显示在标题后。这种方案既保证了界面整洁,又保持了布局的灵活性。

2025-09-04 18:53:25 238

原创 Android输入框文字不垂直居中

摘要:升级项目targetSdk版本后,EditView文字不居中的问题源于官方为解决多语言输入抖动,默认启用了本地配置行高作为最小行高。通过查看源码发现,该特性在API版本后默认开启,导致文字垂直对齐异常。解决方案是在EditText中添加android:useLocalePreferredLineHeightForMinimum="false"属性,即可禁用该功能并自定义行高设置。

2025-08-18 18:18:42 685

原创 Android底部导航栏图标变黑色

Android系统导航栏浅色模式适配代码,适用于不同系统版本:对于Android R(11)及以上版本,使用WindowInsetsController设置浅色导航栏;对于早期版本,则通过View的systemUiVisibility属性实现。这段代码展示了如何根据不同SDK版本采用不同API来确保导航栏UI风格一致。

2025-08-07 22:00:01 534

原创 iOS打开开发者模式

iOS设备启用开发者模式的方法有两种:通过Xcode连接设备后勾选开发模式,或直接在设置中开启(iOS16+需在隐私与安全底部找到选项)。启用后需重启设备,首次使用需验证密码。该模式主要用于调试,开启后需注意应用安装安全。不同iOS版本路径可能略有差异,旧系统需通过设备管理操作。

2025-07-21 10:42:58 3712

原创 Compose Multiplatform优缺点

ComposeMultiplatform是一款高效的跨平台开发框架,允许使用Kotlin代码开发多端应用,显著提升开发效率。其优势包括声明式UI设计、热重载支持、Kotlin生态整合及官方强力支持。但存在性能不足(尤其在iOS/Web端)、API稳定性待完善、学习门槛较高、生态资源有限及包体积偏大等缺点。该框架适合已有Kotlin基础的团队,但需权衡其当前成熟度与项目需求。

2025-07-11 10:52:30 422

原创 Flutter优缺点

Flutter作为跨平台框架,具有开发效率高、性能接近原生、UI组件丰富和热重载等优势,能显著降低多平台应用的开发成本。但其安装包体积较大,部分原生功能支持滞后,Web/桌面端成熟度不足,且需要学习Dart语言和Flutter特有概念。第三方库质量参差也可能影响开发效率。总体而言,Flutter适合需要快速构建高性能跨平台应用的场景,但对安装包大小和特定平台功能有严格要求时需谨慎选择。

2025-07-11 10:45:38 856

原创 Android TensorFlow

摘要:TensorFlow Lite为Android设备提供轻量级机器学习解决方案。集成步骤包括:1)添加Gradle依赖;2)将.tflite模型放入assets文件夹并加载;3)数据预处理后通过Interpreter执行推理;4)解析输出结果。对于常见任务可使用预封装API,通过GPU delegate加速性能。优化建议包括模型量化、算子裁剪和支持动态形状。注意测试不同硬件的算子兼容性。

2025-07-05 04:00:00 347

原创 Compose数据分页加载效果

Compose实现分页加载可通过LazyColumn结合Paging库完成,需要处理加载状态和视觉优化。核心实现包括:使用collectAsLazyPagingItems收集分页数据,在LazyColumn中展示数据并处理加载中/错误状态;通过PagingConfig配置预加载参数优化性能;可添加骨架屏等加载动画提升用户体验。高级控制可通过LazyListState监听滚动位置实现手动分页触发。关键注意分页状态管理和内存优化配置。

2025-07-05 03:30:00 377

原创 Jetpack Compose CollapsingToolbarLayout效果

本文介绍了Jetpack Compose中实现CollapsingToolbarLayout效果的三种方法:1) 使用LazyColumn与Parallax效果,通过滚动偏移控制视差折叠;2) 采用CustomScrollView与NestedScrollConnection实现精确滚动控制;3) 借助第三方库简化开发。关键点包括调节translationY视差强度、alpha透明度变化,以及通过scrollState管理滚动位置。这些方案都能达到传统折叠工具栏效果,开发者可根据项目复杂度选择基础实现或精细

2025-07-04 14:47:52 385

原创 Compose LazyVerticalStaggeredGrid卡顿

《优化LazyVerticalStaggeredGrid卡顿的6个关键方法》摘要:通过减少布局层级和使用LayoutInspector分析视图结构优化布局复杂度;采用Coil/Glide实现图片异步加载和缓存,设置固定尺寸避免动态计算;启用固定跨度或预估高度减少布局计算;利用derivedStateOf减少重组范围;开启硬件加速和R8优化提升渲染效率;结合Paging3实现分页加载,并通过JankStats监控性能指标。这些方法涵盖布局优化、资源管理、状态控制等维度,可有效提升瀑布流列表的滚动流畅性。

2025-07-04 14:26:09 468

原创 Compose路由

Compose路由配置摘要:Jetpack Compose通过NavHost和NavController实现路由管理,支持参数传递(路径声明/arguments获取)、嵌套路由(navigation块)、深层链接(navDeepLink)和路由动画(EnterTransition/ExitTransition)。还提供路由拦截监听器(addOnDestinationChangedListener)用于权限校验等场景。典型配置包含路由容器定义、参数处理和导航逻辑控制,适用于构建复杂应用的导航体系。

2025-07-03 18:03:56 399

原创 KMP(Kotlin Multiplatform)改造(Android/iOS)老项目

本文详细介绍了如何将KMP(Kotlin Multiplatform)项目集成到现有Android和iOS原生项目中的改造过程。主要内容包括: 在KMP项目中,将Android模块从应用改为库依赖,并创建独立入口模块; 在原生Android项目中添加KMP模块依赖,通过ComposeView嵌入KMP页面; 在iOS项目中添加构建脚本自动生成Framework,通过UIHostingController集成KMP页面; 提供了完整的配置说明和常见问题解决方案。 改造完成后,KMP项目可以同时运行在Andro

2025-07-03 17:58:45 3486

原创 Objective-c把字符解析成字典

本文介绍了在Objective-C中解析四种字符串格式为字典的方法:1)使用NSJSONSerialization解析JSON字符串;2)通过字符串分割处理URL查询参数;3)利用NSPropertyListSerialization解析plist格式;4)自定义解析逻辑处理特殊格式。文章强调了解析时的注意事项,包括编码处理、异常捕获和复杂结构的递归解析需求,为开发者提供了不同场景下的字符串转字典方案。

2025-06-30 20:12:35 502

原创 移动端日志平台EMAS

阿里云EMAS日志平台具备多端日志采集、实时分析和全链路监控能力,支持Crash日志等类型,便于问题定位与优化。其高可用架构保障海量数据处理,提供灵活的分类管理和安全合规保障。但平台存在学习曲线陡峭、费用较高、定制化受限等不足,且日志处理有轻微延迟。该平台适合需要稳定日志服务的企业,但需权衡成本与实时性需求。

2025-06-28 23:06:36 514

原创 Swift Moya自定义插件打印日志

Moya自定义插件打印网络请求日志指南:通过创建遵守PluginType协议的插件类,可详细记录请求和响应信息。插件需实现willSend和didReceive方法,分别打印请求URL、方法、头信息、请求体,以及响应状态码、响应数据或错误。可优化日志格式,使用专业日志库,并注意过滤敏感信息。最后将插件实例添加到MoyaProvider的plugins数组中即可启用。该方案弥补了Moya默认不提供详细日志的不足,便于开发调试。

2025-06-28 22:32:44 453

原创 mPaaS 客户端诊断概述

mPaaS客户端诊断是阿里云移动开发平台提供的应用问题排查工具,支持Android/iOS平台。核心功能包括性能监控(启动耗时、页面渲染)、日志分析(自动采集/筛选)、异常诊断(崩溃堆栈、设备信息)和网络请求追踪。开发者通过集成SDK,配置日志级别和上报策略,即可在控制台查看可视化报表分析问题。高级功能支持自定义埋点、远程日志拉取和A/B测试对比。使用需注意平台差异(Android混淆规则/iOS符号表)和日志上报策略优化。该工具帮助开发者快速定位客户端问题,提升应用稳定性。

2025-06-27 23:11:05 550

原创 swift 对象转Json

Swift中对象转JSON的方法:1. 使用Codable协议,自动处理符合条件的数据结构;2. 通过JSONSerialization处理字典/数组;3. 自定义编码逻辑时手动实现Encodable协议。注意事项包括确保属性符合Codable、格式化输出选项设置,以及处理特殊类型转换。两种主要方法都需使用do-catch处理可能的编码错误。

2025-06-27 22:48:47 509

原创 swiftUI iOS16和iOS15兼容

SwiftUI跨版本兼容开发需采用条件化代码适配策略,通过API可用性检查(@available)和运行时版本检测(if#available)实现功能分派。重点包括:使用版本隔离处理iOS16新增功能(如Grid布局、NavigationStack),提供替代实现;适配布局系统时优先选择兼容组件;封装导航逻辑兼容不同版本。开发中需使用Xcode14+工具链,设置多版本部署目标(iOS15+),并通过双向模拟器测试验证所有条件分支的执行路径。

2025-06-26 23:58:23 660

原创 swiftui TextEditor去除背景方法

摘要:隐藏或自定义TextEditor背景的方法包括:1) iOS16+使用.scrollContentBackground(.hidden);2) ZStack叠加透明视图;3) 直接设置background颜色;4) iOS15需通过UITextView Appearance API调整;5) 结合cornerRadius和shadow消除边框。最新系统推荐scrollContentBackground方案,旧版本需采用兼容方法,可根据需求选择透明或自定义背景效果。

2025-06-26 23:56:37 317

原创 Android edge-to-edge模式适配

Android全面屏适配新方案 在Android 16强制edge-to-edge模式下,界面元素易与系统栏重叠。传统通过获取状态栏/导航栏高度进行位移的方法已过时。Google推荐使用WindowInsetsCompat进行动态调整:通过ViewCompat.setOnApplyWindowInsetsListener监听根布局,利用WindowInsetsCompat.Type.systemBars()获取系统栏边距,WindowInsetsCompat.Type.ime()获取键盘高度,动态设置边距。

2025-06-25 19:26:54 2157

原创 在 GitLab CI 中配置多任务

GitLab CI通过.gitlab-ci.yml文件配置多任务流水线,支持任务分组、并行执行和条件触发。主要特性包括:1) 自定义阶段(stages)控制任务执行顺序;2) 同一阶段任务自动并行;3) 通过needs字段建立任务依赖;4) 使用rules/only/except实现条件触发;5) 模板复用减少代码重复;6) 父子流水线实现多项目协作;7) 共享变量和缓存优化效率。这些功能使GitLab CI能够灵活适应复杂工作流需求,实现高效的持续集成与部署。

2025-06-25 19:26:34 815

原创 Android实时获取声音音量大小

摘要:本文介绍了三种Android平台获取实时音量的方法:1)使用AudioRecord获取原始音频数据并计算音量,适合需要精细处理的场景;2)通过Visualizer获取媒体播放音量,适用于音乐播放器应用;3)利用MediaRecorder的getMaxAmplitude方法测量麦克风输入。这三种方法都需要RECORD_AUDIO权限,且要注意动态权限检查。开发者应根据具体需求选择合适方案,并注意性能优化,如调整采样率和缓冲区大小。实现时需注意音量数值的归一化处理,以及资源消耗问题。

2025-06-24 09:07:38 602

Xcode升级缺失的arc库

升级xcode后,运行项目报libarclite缺失,下载此arc压缩包解压,把解压后arc文件夹整体拖拽到/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib目录 再次运行项目,正常运行到设备。

2025-06-08

SocketTCP简单传输协议

在socket开发中,会有各种协议出现,最适合我们开发的还是自定义我们的协议,本例提供一个简单的传输协议思路。

2012-10-18

sqlServerDriver

Sql Server 2005最新驱动.有时候SQL驱动不能用,或者总是报错(找不到驱动),本驱动希望解决你遇到的问题.

2010-04-15

EditPlus下载

打开一些程序源文件很好用,里面可以自动显示关键字,行数等。

2010-12-07

java发送电子邮件

在java中,附加压缩包中的jar包,然后就可以调用文件进行发送,里面的参数都有说明。

2010-12-07

java中class反编译

反编译java生成的.class文件为java文件。

2010-12-07

FckEditor在线编辑器

做在线编辑器会很好用的,一般用于后台数据的添加。

2010-12-07

空空如也

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

TA关注的人

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