-
鸿蒙版cordova/PhoneGap介绍鸿蒙版cordova或PhoneGap,这里统称为鸿蒙版Cordova,遵守cordova官方,不再使用鸿蒙版PhoneGap了。 cordova移动端跨平台研发的重要框架之一,支持Android和Ios,官方并不支持鸿蒙系统,harmony-cordova是鸿蒙的cordova,这里主要介绍鸿蒙版corddova,安卓和Ios请查看cordova官方文档,cordova除了cordova sdk外,还有很多的插件,开发者根据自己的APP的需要可以选择使用相关的插件,鸿蒙版cordova sdk地址鸿蒙版cordova已经上架鸿蒙三方库中心,开发者可以直接在DevEco studio中直接使用。cordova sdk 三方库地址:https://ohpm.openharmony.cn/#/cn/detail/harmony-cordova鸿蒙版cordova支持的插件插件ID接口地址说明cordova-plugin-whitelistcid:link_12白名单cordova-plugin-network-informationcid:link_0网络管理cordova-plugin-inappbrowsercid:link_8内置浏览器cordova-sqlite-storagecid:link_11嵌入式数据库cordova-plugin-cameracid:link_14相机功能cordova-plugin-filecid:link_15本地文件管理cordova-plugin-file-transfercid:link_5上传和下载文件cordova-plugin-dialogscid:link_13弹窗cordova-plugin-datepickercid:link_1日期选择phonegap-plugin-barcodescannercid:link_3扫码cordova-plugin-media-capturecid:link_6视频录制cordova-plugin-alipay-v2调用接口:cid:link_9依赖插件:https://ohpm.openharmony.cn/#/cn/detail/@cashier_alipay%2Fcashiersdk自定义支付宝支付插件,只是按照文档接口调用了支付宝插件依赖支付宝官方插件aliyun.uploadvod暂无文档,需联系开发者阿里云OSS插件,实现移动端直接上传文件到阿里云OSScordova-plugin-android-permissionscid:link_2授权插件,接口永远返回为拥有权限,主要为兼容android移植到harmony使用的,避免修改Android端的代码,harmong授权已下放到各个插件,无需单独编写代码phonegap-bluetooth-plugincid:link_10经典蓝牙插件cordova-plugin-ble-centralcid:link_10低功耗蓝牙插件cordova-base64-to-gallerycid:link_7保存图片到相册cordova-plugin-huawei-pushcid:link_4华为推送,自定义插件,详细使用请咨询开发者Android移植鸿蒙步骤1,打开DevEco创建项目,选择Empty Ability进入下一步,填写必要信息,这里要注意,bundle name 先填写com.example.myapplication,也就是保持默认不变,因为在没有cordova.crt证书的情况下,cordova鸿蒙版要求bundle name必须为com.example.myapplication,主要用于研发测试,如果开发测试完成要修改bundle name上架鸿蒙应用市场,请联系开发者申请cordova.ert证书,或者事先联系开发者提供技术服务。2,项目创建成功后,复制原有Android studio的工程assests/www目录下面的所有文件到鸿蒙工程entry/src/main/resources/目录下,注意直接复制原andriod工程www目录下的文件,不包含www。3,复制原android工程res/xml目录下的config.xml文件到鸿蒙工程entry/src/main/resources/目录下。4,打开DevEco studio的Terminal终端,进入工程目录,执行 ohpm install harmony-cordova 安装本插件。5,打开鸿蒙工程文件entry/src/main/etx/pages/Index.ets文件,修改代码如下:import { MainPage, pageBackPress, pageHideEvent, pageShowEvent } from 'harmony-cordova/Index'; @Entry @Component struct Index { onPageShow(){ pageShowEvent(); //页面显示通知cordova } onBackPress() { pageBackPress(); //拦截返回键由cordova处理 return true; } onPageHide() { pageHideEvent(); //页面隐藏通知cordova } build() { RelativeContainer() { MainPage(); //webview首页index.html } .height('100%') .width('100%') } }6,打开鸿蒙工程文件/entry/src/main/ets/entryAbility/EntryAbility.ets文件,修改onCreate函数如下import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; import { window } from '@kit.ArkUI'; import { webview } from '@kit.ArkWeb'; import { setSchemeHandler } from 'harmony-cordova/Index';...onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {webview.WebviewController.initializeWebEngine();//webview引擎初始化setSchemeHandler();//设置webview schemehilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');}7,鸿蒙混合研发,也许您会增加其他page页面,不一定应用的首页为cordova webview(index.html)的首页,例如应用增加了鸿蒙的原生的启动页面,包含首页弹窗,同意隐私政策后,然后再从启动页面进入cordova的页面,这样避免在用户没有同意隐私政策的情况下,初始化cordova sdk,因为初始化cordova sdk,系统读取了设备的网络状态,因为国内相关法律规定,在用户没有同意隐私政策的情况下,不允许读取设备的网络标识。8,做以上代码修改后,鸿蒙的移植已经完毕,可以使用模拟器或者真机进行编译和测试了。Ios移植鸿蒙步骤如果您的项目有android和Ios的工程,请参考android项目移植项目的鸿蒙下,如果您的项目没有andriod工程,只有Ios工程,请使用如下方法移植,移植时大部分内容和安卓一样,只是复制的文件的路径不一致,以下只介绍不同部分,相同部分请参考android移植步骤。1,复制Xcode的Ios工程目录下的Staging/www目录下的所有文件到鸿蒙工程entry/src/main/resources/目录下。 2,Xcode工程的config.xml文件在Staging目录下,Xcode工程的该文件不能直接被鸿蒙版cordova使用,需要进行转换,该文件主要记录的是插件的名称和初始化的类,因为鸿蒙版是根据android的config.xml进行插件初始化的,因此需要将Xcode工程config.xml转为安卓的config.xml,请将Xcode工程使用node加入安卓平台,系统会自动生成android版的config.xml。然后将文件复制到鸿蒙版工程的entry/src/main/resources/下。附加说明:本人认为使用cordoca跨平台研发,一般至少都会包含android和ios两大平台,很少只有ios平台,没有android平台的,所以大部分移植鸿蒙参考android移植步骤,后续升级SDK会兼容Ios工程的config.xml,无需转换就可以使用。新项目,一次开发适用于andriod、Ios和Harmony三大平台由于cordova官方当前并不支持HarmonyOS平台,使用node无法直接将HarmonyOS加入到cordova,也无法直接安装插件到HarmonyOS,因此对于新项目要一次开发满足三大平台的话,建议先通过node加入Android和Ios平台和安装插件,后续研发可以使用Android studio研发和调试,待研发成功后,然后再在Xcode和DevEco做跨平台适配。Xcode适配请参考cordova的官方文档,HarmonyOS适配请参考以上Android的移植步骤。特别说明当前版本不支持使用者自定义插件研发,如果该版本没有包含您要使用的插件,或者您的项目中有Android或Ios的自定义插件,需要移植到HarmonyOS平台,请您和本开发者联系,获取技术支持。使用鸿蒙版cordova sdk在开发测试阶段务必将bundle name修改为com.example.myapplication,如果将bunlde name改为正式的Id,鸿蒙版cordova sdk会读取entry/src/main/resources/目录的cordova.crt证书文件,用于验签,如果该文件不存在,启动应用后,应用会闪退。如果应用的bundle name为com.example.myapplication,鸿蒙版 cordova sdk会跳过验签,不检测cordova.crt文件。但是上架鸿蒙应用市场,必须将bundle name改为正式的id,所以请联系开发者申请cordova.ert证书,另外由于操作系统之间的差异,虽然保持了cordova的插件接口不变,但是返回值会有所调整,后续文档会逐步完善,在使用本插件跨平台研发时请联系开发者提供技术服务。
-
鸿蒙大屏上,如何获取wifi的mac地址或者有线网络的mac地址
-
数据上传到iot平台,怎么根据这些数据制作APP啊
-
做物联网的APP,使用的是uniapp,在Hbuilder和浏览器运行都可以正常获取token并且获取数据,但一到真机运行就无法获取token(设置了代理也不行),求助各位大佬Hbuilder直接运行:浏览器运行:真机运行:求助各位大佬!!!谢谢!!!
-
鸿蒙4.0版本,stage模型应用,如何保存图片到手机相册,不使用@ohos.file.picker
-
-
我想咨询一下老师,AICC 22.200.0 用户侧文本 (CCUCS) 接入指南中,下图中APP Server是什么服务?
-
项目名称】:人民xxx出版社有限公司上云迁移项目【交付地点】:北京【客户需求】:本项目主要任务将在腾讯云上的项目迁移至华为云,涉及Nginx、小程序Web服务、license服务、rabbitmq服务、logstash日志服务的迁移。ECS 10台、MariaDB数据库2台,ES日志服务3节点、redis 集群1个,MongoDB数据库3节点, 数据库迁移数据量约 213GB,对象文件约323G。【迁移要求】:1、迁移方式:可停机迁移,迁移过程中不影响原服务对外提供业务,业务割接时,保证数据不丢失。2、迁移时间:在两周内完成迁移任务,时间比较紧迫。【进展情况】:分类关键任务描述计划完成时间实际完成时间业务调研调研客户业务架构图和网络架构图7月18日7月18日迁移方案设计迁移实施方案输出7月19日7月19日资源发放&业务部署在华为端下发ECS/CCE/MariaDB/DDS/Redis/CSS/OBS/WAF/ELB7月20日7月20日压力&性能测试使用华为云CPTS工具对小程序,web服务,PC端管理后台,中间件服务等系统做压力性能测试7月21日7月21日MariaDB迁移使用MySql Dump把源端的数据下载到本地,再通过专线渠道迁移到华为侧的MariaDB集群7月24日5月24日业务验证MariaDB,OBS,DDS数据一致性对比,并也业务系统联调测试7月26日7月26日割接演练小程序,web服务,PC端管理后台,中间件服务等业务系统割接演练7月28日7月28日业务割接健康知识进万家业务系统正式割接,停止源端业务,数据做最后一次增量同步,并做数据一致性校验,将业务流量切至华为云7月29日7月29日运行保障在CES中添加ECS、ELB、Redis,MariaDB等云服务监控,并做巡检8月11日/【过程问题】:问题描述解决方法提单人责任人提单时间解决时间华为云ECS绑定弹性EIP后,使用VPN连接后内网不通;VPC是加载到一个云连接里面的,指向云连接的路由是0.0.0.0/0,EIP的路由优先级比0.0.0.0/0的路由优先级更高,因此回包走EIP出去了,所以不通。在主账号云连接实例的VPC配置的CIDR里面增加云下的VPN网段客户我方7月20日7月21日华为云主子账户切换关联问题取消后重新关联客户我方7月21日7月21日Codearts创建项目时权限不足问题在主账号的租户设置>需求管理 > 设置项目创建者,设置相应的权限客户我方7月21日7月21日短信服务签名选择涉及第三方权益时,无法提供授权书在申请签名时涉及第三方权限选择否,上传营业执照客户我方7月21日7月21日MariaDB的percona5.7版本与MySQL5.7兼容性的问题后端核实是兼容的客户我方7月24日7月24日使用OMS迁移OBS数据时迁移失败GET_SRC_OBJ_me ta_FAILURE获取源端对象元数据失败,因为法律原因无法使用,被封禁图片,不进行迁移客户我方7月24日7月24日Codearts的pipeline流水线不支持openeuler的系统更换成Euleros系统客户我方7月25日7月25日迁移任务暂停后,目标实例只读状态结束迁移任务,结束任务后才能恢复成读写状态客户我方7月25日7月25日redis集群模式是否有代理服务推荐华为云GaussDB(for Redis)客户我方7月25日7月25日Redis修改multi-db参数时报错,需要清空数据才能修改,控制台执行清空后,还是有报错信息尝试用命令flushall进行清空,重启后可以正常修改客户我方7月26日7月26日RDS的备份恢复时只能选择恢复到新实例,不能恢复到本实例由于是本地SSD的原因,恢复到新实例后再进行数据同步到原实例客户我方7月28日7月28日
-
当前简单实现:将摄像头数据yuv数据流使用FFMPEG编码之后存储到SD卡中;下一步工作:1. 需要使用文件系统对视频进行存储,删除2. 以及检测到人或者移动的物品,需要进行视频单独录制和图像抓拍问题:1. 没有做过文件系统,不清楚这一部分怎么操作,找资料都分辨不来是否有用2. 针对于图片抓拍和视频录制不清楚,在FFMPEG对视频流进行编码的过程中,采用什么方式再对视频流进行取图和取视频补充:还需要实现人机交互,需要开发相对应应用,,,,,,,,求指点!!!!!!
-
将自己开发的应用透过HTTP API设置为霸屏应用后,霸屏应用可以用来做啥功能?我这边现在有一个需求需要在特定场景下打开我的APP(已通过接口设置为霸屏APP),现在这个霸屏APP可以透过 HTTP API在主动调起吗?
-
我个人近期遇到了一个问题,正如标题所说“关于Win11系统PC连上WiFi后能正常使用各大App,但浏览器无法正常上网访问”,这个bug困扰过不少开发者,今天来简单分享一下解决办法小伙伴们可能也遇到过类似的情况,就是电脑明明连上wifi了,并且wifi正常可用、显示有Internet,可以使用QQ、WX等App,但是打开浏览器还是无法正常访问网址,这类问题也同样困扰我很久了,在多番询问身边的大佬、资深同行后才找到了解决办法。出现这类问题的原因就是自身PC的网络代理被恶意篡改了,我们首先需要鼠标右击wifi图标,进入网络和Internet设置。接着下滑找到代理,然后进入代理。进入后大家可以看到自动检测、脚本设置、手动代理,目前我的这三个都已经被恶意篡改了,大家如果有类似问题那说明至少有一个设置被恶意篡改了,我们就需要把它手动调整回来。第一步我们先把自动检测关闭;第二步我们把脚本设置关闭并保存;第三步我们把手动代理关闭并保存;全部关闭之后应该像上图这样。然后不出意外情况的话我们就可以正常上网啦,今天就暂时分享到这里,谢谢大家~
-
Hello, Thank you for submitting your app for...你好,感谢您提交您的应用进行审核。我们需要额外的时间来评估您的提交和苹果开发者计划帐户。在我们调查期间,您的提交状态将在App Store Connect中显示为“已拒绝”。但是,我们现在不需要您提供修改后的二进制文件或其他信息。如果我们注意到任何需要您注意的问题,我们会通过App Store Connect通知您。如果我们发现您的提交或帐户没有问题,提交将被批准。如果您在收到此消息后的7个工作日内没有收到我们的回复,并且想要查询我们的审核状态,您可以通过Apple开发者联系我们页面提交请求。最诚挚的问候,应用商店评论
推荐直播
-
TinyEngine低代码引擎系列.第1讲——低代码浪潮之下,带你走进TinyEngine
2024/11/11 周一 16:00-18:00
李老师 高级前端开发工程师
低代码浪潮之下,带你走进TinyEngine。李旭宏老师将从低代码的发展趋势、TinyEngine的项目介绍,三方物料组件的使用、跨技术栈的使用、源码生成能力的差异性对比等多个方面带大家对TinyEngine低代码引擎有一个更清晰的认知和了解。
即将直播 -
0代码智能构建AI Agent——华为云AI原生应用引擎的架构与实践
2024/11/13 周三 16:30-18:00
苏秦 华为云aPaaS DTSE技术布道师
大模型及生成式AI对应用和软件产业带来了哪些影响?从企业场景及应用开发视角,面向AI原生应用需要什么样的工具及平台能力?企业要如何选好、用好、管好大模型,使能AI原生应用快速创新?本期直播,华为云aPaaS DTSE技术布道师苏秦将基于华为云自身实践出发,深入浅出地介绍华为云AI原生应用引擎,通过分钟级智能生成Agent应用的方式帮助企业完成从传统应用到智能应用的竞争力转型,使能千行万业智能应用创新。
去报名
热门标签