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

南投县网站建设_网站建设公司_VS Code_seo优化

网站制作团队,温州建设集团招聘信息网站,免费网页app一键生成软件,免费网站建设有哪些不同Page 间导航#xff0c;实现页面跳转 AbilitySlice作为Page的内部单元#xff0c;以Action的形式对外暴露#xff0c;因此可以通过配置Intent的Action导航到目标AbilitySlice。Page间的导航可以使用startAbility()或startAbilityForResult()方法#xff0c;获得返回结…不同Page 间导航实现页面跳转 AbilitySlice作为Page的内部单元以Action的形式对外暴露因此可以通过配置Intent的Action导航到目标AbilitySlice。Page间的导航可以使用startAbility()或startAbilityForResult()方法获得返回结果的回调为onAbilityResult()。在Ability中调用setResult()可以设置返回结果。详细用法可参考根据Operation的其他属性启动应用中的示例。 根据Ability的全称启动应用 通过构造包含BundleName与AbilityName的Operation对象可以启动一个Ability、并导航到该Ability。示例代码如下 Intent intent new Intent();// 通过Intent中的OperationBuilder类构造operation对象指定设备标识空串表示当前设备、应用包名、Ability名称 Operation operation new Intent.OperationBuilder().withDeviceId().withBundleName(com.demoapp).withAbilityName(com.demoapp.FooAbility).build();// 把operation设置到intent中 intent.setOperation(operation); startAbility(intent);作为处理请求的对象会在相应的回调方法中接收请求方传递的Intent对象。以导航到另一个Ability为例导航的目标Ability可以在其onStart()回调的参数中获得Intent对象。 根据Operation的其他属性启动应用 有些场景下开发者需要在应用中使用其他应用提供的某种能力而不感知提供该能力的具体是哪一个应用。例如开发者需要通过浏览器打开一个链接而不关心用户最终选择哪一个浏览器应用则可以通过Operation的其他属性除BundleName与AbilityName之外的属性描述需要的能力。如果设备上存在多个应用提供同种能力系统则弹出候选列表由用户选择由哪个应用处理请求。以下示例展示使用Intent跨Ability查询天气信息。 请求方 在Ability中构造Intent以及包含Action的Operation对象并调用startAbilityForResult()方法发起请求。然后重写onAbilityResult()回调方法对请求结果进行处理。 private void queryWeather() {Intent intent new Intent();Operation operation new Intent.OperationBuilder().withAction(Intent.ACTION_QUERY_WEATHER).build();intent.setOperation(operation);startAbilityForResult(intent, REQ_CODE_QUERY_WEATHER); }Override protected void onAbilityResult(int requestCode, int resultCode, Intent resultData) {switch (requestCode) {case REQ_CODE_QUERY_WEATHER:// Do something with result....return;default:...} }处理方 1.作为处理请求的对象首先需要在配置文件中声明对外提供的能力以便系统据此找到自身并作为候选的请求处理者。 {module: {...abilities: [{...skills:[{actions:[ability.intent.QUERY_WEATHER]}]...}]...}... }2.在Ability中配置路由以便支持以此action导航到对应的AbilitySlice。 Override protected void onStart(Intent intent) {...addActionRoute(Intent.ACTION_QUERY_WEATHER, DemoSlice.class.getName());... }3.在Ability中处理请求并调用setResult()方法暂存返回结果。 Override protected void onActive() {...Intent resultIntent new Intent();setResult(0, resultIntent); //0为当前Ability销毁后返回的resultCode。... }// 实例测试 1.首先创建Empty AbilityJava的AbilityJump工程运行出现如下界面 2.在MainAbility.java同级别添加NewAbility.java文件在slice文件夹下添加NewAbilitySlice.java文件在layout文件夹下添加ability_new.xml文件。 NewAbility.java package com.example.abilityjump;import com.example.abilityjump.slice.NewAbilitySlice; import ohos.aafwk.ability.Ability; import ohos.aafwk.content.Intent;public class NewAbility extends Ability {Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setMainRoute(NewAbilitySlice.class.getName());} }NewAbilitySlice.java package com.example.abilityjump.slice;import com.example.abilityjump.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent;public class NewAbilitySlice extends AbilitySlice {Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_new);}Overridepublic void onActive() {super.onActive();}Overridepublic void onForeground(Intent intent) {super.onForeground(intent);} }ability_new.xml ?xml version1.0 encodingutf-8? DirectionalLayoutxmlns:ohoshttp://schemas.huawei.com/res/ohosohos:heightmatch_parentohos:widthmatch_parentohos:alignmentcenterohos:orientationverticalTextohos:id$id:text_newohos:heightmatch_contentohos:widthmatch_contentohos:background_element$graphic:background_ability_mainohos:layout_alignmenthorizontal_centerohos:text$string:mainability_newohos:text_size40vp//DirectionalLayout3.在中文string.json添加 { “name”: “mainability_new”, “value”: “目标测试” } string.json {string: [{name: entry_MainAbility,value: entry_MainAbility},{name: mainability_description,value: Java_Empty Ability},{name: mainability_HelloWorld,value: 你好世界},{name: mainability_new,value: 目标测试}] }4.在config.json中abilities注册NewAbility config.json {app: {bundleName: com.example.abilityjump,vendor: example,version: {code: 1000000,name: 1.0.0}},deviceConfig: {},module: {package: com.example.abilityjump,name: .MyApplication,mainAbility: com.example.abilityjump.MainAbility,deviceType: [phone],distro: {deliveryWithInstall: true,moduleName: entry,moduleType: entry,installationFree: true},abilities: [{skills: [{entities: [entity.system.home],actions: [action.system.home]}],orientation: unspecified,name: com.example.abilityjump.MainAbility,icon: $media:icon,description: $string:mainability_description,label: $string:entry_MainAbility,type: page,launchType: standard},{skills: [{actions: [action.new]}],orientation: unspecified,name: com.example.abilityjump.NewAbility,icon: $media:icon,description: $string:mainability_description,label: $string:entry_MainAbility,type: page,launchType: standard}]} }5.此时编译运行应该没有错误还是出现下面效果 6.设置文本点击事件导航到另外一个Ability页面 参数发送端 MainAbilitySlice.java package com.example.abilityjump.slice;import com.example.abilityjump.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.aafwk.content.Operation; import ohos.agp.components.Text;public class MainAbilitySlice extends AbilitySlice {Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);//获取文本对象Text text (Text)findComponentById(ResourceTable.Id_text_helloworld);//设置文本的点击事件text.setClickedListener(component - {Intent intent1 new Intent();intent1.setParam(data,新页面);Operation operation new Intent.OperationBuilder().withAction(action.new).build();intent1.setOperation(operation);startAbility(intent1);});}Overridepublic void onActive() {super.onActive();}Overridepublic void onForeground(Intent intent) {super.onForeground(intent);} }参数接收端 NewAbilitySlice.java package com.example.abilityjump.slice;import com.example.abilityjump.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.components.Text;public class NewAbilitySlice extends AbilitySlice {Text text;String oldString;Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_new);//获取文本对象Text text (Text)findComponentById(ResourceTable.Id_text_new);oldString text.getText();//设置新文本text.setText(oldString intent.getStringParam(data));}Overridepublic void onActive() {super.onActive();}Overridepublic void onForeground(Intent intent) {super.onForeground(intent);} }7.运行程序效果如下 欢迎关注公众号方便技术交流
http://www.lebaoying.cn/news/114167.html

