当前位置: 首页 > news >正文

成都市住房和城乡建设局网站黑龙江省垦区建设协会网站

成都市住房和城乡建设局网站,黑龙江省垦区建设协会网站,云服务器上建网站,华安网站建设1. 环境搭建 开发HarmonyOS需要安装DevEco Studio#xff0c;下载地址 : https://developer.huawei.com/consumer/cn/deveco-studio/ 2. 如何入门 入门HarmonyOS我们可以从一个实际的小例子入手#xff0c;比如获取网络数据#xff0c;并将其渲染到界面上。 本文就是基于…1. 环境搭建 开发HarmonyOS需要安装DevEco Studio下载地址 : https://developer.huawei.com/consumer/cn/deveco-studio/ 2. 如何入门 入门HarmonyOS我们可以从一个实际的小例子入手比如获取网络数据并将其渲染到界面上。 本文就是基于获取网络数据并将其渲染到界面上这个小例子来介绍如何入门HarmonyOS。 3. 鸿蒙获取网络数据并渲染到界面上 3.1 如何发起HTTP请求 关于如何发起HTTP请求官网上已经有现成的介绍 : 从网络获取数据-华为开发者学堂 (huawei.com) 对应的代码如下可以发现和Android上发起HTTP请求差别不大只不过Android中一般用的是Okhttp这个库而鸿蒙这里用的是自带的http这个库。 export function httpRequestGet(url: string): PromiseResponseResult {let httpRequest http.createHttp();let responseResult httpRequest.request(url, {method: http.RequestMethod.GET,readTimeout: Const.HTTP_READ_TIMEOUT,header: {Content-Type: ContentType.JSON},connectTimeout: Const.HTTP_READ_TIMEOUT,extraData: {}});let serverData: ResponseResult new ResponseResult();// Processes the data and returns.return responseResult.then((value: http.HttpResponse) {if (value.responseCode Const.HTTP_CODE_200) {// Obtains the returned data.let result ${value.result};let resultJson: ResponseResult JSON.parse(result);if (resultJson.code Const.SERVER_CODE_SUCCESS) {serverData.data resultJson.data;}serverData.code resultJson.code;serverData.msg resultJson.msg;} else {serverData.msg ${$r(app.string.http_error_message)}${value.responseCode};}return serverData;}).catch(() {serverData.msg $r(app.string.http_error_message);return serverData;}) }接下来我们用实际代码来实现一个简单的demo。 3.2 搭建HTTP服务器 这里我们用到了一个现成的服务器 : https://gitee.com/harmonyos_codelabs/NewsData 这是一个关于新闻资讯的服务器服务器基于node.js具体环境搭建详见 gitee 中的说明文档。 启动成功后的效果如下 3.3 编写HTTP请求相关代码 这里请求的是刚才我们启动的本地服务器中的/news/getNewsType接口用来获取新闻类别。 当请求成功后会直接以String字符串的形式赋值给serverData.data。 这里我将相关代码放到了IndexViewModel.ts中。 class IndexViewModel{export async function httpRequestAsync() : PromiseResponseResult {let httpResult await httpRequestGet(http://192.168.102.141:9588/news/getNewsType)return httpResult}export function httpRequestGet(url: string): PromiseResponseResult {let httpRequest http.createHttp();let responseResult httpRequest.request(url, {method: http.RequestMethod.GET,/*header: {Content-Type: application/json},*/readTimeout: 15,connectTimeout: 15,});let serverData: ResponseResult new ResponseResult();return responseResult.then((value: http.HttpResponse) {serverData.code value.responseCodeserverData.data value.result.toString();return serverData;}).catch(() {serverData.data http_error_message;return serverData;})} }3.4 编写界面 这里用到了鸿蒙里基础的界面组件。比如Column是一个列表组件Text是一个文本组件Button是一个按钮组件。 具体组件的信息可以查阅官网文档。 Button官方文档Text官方文档Column官方文档 Entry Component struct Index {State message: string Hello World;build() {Column() {Text(this.message).id(H).fontSize(30).fontWeight(FontWeight.Bold).alignRules({center: { anchor: __container__, align: VerticalAlign.Center },middle: { anchor: __container__, align: HorizontalAlign.Center }})Button(){Text(button).fontSize(20).textAlign(TextAlign.Center).width(60%).height(48).fontWeight(FontWeight.Bold)}.onClick(event{//TODO 按钮点击事件待实现})}.height(100%).width(100%)} }3.5 按钮点击事件 这里我们希望点击Button按钮的时候就能发起HTTP请求向服务器获取数据。 在这之前我们需要先添加IndexViewModel.ts里相关方法的引用。 import { httpRequestAsync, httpRequestGet } from ../viewmodel/IndexViewModel;接着就可以在onClick点击事件里调用方法发起HTTP请求了。 在HTTP请求回调中会将响应的数据赋值给message变量而这个message变量是在Text组件中显示的。当这个message变量改变的时候UI会自动刷新界面。 .onClick(event{httpRequestAsync().then((value){this.message ${value.code} ${value.data}}) })接着运行项目可以发现能正常发起HTTP请求并将数据渲染到界面上了。 4. 其他遇到的问题 在入门鸿蒙开发途中还遇到了其他的一些小问题再次一并记录。 4.1 自动生成签名 运行到鸿蒙模拟器上时是不需要签名的。但是运行到真机上时是需要签名的我们可以配置自动生成一个签名如下图所示在Project Structure中。 4.2 ArkTS工程目录结构 AppScope app.json5应用的全局配置信息详见app.json5配置文件。 entryHarmonyOS工程模块编译构建生成一个HAP包。 src main ets用于存放ArkTS源码。 src main ets entryability应用/服务的入口。 src main ets entrybackupability应用提供扩展的备份恢复能力。 src main ets pages应用/服务包含的页面。 src main resources用于存放应用/服务所用到的资源文件如图形、多媒体、字符串、布局文件等。关于资源文件详见资源分类与访问。 src main module.json5模块配置文件。主要包含HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息。具体的配置文件说明详见module.json5配置文件。 build-profile.json5当前的模块信息 、编译信息配置项包括buildOption、targets配置等。 hvigorfile.ts模块级编译构建任务脚本。 obfuscation-rules.txt混淆规则文件。混淆开启后在使用Release模式进行编译时会对代码进行编译、混淆及压缩处理保护代码资产。详见开启代码混淆。 oh-package.json5用来描述包名、版本、入口文件类型声明文件和依赖项等信息。 oh_modules用于存放三方库依赖信息。 build-profile.json5工程级配置信息包括签名signingConfigs、产品配置products等。其中products中可配置当前运行环境默认为HarmonyOS。 hvigorfile.ts工程级编译构建任务脚本。 oh-package.json5主要用来描述全局配置如依赖覆盖overrides、依赖关系重写overrideDependencyMap和参数化配置parameterFile等。 原文链接 : 鸿蒙课程学习总结01_鸿蒙compatiblesdkversion12-CSDN博客 4.3 同时适配手机和平板 : GridRow / GridCol 通过GridRow的Columns和GridCol的span的xs,sm,md,lg可以同时适配不同的平板/手机。 GridRow columns: 5 ; GridColspan: { xs: 1, sm: 2, md: 3, lg: 4 } (都带有margin left right : 10) 手机效果 平板效果 4.4 获取bundleName的方法 const bundleName (getContext(this) as common.UIAbilityContext).applicationInfo.name; const url bundle:${bundleName}/phone/ets/pages/MainPage;4.5 HarmonyOS 实用Demo/组件仓库 Codelabs: 分享知识与见解一起探索HarmonyOS的独特魅力 帮助开发者快速熟悉OpenHarmony SDK所提供的API和应用开发流程我们提供了一系列的应用示例 (gitee.com)
http://www.hkea.cn/news/14297342/

