鸿蒙开发入门 | 开发第一个鸿蒙应用+页面跳转
CSDN话题挑战赛第2期参赛话题:学习条记
https://i-blog.csdnimg.cn/blog_migrate/62ca2262dc210dab953761594e444370.jpeg
准备好鸿蒙开发环境后,接下来就需要创建鸿蒙项目,把握项目的创建过程以及设置。项目创建好后,需要把项目运行在模仿器上,鸿蒙的模仿和安卓模仿器有些不同,鸿蒙提供远程模仿器和本地模仿器,通过登录华为账号登录在线模仿器,使用DevEco Studio可将项目部署到远程模仿器中。
分析
使用DevEco Studio集成工具开发第一个鸿蒙应用,完成鸿蒙应用创建、鸿蒙模仿器创建、部署应用到模仿器。
1、开发第一个鸿蒙应用
1●创建鸿蒙应用
打开DevEco Studio,在欢迎页单击Create HarmonyOS Project,创建一个新工程,如图1所示。
https://i-blog.csdnimg.cn/blog_migrate/d94d9154e957710ed676a08577971fe2.png
■ 图1 Create HarmonyOS Project
根据工程创建向导,选择需要的Ability工程模板,然后单击Next按钮。关于工程模板的先容和支持的设备类型,请参考支持的设备模板和编程语言,如图2所示。
https://i-blog.csdnimg.cn/blog_migrate/9351854a7598a91f9b21b6c283b8ce69.png
■ 图2工程创建向导
填写工程相干信息,Device Type选择Phone,其他保持默认值即可,单击Finish按钮,如图3所示。关于各个参数的具体先容,请参考创建一个新的工程。
https://i-blog.csdnimg.cn/blog_migrate/38898ca849a5a3d656fa933589e12da9.png
■ 图3 填写工程相干信息
工程创建完成后,DevEco Studio会主动举行工程的同步,同步成功如图4所示。
https://i-blog.csdnimg.cn/blog_migrate/726902fd9b562ef6196e2caec7a6ccbf.png
■图4 工程主动同步
2●部署鸿蒙应用到模仿器
DevEco Studio提供远程模仿器和本地模仿器,我们以远程模仿器为例举行说明。在DevEco Studio菜单栏,单击Tools→Device Manager,如图5所示。
https://i-blog.csdnimg.cn/blog_migrate/a3e9382cf943a0e9b3bd5fe2b1c62bfc.png
■ 图5 打开设备管理器
在Remote Emulator页中单击Login按钮,在浏览器中弹出华为开发者联盟账号登录界面,请输入已实名认证的华为开发者联盟账号的用户名和密码举行登录(检察远程模仿器登录常见问题),如图6所示。
https://i-blog.csdnimg.cn/blog_migrate/a350b7a431217aa8ee5c102eb56767a0.png
■ 图6 登录华为开发者联盟账号
说明: 保举使用Chrome浏览器,如果使用Safari、360等其他浏览器,要取消阻止跨站跟踪和阻止全部Cookie功能。
登录后,请单击界面上的“允许”按钮举行授权,如图7所示。
https://i-blog.csdnimg.cn/blog_migrate/37a9465279a44c1f6012d282d9d2875a.png
■ 图7 华为账号授权
在设备列表中,选择设备P40,并单击按钮
https://i-blog.csdnimg.cn/blog_migrate/6e8472dfb3a23d7c029f85d204bce4b3.png
,运行模仿器,如图8所示。
https://i-blog.csdnimg.cn/blog_migrate/e110b3d23f2ccf3c36e3020dcf900c54.png
■ 图8 运行模仿器
单击DevEco Studio工具栏中的按钮
https://i-blog.csdnimg.cn/blog_migrate/6e66320c5dcde15eaeddaaff18e834ac.png
运行工程,或使用默认快捷键Shift+F10运行工程,如图9所示。
https://i-blog.csdnimg.cn/blog_migrate/6fdc7e6033c99fcdbecccd2765e77553.png
■ 图9 运行工程到模仿器
DevEco Studio会启动应用的编译构建,完成后应用即可运行在模仿器上,如图10所示。
https://i-blog.csdnimg.cn/blog_migrate/6c731327d8fbf2aae45236b53107cf1e.png
■ 图10 工程运行成功页面
2、实战演练——页面跳转
鸿蒙操作体系提供了两种FA(Feature Ability)的UI开发框架: Java UI框架和JS UI框架,如表1所示。
Java UI框架提供了细粒度的UI编程接口,UI元素更丰富,使应用开发更加灵活。
JS UI框架提供了相对高层的UI描述,使应用开发更加简朴。
■ 表1Java UI框架和JS UI框架的对比
https://i-blog.csdnimg.cn/blog_migrate/46bb506cb50a660acd815a7949f92062.png
已成功运行了第一个鸿蒙操作体系应用,接下来通过Java UI方式和 JS UI方式分别实现页面跳转,来相识鸿蒙操作体系应用的开发过程。
1●Java UI方式实现页面跳转
1. 编写第一个页面
在Java UI框架中,提供了两种编写布局的方式: 在XML中声明UI布局和在代码中创建布局。这两种方式创建出的布局没有本质差别,为了认识两种方式,将通过XML的方式编写第一个页面,通过代码的方式编写第二个页面。
在Project窗口中单击entry→src→main→resources→base→layout,打开ability_main.xml文件,如图11所示。
https://i-blog.csdnimg.cn/blog_migrate/2eae77311c39f0089bca687475b055c4.png
■ 图11 打开ability_main.xml文件
在Project窗口中单击entry→src→main→resources→base→element,打开string.json文件,可在此文件内声明所需引用的资源内容。关于取值为string类型的文本属性,可以直接设置文本字符串,也可以引用string资源(保举使用)。string.json的示例代码如下。
步调清单1: chart10\HMDemoJava\entry\src\main\resources\base\element\string.json
https://i-blog.csdnimg.cn/blog_migrate/7a6f49a80eec777ebadb95133ede4198.png
第一个页面内有一个文本和一个按钮,使用DependentLayout布局,通过Text和Button组件来实现,其中,vp和fp分别表示虚拟像素和字体像素。本次示例展示两个组件的显示文本分别采取直接设置文本字符串、引用string资源(保举使用)的方式。ability_main.xml的示例代码如下。
步调清单2: chart10\HMDemoJava\entry\src\main\resources\base\layout\ability_main.xml
https://i-blog.csdnimg.cn/blog_migrate/4f350e4e48a345e020bfcbaa2561c9ee.png
按钮的背景是蓝色胶囊样式,可以通过graphic目录下的XML文件来设置。
右击graphic文件夹,选择New→File,定名为“background_button.xml”,按Enter键,生成文件如图12所示。
https://i-blog.csdnimg.cn/blog_migrate/7c8ff63f0941ccd6b5f955be852ebc1f.png
■ 图12 创建background_button.xml文件
步调清单3: chart10\HMDemoJava\entry\src\main\
https://i-blog.csdnimg.cn/blog_migrate/2c48f4e9b153b0bb0d5c8712e6eb19ee.png
在layout目录下的ability_main.xml文件中,使用background_element="$graphic: background_button"的方式引用background_button.xml文件,如图13所示。
https://i-blog.csdnimg.cn/blog_migrate/da206ba8a3211f8a38478f598652ae96.png
■ 图13 引用background_button.xml文件
在XML文件中添加组件后,需要在Java代码中加载XML布局。
在Project窗口中选择entry→src→main→java→com.example.myapplication→slice,打开MainAbilitySlice.java文件,使用setUIContent()方法加载ability_main.xml布局。此外,运行代码前需采取import(可使用Alt+Enter快捷键)引入对应类,否则会产生报错提示。
说明: 鸿蒙操作体系提供了Ability和AbilitySlice两个根本类,一个有界面的Ability可以由一个或多个AbilitySlice构成,AbilitySlice主要用于承载单个页面的具体逻辑实现和界面UI,是应用显示、运行和跳转的最小单元。
步调清单4: chart10\HMDemoJava\entry\src\main\resources\base\
https://i-blog.csdnimg.cn/blog_migrate/eb7093d77dabb6fa50fef9447f9e588b.png
https://i-blog.csdnimg.cn/blog_migrate/5965e54799b27cd6302ae1b5766e57b0.png
使用预览器或模仿器运行项目,结果如图14所示。
https://i-blog.csdnimg.cn/blog_migrate/d85482a49d6888c7c95a420ffe69ca61.png
■ 图14 运行项目结果(一)
2. 创建另一个页面
前面用XML的方式编写了一个包含文本和按钮的页面。为了帮助开发者认识在代码中创建布局的方式,接下来使用代码的方式编写第二个页面。
在Project窗口中打开entry→src→main→java→com.example.myapplication,右击slice文件夹,选择New→Java Class,定名为SecondAbilitySlice,按Enter键。
第二个页面上有一个文本。打开SecondAbilitySlice.java文件,添加一个Text,示例代码如下。
步调清单5: chart10\HMDemoJava\entry\src\main\java\com\example\
https://i-blog.csdnimg.cn/blog_migrate/0c9cd205c841055d155252c415f01b07.png
https://i-blog.csdnimg.cn/blog_migrate/6b8cce39b941117fe991ad08a106d654.png
3. 实现页面跳转
打开第一个页面的MainAbilitySlice.java文件,添加按钮的相应逻辑,实现单击按钮跳转到下一页,示例代码如下。
步调清单6: chart10\HMDemoJava\entry\src\main\java\com\example\
https://i-blog.csdnimg.cn/blog_migrate/6e1441a39d03a38f6af0497b406f65ad.png
再次运行项目,结果如图15所示。
https://i-blog.csdnimg.cn/blog_migrate/9fffb34acebe7a001b22d4fa97f0d5a8.png
■ 图15 运行项目结果(二)
2●JS UI方式实现页面跳转
1. 编写第一个页面
第一个页面内有一个文本和一个按钮,通过Text和Button组件来实现。
在Project窗口中选择entry→src→main→js→default→pages.index,打开index.hml文件,添加一个文本和一个按钮,示例代码如下。
步调清单7: chart10\HMDemoJS\entry\src\main\js\default\pages\index\index.hml
https://i-blog.csdnimg.cn/blog_migrate/b51e997a4c859313fffea6abd79ced78.png
打开index.css文件,设置文本和按钮的样式,示例代码如下。
步调清单8: chart10\HMDemoJS\entry\src\main\js\default\pages\index\index.css
https://i-blog.csdnimg.cn/blog_migrate/e06589b65c9ecb01f198ee3ea6c9c832.png
https://i-blog.csdnimg.cn/blog_migrate/51f89e7462090eff74a9ae409c19de7f.png
使用预览器或模仿器运行项目,结果如图16所示。
https://i-blog.csdnimg.cn/blog_migrate/d045f6624d6b5f57d3bdc1a5f00a5595.png
■ 图16 运行项目结果(三)
2. 创建另一个页面
在Project窗口中打开entry→src→main→js→default,右击pages.index文件夹,选择New→JS Page,定名为details,按Enter键。
创建完成后,可以看到pages.index文件夹下的文件目录结构如图17所示。
https://i-blog.csdnimg.cn/blog_migrate/34f4d08ce34d60c00f76fc353ee422e1.png
■ 图17 pages.index目录结构
打开details.hml文件,添加一个文本,示例代码如下。
步调清单9: chart10\HMDemoJS\entry\src\main\js\default\
https://i-blog.csdnimg.cn/blog_migrate/59664b80584fdd643ead71855da00eb1.png
打开details.css文件,设置文本的样式,示例代码如下。
步调清单10: chart10\HMDemoJS\entry\src\main\js\default\pages\index\details\details.hml
https://i-blog.csdnimg.cn/blog_migrate/d39709601cd586c4497bd3e4a2fd2c24.png
3. 实现页面跳转
打开第一个页面的index.js文件,导入router模块,页面路由router根据页面的uri来找到目标页面,从而实现跳转。示例代码如下。
步调清单11: chart10HMDemoJS\entry\src\main\js\default\pages\index\index.js
https://i-blog.csdnimg.cn/blog_migrate/806c86775a9cc9cba43c17bb928756aa.png
再次运行项目,结果如图18所示。
https://i-blog.csdnimg.cn/blog_migrate/3e4fd15ef1835bcf5845ade43af34b10.png
■ 图18运行项目结果(四)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]