最近研究鸿蒙开发,记录下自己的一些心得

# 项目配置

1. 大致结构与 Android 的项目结构相似

image-20220401114456010

2.Harmony 没有 Manifeest.xml 文件,通过 config.json 文件进行配置

image-20220401114737192

image-20220401114757400

切换到 Ohos(类比 Android 视图)视图时,所有的配置文件会放置在 configuration 目录下

{
  "app": {
    "bundleName": "com.wuhanins.harmonydemo",
    "vendor": "wuhanins",
    "version": {
      "code": 1000000,
      "name": "1.0.0"
    }
  },
  "deviceConfig": {
    "default": {
      "network": {
        "cleartextTraffic": true
      }
    }
  },
  "module": {
    "package": "com.wuhanins.harmonydemo",
    "name": ".MyApplication",
    "mainAbility": "com.wuhanins.harmonydemo.MainAbility",
    "deviceType": [
      "phone",
      "tablet",
      "tv",
      "wearable",
      "car"
    ],
    "distro": {
      "deliveryWithInstall": true,
      "moduleName": "entry",
      "moduleType": "entry",
      "installationFree": false
    },
    "reqPermissions": [
      {
        "name": "ohos.permission.INTERNET",
        "reason": "$string:permreason_internet",
        "usedScene":
        {
          "ability": ["com.wuhanins.harmonydemo.MainAbility"],
          "when": "always"
        }
      }
    ],
    "abilities": [
      {
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home",
              "action.web"
            ]
          }
        ],
        "orientation": "unspecified",
        "visible": true,
        "name": ".MainAbility",
        "icon": "$media:icon",
        "description": "$string:mainability_description",
        "label": "$string:entry_MainAbility",
        "type": "page",
        "launchType": "standard"
      }
    ]
  }
}

2.1 首先是 app 节点, bundleName 类比 applicationId 作为包名, vendor 作为供应商,剩下的就是版本信息了。

2.2 deviceConfig 可以为空,目前我添加了可以使用 HTTP 协议请求网络。

2.3 module 存储项目模块信息, name 对应 applicationname , 请求权限可以放在 reqPermissions 节点中,普通权限直接使用 name 获取即可,敏感权限需要配置请求的原因和使用场景。

2.4 abilities 类似于 activity 节点,所有的页面,服务,都可以放到这里,根据不同的 type 确定当前的 Ability 是什么类型, pageservice , data 分别代表了不同作用的 Ability

未完待续...

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Logan 微信支付

微信支付

Logan 支付宝

支付宝

Logan 贝宝

贝宝