赞
踩
HarmonyOS
是一款面向万物互联时代的、全新的分布式操作系统。
在传统的单设备系统能力基础上,HarmonyOS
提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。
提示:以下是本篇文章正文内容,下面案例可供参考
相关IDE网址:https://developer.harmonyos.com/cn/develop/deveco-studio#download
下面是3.0 Beta2版本界面
以上是汉化操作相关路径:文件》设置》插件》中文包
实际工程页面
{
"app": {
"bundleName": "com.example.myapplication.hmservice",
"vendor": "example",
"version": {
"code": 1000000,
"name": "1.0.0"
}
},
"deviceConfig": {},
"module": {
"package": "com.example.myapplication",
"name": ".MyApplication",
"mainAbility": "com.example.myapplication.MainAbility",
"deviceType": [
"phone",
"tablet",
"tv",
"wearable"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry",
"installationFree": true
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"visible": true,
"name": "com.example.myapplication.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:entry_MainAbility",
"type": "page",
"launchType": "standard"
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": true
}
}
]
}
}
所有的模块,界面等信息,都会在这个文件中进行配置。
鸿蒙应用启动之后,先解析config.json文件。
config.json分为四个部分:app 、deviceConfig 、module、js
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": true
}
}
]
由代码可知js标签包含三部分
标签 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
name | string | default | 是 | 标识JS实例的名字。 |
pages | Array | - | 是 | 定义每个页面的路由信息。 |
window | Object | - | 否 | window用于定义与显示窗口相关的配置。 |
window包含两个属性
"app": {
"bundleName": "com.example.myapplication.hmservice",
"vendor": "example",
"version": {
"code": 1000000,
"name": "1.0.0"
}
},
deviceConfig:应用在设备上配置信息,进程名等等
"module": {
"package": "com.example.myapplication",
"name": ".MyApplication",
"mainAbility": "com.example.myapplication.MainAbility",
"deviceType": [
"phone",
"tablet",
"tv",
"wearable"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry",
"installationFree": true
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"visible": true,
"name": "com.example.myapplication.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:entry_MainAbility",
"type": "page",
"launchType": "standard"
}
],
export default {
data: {
test: "我是全局参数"
},//页面获取全局 export var appData = getApp().data;
onCreate() {
console.info('当应用创建时调用。');
},
onShow() {
console.info('当应用处于前台时触发。');
},
onHide() {
console.info('当应用处于后台时触发。');
},
onDestroy() {
console.info('当应用退出时触发。');
}
};
export default {
data: {
title:"我是首页",
continueAbilityData: {}
},
// shareData的数据会在onSaveData触发时与saveData一起传送到迁移目标FA,并绑定到其shareData数据段上
// shareData的数据可以直接使用this访问。eg:this.remoteShareData1
shareData: {
remoteShareData1: 'share data for distribute',
remoteShareData2: {
item1: 0,
item2: false,
item3: 'inner string'
},
remoteShareData3: [4, 5, 6]
},
onInit() {
console.info('当应用创建时调用。');
//$t代表国际化翻译
this.title = this.$t('strings.world');
},
onReady() {
console.info('页面创建完成时触发,只触发一次。');
},
onShow() {
console.info('页面显示时触发。');
},
onHide() {
console.info('页面消失时触发。');
},
onDestroy() {
console.info('页面销毁时触发。');
},
onBackPress() {
/**
* 返回true表示页面自己处理返回逻辑。
* 返回false表示使用默认的返回逻辑。
* 不返回值会作为false处理。
* */
console.info('当用户点击返回按钮时触发。');
},
onActive() {
console.info('页面激活时触发。');
},
onInactive() {
console.info('页面暂停时触发。');
},
onNewRequest() {
console.info('FA已经启动时收到新的请求后触发。');
},
onStartContinuation() {
console.info('判断当前的状态是不是适合迁移。');
return true;
},
onSaveData(saveData) {
console.info('数据保存到savedData中进行迁移。');
var data = this.continueAbilityData;
Object.assign(saveData, data)
},
onRestoreData(restoreData) {
console.info('收到迁移数据,恢复。');
var data = this.continueAbilityData;
this.continueAbilityData = restoreData;
},
onCompleteContinuation(code) {
console.info("迁移操作完成,code返回结果: code = " + code);
},
onConfigurationUpdated(configuration) {
//onConfigurationUpdated页面事件需要在config.json中配置相应的configChanges标签。
console.info("当相应的系统配置发生变更时触发该回调,如系统字体大小,语言地区等。");
},
}
AceAbility类是JS FA在HarmonyOS上运行环境的基类,继承自Ability。也是程序真实入口文件。
MainAbility 需要继承AceAbility
package com.example.myapplication;
import ohos.ace.ability.AceAbility;
import ohos.aafwk.content.Intent;
public class MainAbility extends AceAbility {
@Override
public void onStart(Intent intent) {
setInstanceName("default");
super.onStart(intent);
}
@Override
public void onStop() {
super.onStop();
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。