当前位置: 首页 > article >正文

Flutter for OpenHarmony 代码片段收藏夹APP技术文章

Flutter for OpenHarmony 代码片段收藏夹APP技术文章欢迎加入开源鸿蒙跨平台社区https://openharmonycrossplatform.csdn.net Flutter for OpenHarmony 实战打造开发者专属代码片段收藏夹 APP哈喽各位开发者小伙伴们今天我们来一起搞一个超级实用的开发效率工具 —— 代码片段收藏夹 APP作为每天和代码打交道的程序员谁还没几段珍藏的 #34;祖传代码#34; 呢有了这个 APP你的 Dart、Java、Python、JS 各种代码片段都能统一管理还支持语法高亮、一键复制、分享导出简直是开发者必备神器✨ 项目概述作为一名跨平台开发者你是不是也经常遇到这些痛点 写过的好用代码片段散落在各个项目里想用的时候找不到 手机上看到好的代码想收藏却没有合适的工具 想找某段代码的时候要翻好几个聊天记录 复制代码还要手动切换应用麻烦得很今天我们就用 Flutter for OpenHarmony 来解决这些问题打造一个专属于开发者的代码片段收藏夹 APP支持 多语言代码语法高亮显示 一键复制到鸿蒙系统剪贴板 一键分享到微信 / QQ 等社交平台 导出代码为本地文件永久保存️ 按编程语言分类管理 核心功能功能模块能力描述用到的技术 语法高亮引擎支持 Dart/Java/Python/JS 等 10 语言彩色代码展示flutter_highlighter 剪贴板集成鸿蒙系统原生剪贴板适配一键复制代码clipboard 分享系统调用系统分享面板支持微信 / QQ 等多渠道share_plus 文件存储鸿蒙文件路径管理导出代码为本地文件path_provider_ohos 库选择理由1. flutter_highlighter 为什么选它✅ 专门为 Flutter 优化的语法高亮库性能超棒✅ 支持超过 100 种编程语言覆盖绝大多数开发场景✅ 内置多种主题配色深色浅色模式都好看✅ OpenHarmony 平台完美适配没有兼容性问题✅ 自定义程度高可以自己调整颜色样式2. clipboard 为什么选它✅ 鸿蒙系统剪贴板原生适配兼容性拉满✅ API 超级简单一行代码就能实现复制粘贴✅ 支持纯文本和富文本代码复制格式不乱✅ 不需要额外权限开箱即用✅ 响应速度快复制成功立即有反馈3. share_plus 为什么选它✅ OpenHarmony 官方推荐的分享插件✅ 支持系统所有已安装的分享渠道✅ 可以分享文本、文件、图片多种格式✅ 不需要自己做渠道适配省心省力✅ 维护活跃问题修复及时4. path_provider_ohos 为什么选它✅ 鸿蒙平台专属的文件路径插件✅ 支持临时目录、文档目录、缓存目录等各种路径✅ 完全符合鸿蒙的文件安全规范✅ API 和 Flutter 官方保持一致学习成本低✅ 不需要申请复杂的存储权限 环境配置首先在你的pubspec\.yaml里添加这四个依赖dependencies:flutter:sdk:flutter# 代码语法高亮flutter_highlighter:^0.1.0# 鸿蒙剪贴板clipboard:^0.1.3# 系统分享share_plus:^7.2.2# 鸿蒙文件路径path_provider_ohos:^2.0.0# 状态管理provider:^6.1.1然后在鸿蒙的config\.json里添加必要的权限module:{reqPermissions:[{name:ohos.permission.WRITE_USER_STORAGE,reason:导出代码文件需要存储权限},{name:ohos.permission.READ_USER_STORAGE,reason:读取导出的代码文件}]}搞定接下来就可以开始写代码啦 分模块详解1. 数据模型设计 首先我们来定义代码片段的数据模型这个很简单classCodeSnippet{finalStringid;finalStringtitle;finalStringcode;finalStringlanguage;finalDateTimecreatedAt;finalString?description;constCodeSnippet({requiredthis.id,requiredthis.title,requiredthis.code,requiredthis.language,requiredthis.createdAt,this.description,});}然后用一个简单的 Provider 来管理状态classSnippetProviderextendsChangeNotifier{finalListCodeSnippet_snippets[];ListCodeSnippetgetsnippets_snippets;voidaddSnippet(CodeSnippetsnippet){_snippets.add(snippet);notifyListeners();}} 小贴士这里我用了 ChangeNotifier 做简单的状态管理项目小的话完全够用啦2. 代码列表首页 首页我们做一个分类展示的列表效果就像这样核心代码很简单用 ListView.builder 就搞定ListView.builder(itemCount:snippets.length,itemBuilder:(context,index){finalsnippetsnippets[index];returnCard(margin:constEdgeInsets.symmetric(horizontal:16,vertical:8),child:ListTile(title:Text(snippet.title),subtitle:Text(snippet.language),leading:_getLanguageIcon(snippet.language),onTap:()_openDetailPage(snippet),),);},)分类标签的切换也很容易String_selectedLanguageall;final_languages[all,Dart,Java,Python,JavaScript];Widget_buildFilterChips(){returnWrap(spacing:8,children:_languages.map((lang){returnFilterChip(label:Text(lang),selected:_selectedLanguagelang,onSelected:(selected){setState(()_selectedLanguagelang);},);}).toList(),);}3. 语法高亮展示 ✨这是整个 APP 的核心功能用 flutter_highlighter 实现超简单importpackage:flutter_highlighter/flutter_highlighter.dart;importpackage:flutter_highlighter/themes/atom-one-dark.dart;Widget_buildCodeHighlight(CodeSnippetsnippet){returnHighlightView(snippet.code,language:snippet.language.toLowerCase(),theme:atomOneDarkTheme,padding:constEdgeInsets.all(16),textStyle:constTextStyle(fontFamily:Monaco,fontSize:14,),);} 划重点内置了好多主题atom-one-dark、github、vs-code 等等随便挑随便选想换主题一行代码的事儿// 浅色主题theme:atomOneLightTheme,// GitHub风格theme:githubTheme,// VS Code风格theme:vs2015Theme,4. 鸿蒙剪贴板复制 看到好代码想复制点一下就搞定importpackage:clipboard/clipboard.dart;void_copyToClipboard(Stringcode)async{awaitFlutterClipboard.copy(code);if(mounted){ScaffoldMessenger.of(context).showSnackBar(constSnackBar(content:Text(✅ 代码已复制到剪贴板)),);}}想从剪贴板粘贴代码新建片段也很简单void_pasteFromClipboard()async{finalcodeawaitFlutterClipboard.paste();if(code.isNotEmptymounted){_codeController.textcode;ScaffoldMessenger.of(context).showSnackBar(constSnackBar(content:Text( 已从剪贴板粘贴代码)),);}} 鸿蒙系统的剪贴板适配得特别好复制完在其他应用里直接就能粘贴格式一点不乱5. 一键分享功能 看到好代码想分享给小伙伴share_plus 来帮你importpackage:share_plus/share_plus.dart;void_shareCode(CodeSnippetsnippet)async{finaltext 【${snippet.title}】 ━━━━━━━━━━━━━━ 语言${snippet.language}━━━━━━━━━━━━━━${snippet.code}━━━━━━━━━━━━━━ 来自Flutter for OpenHarmony 代码收藏夹 ;awaitShare.share(text,subject:snippet.title);} 分享的时候我给代码加了个好看的边框这样发出去逼格满满想分享成文件也可以后面讲文件导出的时候再说6. 新增 / 编辑代码界面 ✏️添加新代码的界面也很清爽Widget_buildCodeInput(){returnTextField(controller:_codeController,maxLines:null,keyboardType:TextInputType.multiline,style:constTextStyle(fontFamily:Monaco,fontSize:14,),decoration:constInputDecoration(hintText:// 在这里粘贴或输入你的代码...,border:OutlineInputBorder(),),);}编程语言选择下拉框DropdownButtonString(value:_selectedLang,items:const[DropdownMenuItem(value:dart,child:Text( Dart)),DropdownMenuItem(value:java,child:Text(☕ Java)),DropdownMenuItem(value:python,child:Text( Python)),DropdownMenuItem(value:javascript,child:Text( JavaScript)),],onChanged:(value)setState(()_selectedLangvalue!),)7. 文件导出功能 最后我们来实现把代码导出成文件的功能用 path_provider_ohosimportpackage:path_provider/path_provider.dart;importdart:io;void_exportToFile(CodeSnippetsnippet)async{// 获取鸿蒙文档目录finaldirawaitgetApplicationDocumentsDirectory();finalext_getFileExtension(snippet.language);finalfileFile(${dir.path}/${snippet.title}.$ext);// 写入文件awaitfile.writeAsString(snippet.code);if(mounted){ScaffoldMessenger.of(context).showSnackBar(SnackBar(content:Text( 文件已保存${file.path})),);}}根据语言自动匹配文件后缀String_getFileExtension(Stringlanguage){switch(language.toLowerCase()){casedart:returndart;casejava:returnjava;casepython:returnpy;casejavascript:returnjs;default:returntxt;}} 完整实现总结项目结构一览lib/ ├── main.dart # 入口文件 ├── models/ │ └── code_snippet.dart # 数据模型 ├── providers/ │ └── snippet_provider.dart # 状态管理 ├── pages/ │ ├── home_page.dart # 首页列表 │ ├── detail_page.dart # 代码详情 │ └── edit_page.dart # 新增编辑 └── widgets/ ├── code_highlight.dart # 语法高亮组件 └── snippet_card.dart # 列表卡片组件核心亮点 ✨ 专业级语法高亮- 支持百种编程语言主题丰富 鸿蒙原生剪贴板- 复制粘贴秒级响应格式无损 全渠道分享- 微信、QQ、钉钉一键直达 安全文件存储- 符合鸿蒙文件规范数据不丢失️ 智能分类管理- 按语言筛选查找更高效 纯 Flutter 实现- 一套代码多端运行运行效果 整个 APP 在 OpenHarmony 设备上运行非常流畅语法高亮渲染速度很快复制分享都是秒级响应文件导出也完全符合鸿蒙的安全规范。作为开发者的随身工具箱这个 APP 真的太实用了 写在最后今天我们一起完成了一个开发者专属的效率工具是不是很有成就感这四个库在 OpenHarmony 上的表现都非常棒大家可以放心用在自己的项目里。代码片段收藏夹这个项目还有很多可以扩展的地方 云端同步功能️ 自定义标签系统 全文搜索 深色模式切换 使用统计感兴趣的小伙伴可以继续完善欢迎到开源鸿蒙跨平台社区交流分享记得收藏本文开发的时候随时可以参考欢迎加入开源鸿蒙跨平台社区https://openharmonycrossplatform.csdn.net