相关文章:

  • 蚌埠建设网站学校 网站建设 招标
  • 网站 建设 成品centos wordpress 整站
  • 创建个人网站制作流程步骤青岛专业网站营销
  • 做企业云网站的企业邮箱深圳市宝安区松岗街道邮政编码
  • 网页设计与网站建设期末考试金坛市住房和城乡建设局网站
  • 银行网站 设计方案wordpress主题 Grace
  • 手机网站菜单网页怎么做网站单页面怎么做的
  • 花瓣网设计网站交互式网站定义
  • 怎么能自己做网站河南省建设工程网站
  • 响应式企业网站开发所用的平台加盟代理网
  • 域网站名分类收费网站空间
  • 网站开发企业需要什么资质个人怎么做百度竞价
  • 团队建设 深度好文分享的网站搜狗收录提交
  • 外贸做的社交网站有哪些友情链接交换网址大全
  • 关于室内设计的网站有哪些创建个人百度百科
  • 网站开发所需要的时间 知乎江西响应式网页建设
  • 高端建站网站手机网站域名解析
  • 南希网站建设货车保险哪家网站可以直接做
  • 网站title是什么公司网站百度搜不到
  • 济南设计网站的公司单位网站建设ppt
  • 互联网建站公司中建八局第一建设有限公司装饰
  • 一页网站京津冀协同发展存在的突出问题
  • 哪个网站做新中式wordpress主题无法更换
  • 做营销型网站用那个cms好网站模板之家官网
  • 东莞建站模板公司济南智能网站建设
  • 邯郸网站建设方案广东省优质高职院校建设网站
  • 小说网站做编辑怎么设置wordpress底栏文字
  • h5网站开发哪个好aso优化师工作很赚钱吗
  • 惠州地区网站建设公司asp.net网站制作步骤
  • 烟台市城市建设发展有限公司网站2021最新新闻及点评