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

东莞网站建设对比动漫做美食的视频网站

东莞网站建设对比,动漫做美食的视频网站,怎么学做电商然后自己创业,计算机类17个专业创建Ability和Page页面 创建两个Ability#xff1a;EntryAbility#xff0c;DetailsAbility#xff0c;其中EntryAbility是由工程默认创建的#xff0c;这里我们只讲如何创建DetailsAbility。 使用DevEco Studio#xff0c;选中对应的模块#xff0c;单击鼠标右键…创建Ability和Page页面 创建两个AbilityEntryAbilityDetailsAbility其中EntryAbility是由工程默认创建的这里我们只讲如何创建DetailsAbility。 使用DevEco Studio选中对应的模块单击鼠标右键选择New Ability在对话框中修改名字后即可创建相关的Ability。创建完Ability后需要我们为Ability设置page页面选中pages目录单击鼠标右键选择New Page在对话框中修改名字后即可创建相关的Page页面。 // DetailsPage.ets ... Entry Component struct DetailsPage {private goodsDetails: GoodsData new GoodsData();aboutToAppear() {if (position ! undefined) {this.goodsDetails viewModel.loadDetails(position);}}build() {Column() {Scroll() {Column() {Stack({ alignContent: Alignment.Top }) {// 商品图片预览组件PreviewerComponent({ goodsImg: this.goodsDetails.goodsImg })this.TopBarLayout()}.height(DetailsPageStyle.TOP_LAYOUT_HEIGHT).width(PERCENTAGE_100).backgroundColor($r(app.color.background1))// 展示商品信息的卡片布局this.CardsLayout()}.width(PERCENTAGE_100)}.height(DetailsPageStyle.SCROLL_LAYOUT_WEIGHT).backgroundColor($r(app.color.background))// 底部工具栏BottomBarComponent().height(DetailsPageStyle.TOOLBAR_WEIGHT)}.height(PERCENTAGE_100).width(PERCENTAGE_100)}... }使用windowStage.loadContent为指定Ability设置相关的Page页面。 // DetailsAbility.ts ... export default class DetailsAbility extends UIAbility {...onWindowStageCreate(windowStage) {...windowStage.loadContent(pages/DetailsPage, (err, data) {if (err.code) {hilog.error(DETAIL_ABILITY_DOMAIN, TAG, Failed. Cause: %{public}s, JSON.stringify(err) ?? );return;}hilog.info(DETAIL_ABILITY_DOMAIN, TAG, Succeeded. Data: %{public}s, JSON.stringify(data) ?? );});}... };UIAbilityContext模块启动Ability的能力 UIAbilityContext模块提供允许访问特定Ability的资源的能力包括对Ability的启动、停止的设置、获取caller通信接口、拉起弹窗请求用户授权等。 在购物应用中我们点击首页商品列表中的某一项商品即可跳转到商品的详情页面。此处使用到UIAbilityContext模块的启动Ability的能力。关于获取UIAbilityContext的方法推荐使用getContext(this)方式来获取UIAbilityContext。 // HomePage.ets ...build() {Column() {Column() {Blank().height(HomePageStyle.BLANK_HEIGHT)// Logo和二维码区域TopBarComponent().padding({top: HomePageStyle.PADDING_VERTICAL,bottom: HomePageStyle.PADDING_VERTICAL,left: HomePageStyle.PADDING_HORIZONTAL,right: HomePageStyle.PADDING_HORIZONTAL})SearchComponent()TabsComponent({ tabMenus: this.tabMenus })BannerComponent({ bannerList: this.bannerList })MenusComponent({ menus: this.menus })// 商品列表组件GoodsComponent({ goodsList: this.goodsList, startPage: (index) {let handler getContext(this) as AppContext.UIAbilityContext;viewModel.startDetailsAbility(handler, index);} })}.width(PERCENTAGE_100)}.height(PERCENTAGE_100).backgroundImage($rawfile(index/index_background.png), ImageRepeat.NoRepeat).backgroundImageSize(ImageSize.Cover)}...startDetailsAbility方法调用了UIAbilityContext模块启动Ability的能力。 // HomeViewModel.ets ... public startDetailsAbility(context: common.UIAbilityContext, index: number): void {const want: Want {bundleName: getContext(context).applicationInfo.name,abilityName: DETAILS_ABILITY_NAME,parameters: {position: index}};try {context.startAbility(want);} catch (error) {hilog.error(HOME_PAGE_DOMAIN, TAG, %{public}s, error);}} ...信息传递载体Want Want是对象间信息传递的载体, 可以用于应用组件间的信息传递。Want的使用场景之一是作为startAbility的参数, 其包含了指定的启动目标, 以及启动时需携带的相关数据。 // DetailsAbility.ts ... export default class DetailsAbility extends UIAbility {onCreate(want, launchParam) {let index: number want?.parameters?.position;AppStorage.SetOrCreate(KEY, index);hilog.info(DETAIL_ABILITY_DOMAIN, TAG, %{public}s, Ability onCreate);}... };在DetailsPage页面中使用AppStorage来获取detailWant对象解析detailWant对象中的商品信息参数调用loadDetails方法来展示商品详情。 // DetailsPage.ets ... let viewModel: DetailsViewModel new DetailsViewModel(); const KEY: string GoodsPosition; let position AppStorage.Getnumber(KEY); ... Entry Component struct DetailsPage {private goodsDetails: GoodsData new GoodsData();aboutToAppear() {if (position ! undefined) {this.goodsDetails viewModel.loadDetails(position);}}... }使用HiLog打印生命周期函数 HiLog日志系统可以让应用按照指定类型、指定级别、指定格式字符串打印日志内容帮助开发者了解应用/服务的运行状态更好地调试程序。 HiLog提供了debug、info、warn、error以及fatal接口在购物应用中我们使用hilog打印EntryAbility 、DetailsAbility的生命周期。 在打印之前我们需要了解三个参数 domain日志对应的领域标识范围是0x0~0xFFFF。建议开发者在应用内根据需要自定义划分。tag指定日志标识可以为任意字符串建议用于标识调用所在的类或者业务行为。level日志级别。format格式字符串用于日志的格式化输出。格式字符串中可以设置多个参数参数需要包含参数类型、隐私标识。隐私标识分为{public}和{private}缺省为{private}。标识{public}的内容明文输出标识{private}的内容以过滤回显。 下面我们在EntryAbility中演示如何使用hilog对象打印Ability的生命周期函数 onBackground。 此时我们点击商品列表中的商品系统会打开商品详情页承载商品列表视图的EntryAbility将返回到后台系统会执行EntryAbility的onBackground()方法我们在DevEco Studio的控制台中可以观察相关生命周期函数的变换情况。 // EntryAbility.ts ... export default class EntryAbility extends UIAbility {...onBackground() {// Ability has back to backgroundhilog.isLoggable(ENTRY_ABILITY_DOMAIN, TAG, hilog.LogLevel.INFO);hilog.info(ENTRY_ABILITY_DOMAIN, TAG, %{public}s, Ability onBackground);} }本文内容是鸿蒙开发中对Ability开发技术的简单运用更多的鸿蒙开发技术可以前往我主页查询下面分享鸿蒙开发4.0技术分布略缩图 高清完整版技术学习路线图如下寻找保存附鸿蒙文档 基于Stage模型对Ability的创建和使用进行讲解。首先在课程中我们将带领大家使用DevEco Studio创建一个Stage模型Ability并使用UIAbilityContext启动另一个Ability然后借助Want在Ability之间传递参数最后我们使用HiLog打印Ability的生命周期。效果图如图所示
http://www.pierceye.com/news/268662/