相关文章:

  • 电子商务网站加盟电商网站开发面试
  • 优秀高端网站建设服务商酒店网络营销方案ppt
  • 举措推进网站互动交流建设自己设计app软件
  • 上海做网站的故事哪家好网站建设中数据库的维护论文
  • 如何做最强的社交网站潍坊定制网站搭建
  • 遂宁住房和城乡建设厅网站手机电影网站怎么做的
  • 网站备案icp过期wordpress无法将上传的文件移动至
  • 软件下载免费大全网站邹城市网站建设
  • 有没有可以免费做试卷的网站_最好可以学会...找投资项目的网站
  • 网站统一做301怎么卸载2345网址导航
  • 韩国游戏网站设计做网站优化需要做什么
  • 如何建设网站使用橙光游戏制作器手机版
  • 优秀网站菜单悬赏做海报的网站
  • 网站开发是怎么开发的小程序开发平台到底哪家好
  • 做网站推广每天加班河北省和城乡建设厅网站首页
  • 网站开发采用了哪些技术怎么写上海企业微信网站制作
  • 网站建设的重要网站内外链怎么做效果好
  • 网站建站卡顿怎么办网站keywords重复解决方法
  • 住宅设计网站推荐wordpress 支持 反对
  • 泉州工作室网站建设化妆品网站建设平台的分析
  • 深圳网站seo服务免费商城版网站制作
  • 热门的网站模板青岛房产网上查询
  • 单位做网站的目的wordpress注册logo
  • 做点效果图赚钱的网站团购网站建设案例
  • 国外视觉设计门户网站网络舆情监测预警系统
  • 南阳网站备案广告设计网站素材
  • 51网站一起做网店盗图来做网站
  • 设计素材网站能挣钱吗国内最新新闻大事
  • 十堰网站seo方法简述网站建设的一般流程
  • 伍佰亿网站建设制作公众号网站开发