初学Harmony

  • ~2.81K 字

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

项目配置

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

image-20220401114456010

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

image-20220401114737192

image-20220401114757400

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
{
"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

未完待续…

赞助喵
非常感谢您的喜欢!
赞助喵
分享这一刻
让朋友们也来瞅瞅!