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

响应式网站 图片处理嘉定网站建设公司

响应式网站 图片处理,嘉定网站建设公司,南京网站设计个人,长沙招聘信息Stage应用模型 1.Stage模型基本概念 应用模型是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。简而言之,应用模型就是像是应用的施工图纸,他规范化了程序运行流程、项目结构、文件功能等…… 随着系统的演进发展,先后提供了两种应…

Stage应用模型

1.Stage模型基本概念

应用模型是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。简而言之,应用模型就是像是应用的施工图纸,他规范化了程序运行流程、项目结构、文件功能等……
随着系统的演进发展,先后提供了两种应用模型:

  1. FA 模型:从API7开始支持的模型,已经不再主推
  2. Stage 模型:从API9开始新增的模型,是目前主推且会长期演进的模型。

2. Stage模型配置文件

当我们创建一个State模型的项目时,项目的目录结构如下图所示。目录结构规定各种文件资源应在存放在哪些位置、以及应用程序的相关配置应该在哪个文件中编写等。
在这里插入图片描述
每个应用项目的代码目录下必须包含应用配置文件,这些配置文件会向编译工具、操作系统和应用市场提供应用的基本信息。
在基于Stage模型开发的应用项目代码下,都存在一个app.json5配置文件、以及一个或多个module.json5配置文件。

● app.json5配置文件:用于声明应用的全局配置信息,比如应用Bundle名称、应用名称、应用图标、应用版本号等
● module.json5配置文件:用于声明Module基本信息、支持的设备类型、所含的组件信息、运行所需申请的权限等。

2.1 app.json5 配置文件

