首页 文章 精选 留言 我的

精选列表

搜索[HarmonyOS],共1235篇文章
优秀的个人博客,低调大师

HarmonyOS开发者创新大赛 《蘑菇实验室》案例——服务卡片(JS)开发步骤总结

一、服务卡片(JS)开发代码步骤 二、服务卡片(JS)页面展示 三、服务卡片(JS)开发步骤核心代码 新建项目:使用hml+css+json开发JS卡片页面,使用DevEco Studio创建卡片工程。详情参考官方文档。 配置config.json 服务卡片JS相关资源配置 "js": [{ "pages": [ "pages/index/index" ], "name": "seedlingWidget", "window": { "designWidth": 720, "autoDesignWidth": true }, "type": "form" } ] 服务卡片编辑功能配置,“abilities”配置forms模块 { "skills": [ { "entities": [ "entity.system.home" ], "actions": [ "action.system.home" ] } ], "visible": true, "name": "com.future.myapplication.MainAbility", "icon": "$media:icon", "description": "$string:mainability_description", "orientation": "portrait", "formsEnabled": true, "label": "$string:entry_MainAbility", "type": "page", "forms": [ { "jsComponentName": "seedlingWidget", "isDefault": true, "scheduledUpdateTime": "10:30", "defaultDimension": "2*2", "name": "seedlingWidget", "description": "This is a service widget", "colorMode": "auto", "formConfigAbility": "ability://TypeAbility", "type": "JS", "supportDimensions": [ "2*2", "2*4" ], "updateEnabled": true, "updateDuration": 1 } ], "launchType": "standard" }, 说明: 【forms】标签:表示服务卡片的属性。该标签仅当【formsEnabled】为“true”时,才能生效。 【formConfigAbility】标签:表示卡片的配置跳转链接。 【supportDimensions】标签:表示卡片支持的外观规格。本案例支持两种规格。 serviceAbility后台运行权限配置 { "reason": "", "usedScene": { "ability": [ "com.future.myapplication..ServiceAbility" ], "when": "always" }, "name": "ohos.permission.KEEP_BACKGROUND_RUNNING" } 服务卡片JS端核心代码 卡片布局开发 卡片路由开发 服务卡片Java端核心代码 onCreateForm(创建卡片) ServiceAbility(定时服务) MainAbility的onStart方法中调用拉起ServiceAbility的方法。 private void startServiceAbility() { Intent intent = new Intent(); Operation operation = new Intent.OperationBuilder() .withDeviceId("") .withBundleName(getBundleName()) .withAbilityName(ServiceAbility.class.getName()) .build(); intent.setOperation(operation); startAbility(intent); } ServiceAbility在onStart方法中启动定时器。 @Override public void onStart(Intent intent) { super.onStart(intent); setApplication(getContext()); startTimer(); } private void startTimer() { Timer timer = new Timer(); timer.schedule( new TimerTask() { public void run() { refreshData(); } }, 0, PERIOD ); } ​​​​​​​​ updateForm(卡片信息更新) for (FormInformation form : formInformationlist){ result.put("formId", form.getFormId()); result.put("isTologin",true); result.put("networkNK",false); result.put("show2x2", false); result.put("show2x4", false); result.put("initShow", false); try { updateForm(form.getFormId(), new FormBindingData(result)); } catch (FormException e) { e.printStackTrace(); } } refreshData更新卡片的方法,此方法中先从数据库中查询卡片列表,然后遍历卡片列表,逐个更新卡片信息。 MainAbility接参页面跳转 ​​​​​​​​​​​​​​ 首先服务卡片JS技术路线,MainAbility 需要继承AceAbility。 服务卡片触发【toLogin】后,跳转到MainAbility,触发onStart回调函数。 使用intent.getParams().getParam("params")语句获取服务卡片的传值。 页面跳转之前,使用setPageParams(url,paramsReturn)函数,确定目的页面和给页面传参数。​​​​​​​​​ 服务卡片(JS)编辑功能​​​​​​​ 服务卡片编辑功能,比较复杂,可参考DevEco-Studio 提供的模板进行研究学习。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。