本文讲述如何开发一个 Flutter 鸿蒙插件,如何实现 Flutter 与鸿蒙的混合开发,以及双端消息通信。 flutterEngine) this.addPlugin(new ForestPlugin()); }}export {dataPreferences};该文件使的原生页面在加载时,配置 Flutter 引擎,注册插件 setMethodCallHandler(null); } getUniqueClassName(): string { return "ForestPlugin"; }以上代码实现了一个插件类 `Succeeded in deleting the key ${key}.`); }) }}注意事项1.双端初始化methodChannel中的名称必须保持一致,如 xxx.com/app.2. 参考资料撰写双端平台代码(插件编写实现)用户首选项API
前言插件已适配 DevEco Studio 5.0.5 Release 一年前,开发了一个json转对象的插件,如果不是今日用到,真的差点就把它给遗忘了,在用的时候,却发现,插件的版本已不兼容当前的 首先,我重新编译了插件,进行了上传,大家可以下载最新的安装包进行体验了,还是和以前一样,提供了在线版和IDE插件版,两个选择,最新的版本,除了升级了版本,兼容了最新的DevEco Studio ,还做了一层优化 ,或者在网页版中,点击右侧的下载插件按钮,到插件安装页面进行下载,这个页面除了插件下载之外,还有插件安装的步骤,大家可以按照指示,一步一步安装即可。 相关总结有的老铁说,这个插件为啥不上传到jetbrains插件市场,直接在IDE中搜索下载多好,这里需要说明的是目前DevEco Studio有自己的白名单控制,也就是,jetbrains插件市场中插件 本文标签:鸿蒙开发工具/DevEco Studio
前言本项目API>=13关于鸿蒙项目的组件化运行,已经分享了两种方式了,分别是IDE插件方式和node脚本方式,今天给大家带来第三种方式,Hvigor插件方式;和前两种方式不同的是,它的使用更加简单,不需要我们手动的去切换就能实现组件运行 hvigor插件依赖目前插件已经发布npm平台,版本号为1.1.8,大家可以按照如下方式进行依赖插件,在hvigor目录下的hvigor-config.json5中,找到dependencies,在里面追加 ,我们的插件就依赖完成了。 相关总结目前第一次运行的时候,会在根项目下生成一个harmonyComponent.json5文件,这个文件的主要目的,用于控制插件是否执行,默认为true,每次运行都会执行插件,false不执行插件内容 本文标签:鸿蒙开发工具/DevEco Studio
我们先做一个简单的工具栏的控件,了解一下eclipse的插件开发流程! 1 新建一个插件工程 ? 2 创建自己的插件名字,这个名字最好特殊一点,一遍融合到eclipse的时候,不会发生冲突。 1 导入了插件所需要用到的jar包 2 导入了插件依赖的库 3 源文件 4 插件按钮图片 5 插件的配置信息 MANIFEST.MF 插件的捆绑信息 Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: 我的插件 Bundle-SymbolicName: com.test.myplugin; singleton:=true 提供的插件类Activator.java 1 package com.test.myplugin; 2 3 import org.eclipse.jface.resource.ImageDescriptor 最后让我们运行一下这个插件吧! ? 启动方式1 直接在overview界面点击; 启动方式2 也可以点击运行或者DEBUG按钮,运行方式选择Eclipse Application。
前言本文API>=13,基于DevEco Studio 5.1.0 Release,版本号5.1.0.828之前在《hvigor插件实现组件化运行》一文中,我们生成了一个文件,主要用于模块运行包和共享包之间切换的控制 当然了,还有很多的应用场景,比如,在构建前,针对代码规范进行检查,如果有不符合规范的地方,输出到一个错误文件中,或者,需要针对项目中的代码进行动态修改等等场景,hvigor插件开发中如何去实现呢? 这就是这篇文章要概述的内容,hvigor插件中的文件操作。 { console.log("File exists"); } else { console.log("File doesn't exist"); }2、 本文标签:鸿蒙开发工具/DevEco Studio
前言本文API>=13,基于DevEco Studio 5.1.0 Release,版本号5.1.0.828上篇文章,我们针对鸿蒙开发中的模块,实现了单一模块运行,使用的是hvigor插件的形式,通过hvigor 插件,我们可以看到,它自动化执行了某些特定的任务,减少了我们的手动干预,确保了构建过程的一致可靠性,可以说,在实际的开发中,极大的提高了我们的开发效率,今天,我们这篇文章,就一起实现一个hvigor插件 '); } }}插件完成之后,然后在创建index.ts文件,并在该文件中声明插件方法的导出,如下代码export { myPlugin } from '. npm publish第四步:插件使用插件使用就很简单了,上篇文章中已经有过概述,大家可以查看上篇文章即可。 本文标签:鸿蒙开发工具/DevEco Studio
,接下来的几篇文章,我们会重点去了解一下,hvigor插件中的那些API用法,以便于实际的插件开发。 还记得上篇文章中,我们的插件开发是在哪里编写代码的吗? 方法来获取,代码如下:2、获取当前节点名称节点名称,可以通过getNodeName()方法来获取,直接获取的就是当前项目的名字。 ,极大的提高了我们编写插件的效率。 本文标签:鸿蒙开发工具/DevEco Studio
DevEco Studio插件来辅助我们快速的切换。 前两种形式,之前的文章分享过,关于重构后的使用方式,我们放到之后的文章中概述,本篇文章,我们重点概述一下利用DevEco Studio插件,来快速的实现组件化运行。 插件使用目前插件包已经上传到了github,大家可以按需下载,地址如下:https://abnerming888.github.io/vip/load/HarmonyComponent-sign-1.0 .jar记得之前在json转对象一文中,有过简要说明,就是目前的DevEco Studio有自己的白名单控制,jetbrains插件市场中插件,在DevEco Studio是无法被搜索到的,所以,这里只能提供本地的安装方式 如果插件,您在使用的时候遇到了问题,可第一时间联系我,我一定及时的去解决。本文标签:鸿蒙开发工具/DevEco Studio
因为上述原因,所以我们现在急需的是一个proto插件,可以帮助我们把一个proto文件直接转化成kotlin的。当然我们第一目标是最好能在kotlin官方找到这样一个能力,直接支持。 ) val newSample = ProtoBuf.Default.decodeFromByteArray<Sample>(encode) 只要引入kotlinx-serialization插件之后 pbandk pbandk 仓库地址 这个库通过protobuf-java编写了一个proto插件。 由于上述的种种原因,我们还是打算自己写一套protoc插件。 = null, @ProtoNumber(2) private val strVal: String?
已经有几个插件可以对网络数据进行节点排名,比如NetworkAnalyzer和CentiScaPe,他们可以计算有向或无向网络的拓扑参数。 这些插件比其他常用的插件提供了更多的中心性测定指标,但是一些其他重要的特性和最近发展的方法他们并未包括进去。不同的方法聚焦不同的拓扑特点或者,相似的特征有着不同的计分策略。 为了让生物工作者对网络特点的利用更加辩解,我们编写了cytoHubba插件以执行我们最新发展的算法和几个流行的算法。
首先创建插件,取名xm-hm ,选择uts api插件 然后去插件目录开始编写 修改package.json 文件 增加api扩展配置 找到uni_modules增加api扩展,示例如下: "uni_modules :"outApp", } } } 然后修改interface.uts 文件 增加如下代码 /** * interface.uts * uts插件接口定义文件 fieldC : string } /** * 错误码 * 根据uni错误码规范要求,建议错误码以90开头,以下是错误码示例: * - 9010001 错误信息1 * - 9010002 错误信息2 * } * } * } * @uniVueVersion 3 //支持的vue版本 * */ outApp(): void, } 接着创建鸿蒙插件和功能文件 ) as common.UIAbilityContext; context.terminateSelf(); console.log('out_app') } 至此,退出app的uts鸿蒙端插件已经写好了
前言: 最近看了一下鸿蒙的网络请求部分的内容(这部分主要还是按照鸿蒙开发文档里面提到 java ui,js ui的网络请求请大家查看官方的文档即可)那么废话不多说我们正式开始。 准备工作: 1 安装鸿蒙开发环境 大家可以看我之前的文章 华为鸿蒙系统开发初体验 :ihttps://www.jianshu.com/p/f94c847c7fdc 具体实现 鸿蒙系统网络访问基础配置 { "reason": "", "name": "ohos.permission.INTERNET" } ] image.png 2 } }); } 以上呢就是我给大家提供的几种鸿蒙开发中网络请求的方式 当然也还有其他的基于纯java语言封装的网络请求的库 理论上在鸿蒙上面都是可以使用的 有兴趣同学可以私下多了解 最后总结: 由于鸿蒙开发里面java ui部分使用的是java做基础语言 所以使得 我们java里面提供的网络请求的api到可以很好直接在鸿蒙上面使用 以及包括出名的okhttp okhttputils
css"> table { border:0;border-collapse:collapse;} td { font:normal 12px/17px Arial;padding:2px /scripts/jquery.js" type="text/javascript"></script> <script type="text/javascript"> //插件编写 ;(function } }); })(jQuery); //插件应用 $(function(){ $("#table2") .alterBgColor() //应用插件
改版的原因: 图片 相当蛋疼 下面是 基于现有插件 需要做的一些改变的清单 1.background 替换成service worker: 需要注意的是:不使用时终止,需要时重新启动(类似于事件页面 (service worker独立于页面,无法使用window对象) 2.v3 废弃了一些方法: chrome.extension.sendRequest() chrome.extension.onRequest username: 'demo-user' }; chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { // 2. 这个暂时还没想到比较好的解决方法,后续会更新 问题描述:https://blog.csdn.net/qq_35606400/article/details/114986532 尝试解决方案1: //Manifest v2 content_security_policy": { "extension_pages": "script-src 'self' 'unsafe-eval'; object-src 'self'", } 添加unsafe-eval标实,但是插件会给我们抛错
API 文档 插件导出一个名为 calendar 的对象,包含以下主要方法: solar2lunar(year: number, month: number, day: number): LunarDateInfo 参数:同 solar2lunar 返回值:节日名称字符串,若无则为空字符串。 参数:同 lunar2solar (无需 isLeapMonth) 返回值:节日名称字符串,若无则为空字符串。 使用案例 以下是如何在您的 uni-app x 项目中使用 nutpi-calendar 插件: 引入插件 在您的 .uvue 或 .uts 文件中引入插件: import calendar from nutpi-utils:支持鸿蒙的拨打电话,发短信、退出应用、电量获取等功能。插件地址:https://ext.dcloud.net.cn/plugin?
使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件 #鸿蒙开发工具 #DevEco Studio1. 概述DevEco Studio 是华为提供的一站式集成开发环境(IDE),专为鸿蒙操作系统(HarmonyOS Next)应用和服务开发设计 DevEco Studio,掌握基本操作和开发流程。2. Start a new HarmonyOS project选择应用模板(如 Empty Ability、Native C++ 等)3.2 项目结构创建完成后,DevEco Studio 会生成标准的鸿蒙应用项目结构 Device Manager 图标在弹出窗口中点击 New Emulator选择设备类型和系统版本,点击 Next 完成创建点击工具栏中的运行按钮,选择模拟器启动应用5.2 真机调试用 USB 线将鸿蒙设备连接到电脑在设备上多次点击版本号开启 中文插件切换中文版不是选择语言,而是需要下载插件点击File > Settings > Plugins搜索Chinese(Simplified)下载并应用重启 DevEcoStudio9.
然后执行命令: git clone https://e.coding.net/weidongshan/openharmony/doc_and_source_for_openharmony.git 2.
前言 在鸿蒙版 Flutter 开发过程中,我们曾面临两大挑战:一是配置文件的频繁修改易导致提交冲突,二是插件开发时缺乏代码提示。 2. 2. '; export default { system: harTasks, plugins: [] } 2. 总结 本次鸿蒙版 Flutter 优化 ohos 构建过程,通过引入 Hvigor 插件实现了动态配置更新,有效避免了配置文件频繁修改引发的提交冲突。
前言 nutpi-idcard 是一个基于 UTS (uni-app TypeScript Syntax) 开发的 uni-app 插件适配鸿蒙,主要用于解析身份证号码,提取其中的关键信息,如地区、出生日期 dcloudext: DCloud 扩展配置,如插件类型 (uts)、销售信息等。 uni_modules: uni-app 模块配置,如依赖、加密、平台支持等。 2. 作者与联系方式 作者:坚果派 公众号:nutpi 官网:https://www.nutpi.net/[1] 代码仓库:https://gitcode.com/nutpi/uni-idcard[2] 希望这个插件能对您有所帮助 自研应用 40 款,三方库 80 个,鸿蒙原生应用课程 500+。持续助力鸿蒙仓颉等生态繁荣发展。 参考资料 [1] https://www.nutpi.net/: https://www.nutpi.net/ [2] https://gitcode.com/nutpi/uni-idcard: https
for(int i = 1; i <= count; i++){ drawScaleText(canvas, paint, center, radius, Math.PI * 2 canvas.drawText(paint, text, center.getPointX() + (float)(radius * sin) - width / 2, width = paint.measureText(now); //计算字符串显示宽度 canvas.drawText(paint, now, x - width / 2 getHeight(); float size = Math.min(width, height); float x_padding = (width - size) / 2; float y_padding = (height - size) / 2; return new RectFloat(x_padding, y_padding, width