相关文章:

Flutter for OpenHarmony 代码片段收藏夹APP技术文章

Flutter for OpenHarmony 代码片段收藏夹APP技术文章 欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net 🚀 Flutter for OpenHarmony 实战:打造开发者专属代码片段收藏夹 APP 哈喽各位开发者小伙伴们!今…...

从冷餐台到神经拟态厨房:2026大会餐饮背后隐藏的12项IEEE P2851.3标准落地细节,仅限首批注册嘉宾解密

更多请点击: https://intelliparadigm.com 第一章:2026年AI技术大会餐饮安排总览 为保障全球参会者在高强度技术交流中的能量补给与文化体验,2026年AI技术大会(AIC 2026)联合本地智慧餐饮平台「CulinaOS」&#xff0c…...

Vivado HLS高效IP开发与优化实战指南

1. Vivado HLS高效IP开发实战解析在FPGA设计领域,高层次综合(HLS)技术正在彻底改变传统RTL设计流程。作为Xilinx设计套件的核心组件,Vivado HLS允许开发者直接使用C/C等高级语言描述硬件功能,通过自动化转换生成优化的…...

工程师必读:六大情感触发器,破解技术产品市场转化难题

1. 项目概述:当工程师遇上商业,一场关于“情感”的必修课最近有个工程师朋友跟我抱怨,说他团队花了两年心血打磨的产品,技术指标全面领先,结果推向市场后反响平平,远不如隔壁一个技术平平但“会讲故事”的竞…...

