简介

快应用是一种基于行业标准开发的新型免安装应用,其标准由主流手机厂商组成的快应用联盟联合制定。开发者开发一次即可将应用分发到所有支持行业标准的手机运行。

您将建立什么

在本次Codelab中,您将使用快应用IDE开发一个简易浏览器客户端,实现功能要求如下:

  1. 浏览器需要有输入栏,输入内容,可以通过开发者联盟文档网站搜索。
  2. 需要支持扫描,扫描网页的二维码,可以跳转到对应的网页。
  3. 退出浏览器时,需要保存当前的浏览地址。重启应用后,能打开上次退出时的页面。

您将会学到什么

硬件要求

软件要求

需要的知识点

Android基础开发能力。

在正式开发快应用前,您需要完成以下准备工作:

具体操作,请按照"快速开始"中的"前期准备"详细说明来完成。
  1. 打开华为快应用IDE,在欢迎界面导航选择"新建项目 > 快应用",选择"手机与平板",点击"下一步"。
  2. 选择"通用模板"页签,选择"Hello World"模板,点击"下一步"。
  3. 配置快应用项目信息后,点击"确定"。
    • 应用名称:填写"quickappcodelabdemo"。
    • 应用包名:填写"com.huawei.quickappdemo"。
    • 工作空间:选择代码存放的硬盘路径。

至此,已经创建了一个快应用项目。

  1. 将测试手机使用USB数据线连接装有华为快应用IDE的电脑。打开测试手机的"开发者模式",详细打开方式参见"华为手机如何打开开发者选项"。
  2. 连接成功后,选择需要编译调试的文件,点击"运行"。
  3. 在弹出页面选择运行设备,点击"确认"。
  4. 如果手机上没有安装快应用引擎,将在右下角弹出提示框,点击"安装"进行安装。已安装则跳过此步骤。
  5. 在弹出的手机模拟窗口可以查看编译后的效果。

编辑Template的内容

网页整体采用竖向布局,分为输入区和网页展示区两部分。

编辑Style的内容

替换hello.ux 文件中style部分的代码,增加输入区和网页展示区的CSS样式。

<style> .container { flex-direction: column; justify-content: center; align-items: center; padding: 15px; } .content { width: 100%; height: 100%; margin-top: 50px; } .header div { border: 1px solid #afafff; padding: 20px; } .header .scan, .header .search { width: 20%; } .header .scan text, .header .search text { margin: 0 auto; } .header input { width: 60%; } </style>

编辑Script的内容

在Script内实现所有操作的逻辑处理,主要实现:扫一扫、记录输入的内容、搜索和获取当前网址并存储。

<script> import barcode from '@system.barcode'; import storage from '@system.storage'; module.exports = { data: { componentData: {}, //the following is the default webpage url: 'https://developer.huawei.com/consumer/cn/quickApp', searchWord: '', }, //scan scanCode() { let that = this; barcode.scan({ success: function (data) { console.log('handling success: ' + data.result); that.url = data.result; }, fail: function (data, code) { console.log('handling fail, code = ' + code); } }) }, //record the input changeWord(e) { this.searchWord = e.value; }, //search search() { this.$element('selectionInput').focus({ focus: false }) this.url = "https://developer.huawei.com/consumer/cn/doc/search?val=" + this.searchWord; }, //get the current url and store it onPageFinish(e) { console.log('pagefinish: ' + e.url); storage.set({ key: 'webUrl', value: e.url, success: function (data) { console.log("handling success"); }, fail: function (data, code) { console.log("handling fail, code = " + code); } }) }, //the onBackPress callback needs to be implemented when the webpage goes back onBackPress() { this.$element('web').canBack({ callback: function (e) { if (e) { this.$element('web').back(); } else { let router = require('@system.router'); router.back() } }.bind(this) }) return true; }, //obtain the stored url when reopening the webpage onInit() { let that = this; storage.get({ key: 'webUrl', success: function (data) { console.log("handling success:", data); that.url = data; }, fail: function (data, code) { console.log("handling fail, code = " + code); } }) this.$page.setTitleBar({ text: 'BrowserDemo', textColor: '#ffffff', backgroundColor: '#007DFF', backgroundOpacity: 0.5, menu: true }); } } </script>

编辑Manifest文件

打开Manifest.json文件,声明需要使用的内容。

"features": [ {"name": "system.barcode"}, {"name": "system.storage"}],
  1. 手机成功连接电脑后,点击"运行"。
  2. 加载首页将打开设置的默认网页(样例以快应用官方文档网站作为默认网页)。

    输入关键字"快应用",点击"search",打开搜索结果的页面。
  3. 点击"×",点击IDE中"运行"重启应用,会进入上次退出时的页面。
  4. 点击"scan",能启动手机摄像头扫描。
  5. 扫描如下二维码,能顺利打开网页。
  1. 选择需要调试的文件后,点击"调试"。
  2. 查看调试服务启动过程中控制台的日志输出。
  3. 调试进程启动完成,启动调试窗口。
  4. 再次点击调试按钮,关闭之前的调试窗口,日志输出"Debug service has been closed"。

通过发布体验版本,华为快应用IDE会生成体验码,其他用户使用"快应用研发助手"通过扫描二维码或者输入体验码,就可提前体验开发完的快应用。

  1. 使用IDE打开待体验的项目工程,使用华为帐号登录IDE。
  2. 点击"发布"。
  3. 在"版本发布"页面选择"体验版"后,点击"确认"。
  4. 如果没有登录,IDE右下角会弹出登录的提示。点击右上角"登录",在登录页面输入已注册并认证的华为帐号和密码并登录。
  5. 如果没有签名,IDE右下角会弹出创建签名文件的提示,点击"创建签名"。
  6. 在"创建新的签名"页面中输入相关信息,点击"创建"生成证书。
  7. 在"打包体验版本"页面,可对版本名和版本号进行编辑,点击"下一步"。
  8. 体验版本的有效期为7天,用于获取体验版本的体验码有效期可以设置为15分钟、30分钟和60分钟三种,设置完成点击"提交"。
  9. 生成体验版本的二维码和体验码。
  10. 打开待体验的快应用。
    场景1:扫码体验
    • 手机浏览器扫描二维码。
    • 在华为应用市场搜索并打开"快应用研发助手",使用华为帐号登录。
      在"快应用研发助手"中点击"+",选择"扫描二维码添加"。
    场景2:体验码体验
    在华为应用市场搜索并打开"快应用研发助手",使用华为帐号登录。
    在"快应用研发助手"中点击"+",选择"输入体验码添加"。
  1. 菜单选择"构建 > 打包正式版本",打包release版本rpk。
  2. 在"打包正式版本"页面,可对版本名和版本号进行编辑。点击"确定",打包完成后,会自动弹出项目工程的dist目录,该目录下的rpk包可以提交给华为进行审核。审核通过后,该快应用即可在华为应用市场上架。

干得好,您已经成功完成了codelab并学到了:

您可以阅读下面链接,了解更多相关的信息:

快应用指南

快应用API参考

Code copied