上一篇博客我们写到快应用的环境搭建及原始demo编译安装。本篇博客我们主要讲一下项目配置信息manifest文件里面各个配置的含义。
1、代码编辑器
工欲善其事必先利其器,我们需要一款合适的编辑器来开发快应用,官方推荐了两款编辑器:Visual Studio Code 和 WebStorm 。下面我们只简单介绍Visual Studio Code ,另外一个有兴趣的自行研究。
下载好之后打开软件,安装Hap Extension,安装方法:点击左上侧扩展,搜索hap,然后下载安装,安装好之后点击重新加载即可,配置好之后打开快应用项目,就能发现文件都可以高亮显示了,如下图:
这样看起来就舒服多了,闲话不多说,进入本篇博客的重点。
2、项目配置信息manifest文件
快应用的manifest文件类似于android应用里面的AndroidManifest.xml这个文件,在项目的src目录下,里面也声明了应用的配置信息,比如应用包名,版本号什么的。不过快应用的manifest文件里面内容更多一点,如下图:
上图是我从项目里面截取出来的manifest文件,可以看出这是一个json文件,里面包含了一些类似键值对的东西,下面我们就来详细讲解这些键值对的含义。
属性 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
package | String | - | 是 | 应用包名,确认与原生应用的包名不一致,推荐采用com.company.module的格式,如:com.example.demo |
name | String | - | 是 | 应用名称,6个汉字以内,与应用商店保存的名称一致,用于在桌面图标、弹窗等处显示应用名称 |
icon | String | - | 是 | 应用图标,提供192x192大小的即可 |
versionName | String | - | 否 | 应用版本名称,如:"1.0"
|
versionCode | Integer | - | 是 | 应用版本号,从1 自增,推荐每次重新上传包时versionCode +1
|
minPlatformVersion | Integer | - | 否 | 支持的最小平台版本号,兼容性检查,避免上线后在低版本平台运行并导致不兼容;如果不填按照内测版本处理 |
以上是比较简单的属性,就不详细解释了,注意:icon的值为绝对路径,比如我们这个demo就是/Common/logo.png,其中的开头的斜杠"/"代表项目"根目录/src/"。
features:声明项目需要的接口。
比如这个项目中声明的接口:
然后自己去代码中看了一下相应引用的地方:
"system.prompt" 和 "system.shortcut" 这两个分别是用来弹toast与创建桌面快捷方式的接口,看到这里,相信很多Android开发的老司机肯定明白了,其实就跟AS里面引用第三方jar包差不多了,声明之后在需要用到的地方引用就行,引用方法就类似require('@system.prompt')这个。
config:用于定义系统配置和全局数据。
比如logLevel:打印日志等级,分为off,error,warn,info,log,debug,后面讲debug的时候再单独写一篇详细分析。
router:配置页面路由。
说实话,官方给出的这个解释没看太懂,但是以我几年做Android的经验,大概能明白其中的含义,基本就是相当于Android当中的Activity在AndroidManifest.xml中声明。接下来再具体看一下项目里面的代码吧:
router.entry:表示首页名称,即该快应用启动时默认打开的页面。
router.pages:表示页面路由对象,
key为页面名称,value为页面具体路由配置,key不要重复,value包括以下属性:
component:页面对应的ux文件名
path:页面路径,不填则默认为页面名称
display:用于定义与UI显示相关的配置。
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
backgroundColor | String | #ffffff | 窗口背景颜色 |
fullScreen | Boolean | false | 是否是全屏模式,默认不会同时作用于titleBar,titleBar需要继续通过titleBar控制 |
titleBar | Boolean | true | 是否显示titleBar |
titleBarBackgroundColor | String | - | 标题栏背景色 |
titleBarTextColor | String | - | 标题栏文字颜色 |
titleBarText | String | - | 标题栏文字(也可通过页面跳转传递参数(titleBarText)设置) |
menu | Boolean | false | 是否显示标题栏右上角菜单按钮 |
pages | Object | - | 各个页面的显示样式,key为页面名(与路由中的页面名保持一致),value为窗口显示样式,页面样式覆盖default样式。 |
基于上面的讲解,我们可以简单改一下demo的配置,改完之后如下:
以上就是随便改改的界面,界面很丑,请大家忽略。
总结
manifest文件其实完全可以类比成Android项目中的AndroidManifest.xml文件,用来声明项目的一些组件及配置,比如name、icon什么的。今天这篇主要是一些概念性的东西,理解了就很简单了,下一篇博客计划是学一下页面样式与布局并写一个稍微复杂一点的布局,加油!!