2025届必备的六大AI写作神器推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有一款专门针对学术研究者精心打造的智能化写作辅助系统,它就是AI开题报告工具。…...

抖音内容高效采集实战:5个提升工作效率的开源方案

抖音内容高效采集实战:5个提升工作效率的开源方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …...

工程师的幽默密码:从二进制笑话到技术漫画创作指南

1. 项目概述:当硬件工程师拿起画笔作为一名在电子设计领域摸爬滚打了十几年的工程师,我的日常总是被Verilog代码、时序约束、PCB走线和各种数据手册所包围。电路板上的世界是精确而严肃的,电压、电流、时钟周期,一切都必须分毫不差…...

GaN功率器件表征实战:从SOA曲线到动态测试与可靠性评估

1. 项目概述:为什么我们需要重新审视GaN功率器件的表征?如果你最近在设计开关电源、电机驱动或者任何需要高效能量转换的电路,大概率已经听过氮化镓(GaN)这个名字。它不再只是实验室里的未来科技,而是实实在…...

眼动追踪技术:DINOv3与合成数据的优化方案

1. 眼动追踪技术概述与挑战眼动追踪技术通过捕捉和分析人眼的注视点位置,能够精确还原用户的视觉注意力分布。这项技术在多个领域展现出重要价值:在VR/AR设备中实现自然交互,在心理学研究中量化视觉认知过程,在用户体验测试中优化…...