{"app": {"bundleName": "com.example.mytargetmanagement", //应用包名"vendor": "example",        //表示对应用厂商的描述"versionCode": 1000000,     //应用程序版本号"versionName": "1.0.0",     //应用程序版本名称"icon": "$media:app_icon",  //应用程序图标"label": "$string:app_name" //应用程序名称}
}

2.2 model.json5 配置文件

{"module": {"name": "entry",			//模块名称"type": "entry",			//模块类型(entry:应用的主模块、feature:应用的动态特性模块)"description": "$string:module_desc",	//模块描述"mainElement": "EntryAbility",		//标识当前Module的入口UIAbility"deviceTypes": [		//设备类型"phone","tablet","2in1"],"deliveryWithInstall": true,"installationFree": false,"pages": "$profile:main_pages","abilities": [{"name": "EntryAbility","srcEntry": "./ets/entryability/EntryAbility.ets","description": "$string:EntryAbility_desc","icon": "$media:layered_image","label": "$string:EntryAbility_label","startWindowIcon": "$media:startIcon","startWindowBackground": "$color:start_window_background","exported": true,"skills": [{"entities": ["entity.system.home"],"actions": ["action.system.home"]}]}],"extensionAbilities": [{"name": "EntryBackupAbility","srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets","type": "backup","exported": false,"metadata": [{"name": "ohos.extension.backup","resource": "$profile:backup_config"}],}]}
}

3.State模型UIAbility

3.1 UIAbility组件概述

UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互。每一个UIAbility实例,都对应于一个最近任务列表中的任务;一个应用可以有一个 UIAbility 也可以有多个 UIAbility
在这里插入图片描述

3.2 创建UIAbility并指定启动页面

应用中的UIAbility在启动过程中,需要指定启动页面,否则应用启动后会因为没有默认加载页面而导致白屏。可以在UIAbility的onWindowStageCreate()生命周期回调中,通过WindowStage对象的loadContent()方法设置启动页面。

import { UIAbility } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';export default class EntryAbility extends UIAbility {onWindowStageCreate(windowStage: window.WindowStage): void {windowStage.loadContent('pages/Index', (err, data) => {// ...});}// ...
}

说明:
在DevEco Studio中创建的UIAbility中,该UIAbility实例默认会加载Index页面,根据需要将Index页面路径替换为需要的页面路径即可。

3.3 启动UIAbility组件并传递参数

UIAbility是系统调度的最小单元。在设备内的功能模块之间跳转时,会涉及到启动特定的UIAbility,包括应用内的其他UIAbility、或者其他应用的UIAbility(例如启动三方支付UIAbility)。我们这里以启动应用内的Ability为例。
假设现在有如下需求

● 有两个Ability,分别是EntryAbility和SecondAbility,EntryAbility只有Page1页面,而SecondAbility中有Page2和Page3页面;EntryAbility作为默认的Ability。
● 启动EntryAbility时加载Page1页面,启动SecondAbility时加载Page2页面
● 在Page1页面中点击按钮时跳转到SecondAbility
● 在Page2页面中点击按钮跳转到Page3页面(Page2和Page3都属于SecondAbility)

下面是需求示意图
在这里插入图片描述

  • 指定EntryAbility的启动页Page1
    在这里插入图片描述
  • 指定SecondAbility的启动页Page2
    在这里插入图片描述
  • 接下来在Page1页面中启动SecondAbility,启动UIAbility只需要2步就可以了
  1. 获取应用上下文对象:context = getContext(this) as common.UIAbilityContext;
  2. 通过上下文对象启动指定的Ability:context.startAbility(Want);目标Ability通过Want参数来指定
import Want from '@ohos.app.ability.Want'
import { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';@Entry
@Component
struct Page1 {//1.获取应用上下文private context = getContext(this) as common.UIAbilityContext;@State info:string = '窗前明月光'build() {Column({ space: 10 }) {Text('Page1').fontSize(50).fontWeight(FontWeight.Bold)Text(`这是Page1的数据:${this.info}`)Button('跳转到SecondAbility').onClick(() => {//2.创建目标意图对象,并启动目标Abilitylet wantInfo: Want = {deviceId: '',bundleName: 'com.yutianedu.myapplication',moduleName: 'entry',abilityName: 'SecondAbility',parameters: {info: this.info}}this.context.startAbility(wantInfo).then(() => {console.log('SecondAbility启动成功')}).catch((error: BusinessError) => {console.log('SecondAbility启动失败')});})}.height('100%').width('100%').justifyContent(FlexAlign.Center)
http://www.dtcms.com/a/595803.html

相关文章:

  • 沈阳企业自助建站x cache wordpress
  • 罗湖区网站建设网站推广的表现方式
  • 三层架构做网站还是系统绵阳市 网站建设
  • 如何加强高校网站建设wordpress la
  • 济南网站建设维护公司自我介绍网页设计代码
  • 有没有专门做线下活动的网站设计师网址推荐
  • 网站建设吉金手指排名14医院网站建设联系方式
  • 做机械网站重庆网站建设 夹夹虫
  • 乒乓球网站建设目标怎样将视频代码上传至网站
  • 网站的推广方式组合可视化网站建设软件
  • 如何简单快速的制作网站百度技术培训中心
  • 购物网站建设基本流程网页版qq怎么登录
  • 网站之家app网站对图片优化
  • 美妆网站制作教程企业资质证书查询官方网站
  • 响应式网站 向下兼容长沙市停课最新消息
  • 郑州一建是国企还是私企seo研究所
  • 车牌照损坏在网站做的能用吗连云港专业网站制作公司
  • 网站程序开发的基本步骤汽车之家网站开发方案
  • 专业建设公司网站代做网站推广的公司哪家好
  • php体育网站模板罗湖商城网站设计价格
  • 怎么创建公司网站广告公司后期制作
  • 网站建设预算表wordpress登录不
  • 上海网站建设的意义wordpress 路由器
  • 网站建设 空间安全网站建设报价清单
  • 用虚拟机做网站服务器太原网页设计培训班
  • 什么网站做禽苗好的网站网站开发技术负责那些
  • 百度 移动网站优化深圳做网站找谁
  • 特种工建设网站河北省建设工程信息网站
  • 快彩网站开发网站建设哪里培训
  • 邯郸网站建设策划方案福田公司门口