最近研究鸿蒙开发,记录下自己的一些心得
# 项目配置
1. 大致结构与 Android 的项目结构相似

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


切换到 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 对应 application 的 name , 请求权限可以放在 reqPermissions 节点中,普通权限直接使用 name 获取即可,敏感权限需要配置请求的原因和使用场景。
2.4 abilities 类似于 activity 节点,所有的页面,服务,都可以放到这里,根据不同的 type 确定当前的 Ability 是什么类型, page , service , data 分别代表了不同作用的 Ability
未完待续...