轻量级视频稳定技术:EfficientMotionPro与OnlineSmoother解析

1. 轻量级视频稳定技术概述视频稳定技术是现代计算机视觉领域的重要研究方向,其核心目标是消除因相机抖动导致的画面不稳定现象。传统视频稳定方法通常依赖于复杂的光流计算或3D场景重建,这些方法虽然效果稳定,但计算开销巨大,难以…...

ARM架构TTBR0_EL2与TTBR1_EL1寄存器深度解析

1. ARM架构内存管理基础解析在ARMv8/v9体系结构中,内存管理单元(MMU)通过多级页表机制实现虚拟地址到物理地址的转换。这种设计为现代操作系统提供了灵活的内存管理能力,支持进程隔离、内存保护等关键特性。作为MMU的核心组件&…...

Mermaid Live Editor终极指南:3分钟掌握免费在线图表编辑神器

Mermaid Live Editor终极指南:3分钟掌握免费在线图表编辑神器 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live…...

手把手教你用赫优讯NT151网关,搞定FANUC机器人与西门子S7-1500 PLC的跨协议通讯

工业自动化实战:NT151网关实现FANUC机器人与西门子S7-1500 PLC无缝通讯 在智能制造产线中,FANUC机器人与西门子PLC的协同作业已成为标配。但两者分别采用EtherNet/IP和PROFINET协议,如同说着不同语言的专家难以直接对话。赫优讯NT151网关正是…...

数据流网络中的能耗与吞吐量优化策略

1. 数据流网络中的能量与吞吐量权衡:原理与挑战在现代信号处理系统中,数据流网络(Dataflow Graph, DFG)已成为建模并行计算任务的核心框架。这种计算模型将应用程序分解为多个计算节点(称为actors)和通信通…...

iPhone卡logo恢复数据

“iPhone卡在苹果Logo界面”,这可能是许多苹果用户手机遭遇的“噩梦”。屏幕亮起,一枚静止的苹果Logo下,是无尽的等待与无法响应的绝望。面对这种系统级故障,很多人第一时间想到的是“刷机”或“返厂”,试图修复设备。…...

AI不是功能叠加,而是范式重铸:揭秘奇点大会首次披露的“AI原生产品熵减评估矩阵”及4类高危反模式

更多请点击: https://intelliparadigm.com 第一章:AI不是功能叠加,而是范式重铸:从工具思维到原生心智的跃迁 当开发者仍在用“给CMS加个AI摘要按钮”的方式理解大模型时,真正的变革早已发生在架构底层——AI正从可插…...

基于星座匹配的眼动追踪角膜反射检测技术解析

1. 项目概述:基于星座匹配的角膜反射检测框架在眼动追踪技术领域,瞳孔-角膜反射(P-CR)方法一直是最可靠的解决方案之一。这种方法的核心在于准确检测和匹配角膜反射点(glints)——即红外LED在角膜表面形成的…...

别再傻傻用余弦相似度了!手把手教你用ResNet50+LSHash搞定海量图片秒级检索(附完整Python代码)

别再傻傻用余弦相似度了!手把手教你用ResNet50LSHash搞定海量图片秒级检索 当你的图片库从几千张膨胀到几百万张时,用传统余弦相似度做图像检索就像在高速公路上骑自行车——明明有更快的交通工具,你却还在用最原始的方法。最近帮一家电商平台…...

一文讲透 ReAct:推理与行动交替的智能体范式