相关文章:

  • wordpress全站备份建设网站和推广
  • 广州市官网网站建设哪家好上海营销型网站建设公司
  • 江山网站制作瑞安自适应网站建设
  • 生意网官方网站高端建设网站
  • 公司网站建设南宁腾讯企业邮箱登录入口手机版
  • 简历网站推荐做网站公司是干什么的
  • 网站备案率是什么会展相关app和网站的建设情况
  • 南京网站设计网站建设上海网站域名备案处
  • 做网站市场分析三视觉平面设计网
  • 网站建设中++模板企业网站部署计划
  • 房产部门成立网站wordpress站内搜索次数
  • 网站建设合同管辖地广州敏城建设工程有限公司网站
  • 班级网站主页设计模板购买网站域名空间
  • 做响应式网站最大宽度景观设计公司起名
  • 有小广告的网站适合40岁女人的培训班
  • html5网站建设有什么网站用名字做图片
  • 合肥珍岛公司做网站推广怎么样关键词排名优化如何
  • 做讲课ppt的网站郑州市建设局官方网站
  • 邢台集团网站建设报价免费推广网站有哪些
  • 龙华网站建设营销推广广东东莞区号
  • 徐汇网站开发培训企业建网站报价
  • 专业网站建设公司兴田德润信任高建设高端网站公司哪家好
  • 烟台网站建设优惠臻动传媒做网站怎么挣钱
  • 重庆网站建设mlfartwordpress4 中文
  • 永州建设企业网站阿里云 网站部署
  • 学校做网站难吗创新logo设计
  • 国内用python做的网站如何做网站讯息
  • 的网站开发工具有哪些免费制作永久企业网站
  • 网站举报查询一个网站开发的权限
  • 简约网站程序海南网络广播电视台少儿频道