一文讲透 ReAct:推理与行动交替的智能体范式 一、引言 钩子 你有没有过这样的经历:问GPT-4「2024年欧洲杯冠军是谁?」,它只会抱歉地说「我的知识截止到2023年10月,无法提供实时信息」;你让它算「华为Mate60 Pro发布时间比iPhone15早多少天?」,它要么给出错误的日期,…...

ThunderAI:用大语言模型插件打造智能邮件工作流

1. 项目概述:当AI助手遇见邮件客户端 如果你和我一样,每天要在Thunderbird里处理几十甚至上百封邮件,那你肯定也经历过那种“邮件疲劳”——写回复时词穷、面对长篇大论需要快速提炼要点、或者想给邮件分个类却懒得手动打标签。传统的邮件客…...

OpenAI Cookbook中文版:AI应用开发实战指南与工程化实践

1. 项目概述:一份面向中文开发者的AI应用开发“菜谱”最近在GitHub上看到一个挺有意思的项目,叫yunwei37/openai-cookbook-zh-cn。简单来说,这就是OpenAI官方那个大名鼎鼎的openai-cookbook仓库的中文翻译版。但如果你觉得它仅仅是个翻译&…...

KMS_VL_ALL_AIO:基于微软官方协议的系统激活工具技术解析

KMS_VL_ALL_AIO:基于微软官方协议的系统激活工具技术解析 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO KMS_VL_ALL_AIO是一款基于微软KMS(密钥管理服务)协议…...

Visual Studio AI助手深度集成:提升.NET开发效率的实战指南

1. 项目概述:当AI助手住进你的IDE 如果你是一名.NET开发者,每天大部分时间都在Visual Studio里度过,那你一定经历过这样的时刻:盯着一段复杂的业务逻辑,思考如何重构;或者为一个方法编写单元测试&#xff…...

认知神经科学研究报告【20260045】

文章目录ForeSight 5.87.5 自动设计8位CPU架构MiniCPU-8 架构自动涌现 — 测试报告结果ForeSight 5.87.5 自动设计8位CPU架构 MiniCPU-8 架构自动涌现 — 测试报告 测试目标:验证系统能否从零开始,自主发现并实现一个能正确执行斐波那契数列计算的8位C…...

Python自动化构建个人抖音技能库:合规爬虫与内容管理实践

1. 项目概述:从零到一构建个人抖音自动化技能库 最近在折腾一个挺有意思的小项目,我给它起了个名字叫“my-copaw-skill”。这名字听着有点怪,其实“copaw”是我家猫的名字,整个项目说白了,就是把我日常刷抖音、研究抖音…...

基于MCP协议构建AI Agent链上数据查询与操作工具实践

1. 项目概述:一个连接加密世界与AI的“翻译官”如果你最近在捣鼓AI Agent,特别是想让它帮你分析链上数据、查询钱包余额,甚至执行一些基础的区块链操作,那你可能已经发现了一个痛点:让AI直接理解并操作区块链&#xff…...

灵魂面甲修改器 2026最新版42项功能

下载地址:https://pan.quark.cn/s/81c8f13901b3 毒盘 支持最新版本,风灵月影42项功能拉满,支持最新版本,Steam/EPIC/学习版全适配! 【5月9日的最新版本不会闪退!全网最新版本!】 ✅ 非软件丨无…...

Conforme配置管理范式:类型安全与约定优先的实践指南

1. 项目概述:Conforme,一个被低估的配置管理范式在软件开发和系统运维的日常里,我们总在和“配置”打交道。数据库连接字符串、API密钥、功能开关、环境变量……这些看似零散的信息,却像乐谱上的音符,共同决定了应用如…...

【AI原生版本控制终极指南】:2026奇点大会Git for AI官方认证实践白皮书首次解禁

更多请点击: https://intelliparadigm.com 第一章:AI原生版本控制:2026奇点智能技术大会Git for AI最佳实践 在2026奇点智能技术大会上,Git for AI正式成为AI工程化基础设施的核心组件。它不再仅追踪文本变更,而是原生…...

AI技能自进化系统:异步复盘与残差学习架构实践

1. 项目概述:一个让AI助手学会自我进化的“技能大脑”如果你也玩过各种AI助手,比如Claude、GPTs或者国内的一些大模型应用,你肯定遇到过这样的场景:你教了它一个处理Excel表格的“技能”,比如“把A列数据乘以1.1然后填…...