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

网站建设公司排行合肥seo服务商

网站建设公司排行,合肥seo服务商,申请新账号 免费,如何自己做论坛网站前言#xff1a; 最近有在学习这个鸿蒙的ark ui开发 因为鸿蒙不是发布了一个鸿蒙next的测试版本 明年会启动纯血鸿蒙应用 所以我就想提前给大家写一些博客文章 效果图 11-24 16:26:22.005 25156-25156/com.example.httpsrequest E A0ff00/HTTPS: 请求状态 -- 200, %{pub…前言 最近有在学习这个鸿蒙的ark ui开发 因为鸿蒙不是发布了一个鸿蒙next的测试版本 明年会启动纯血鸿蒙应用 所以我就想提前给大家写一些博客文章 效果图 11-24 16:26:22.005 25156-25156/com.example.httpsrequest E A0ff00/HTTPS: 请求状态 -- 200, %{public}s 11-24 16:26:22.006 25156-25156/com.example.httpsrequest E A0ff00/HTTPS: 请求成功, %{public}s 11-24 16:26:22.006 25156-25156/com.example.httpsrequest E A0ff00/HTTPS: 请求返回数据, {\ret\:1,\data\:[{\id\:\8289\,\title\:\\\u6cb9\\u7116\\u5927\\u867e\,\pic\:\http:\\/\\/www.qubaobei.com\\/ios\\/cf\\/uploadfile\\/132\\/9\\/8289.jpg\,\collect_num\:\1670\,\food_str\:\\\u5927\\u867e \\u8471 \\u751f\\u59dc \\u690d\\u7269\\u6cb9 \\u6599\\u9152\,\num\:1670},{\id\:\2127\,\title\:\\\u56db\\u5ddd\\u56de\\u9505\\u8089\,\pic\:\http:\\/\\/www.qubaobei.com\\/ios\\/cf\\/uploadfile\\/132\\/3\\/2127.jpg\,\collect_num\:\1592\,\food_str\:\\\u732a\\u8089 \\u9752\\u849c \\u9752\\u6912 \\u7ea2\\u6912 \\u59dc\\u7247\,\num\:1592},{\id\:\30630\,\title\:\\\u8d85\\u7b80\\u5355\\u8292\\u679c\\u5e03\\u4e01\,\pic\:\http:\\/\\/www.qubaobei.com\\/ios\\/cf\\/uploadfile\\/132\\/31\\/30630.jpg\,\collect_num\:\1552\,\food_str\:\QQ\\u7cd6 \\u725b\\u5976 \\u8292\\u679c\,\num\:1552},{\id\:\9073\,\title\:\\\u5bb6\\u5e38\\u7ea2\\u70e7\\u9c7c\,\pic\:\http:\\/\\/www.qubaobei.com\\/ios\\/cf\\/uploadfile\\/132\\/10\\/9073.jpg\,\co具体实现 添加网络访问权限 在module.json5 里面添加网络访问权限 requestPermissions: [{name: ohos.permission.INTERNET} ]创建HTTPS请求 HTTPS协议是位于应用层的一种安全传输协议与HTTP最大的区别是服务端与客户端之间进行数据传输都会经过TLS/SSL加密。该示例请求测试接口地址并将请求得到的再日志里面打印出来。效果如图所示 请求工具类 首先在OkHttpUtil.ets中调用createHttp方法创建一个请求任务再通过request方法发起网络请求。该方法支持三个参数url、options以及callback回调其中options可以设置请求方法、请求头以及超时时间等。 import http from ohos.net.http; import Constants, { ContentType } from ../constant/Constants; import Logger from ./Logger; import { NewsData } from ../viewmodel/NewsData;export function httpRequestGet(url: string) {return httpRequest(url, http.RequestMethod.GET); }export function httpRequestPost(url: string, params?: NewsData) {return httpRequest(url, http.RequestMethod.POST, params); }function httpRequest(url: string, method: http.RequestMethod,params?: NewsData){let httpRequest http.createHttp();let responseResult httpRequest.request(url, {method: method,readTimeout: Constants.HTTP_READ_TIMEOUT,//读取超时时间 可选默认为60000msheader: {Content-Type: ContentType.JSON},connectTimeout: Constants.HTTP_READ_TIMEOUT,//连接超时时间 可选默认为60000msextraData: params // 请求参数});return responseResult.then((value: http.HttpResponse){Logger.error(请求状态 -- value.responseCode)if(value.responseCode200){Logger.error(请求成功);let getresult value.result;Logger.error(请求返回数据, JSON.stringify(getresult));return getresult;}}).catch((err){return ;}); }日志工具类 /** Copyright (c) 2023 Huawei Device Co., Ltd.* Licensed under the Apache License, Version 2.0 (the License);* you may not use this file except in compliance with the License.* You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an AS IS BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/import hilog from ohos.hilog;class Logger {private domain: number;private prefix: string;private format: string %{public}s, %{public}s;/*** constructor.** param Prefix Identifies the log tag.* param domain Domain Indicates the service domain, which is a hexadecimal integer ranging from 0x0 to 0xFFFFF.*/constructor(prefix: string MyApp, domain: number 0xFF00) {this.prefix prefix;this.domain domain;}debug(...args: string[]): void {hilog.debug(this.domain, this.prefix, this.format, args);}info(...args: string[]): void {hilog.info(this.domain, this.prefix, this.format, args);}warn(...args: string[]): void {hilog.warn(this.domain, this.prefix, this.format, args);}error(...args: string[]): void {hilog.error(this.domain, this.prefix, this.format, args);} }export default new Logger(HTTPS, 0xFF00)然后在view中展示去点击触发请求 import webView from ohos.web.webview; import http from ohos.net.http; import httpGet from ../common/utils/HttpUtil; import StyleConstant from ../common/constant/StyleConstant; import CommonConstant from ../common/constant/CommonConstants; import { httpRequestGet } from ../common/utils/OKhttpUtil;Entry Component struct WebPage {controller: webView.WebviewController new webView.WebviewController();State buttonName: Resource $r(app.string.request_button_name);State webVisibility: Visibility Visibility.Hidden;State webSrc: string CommonConstant.DISH;build() {Column() {Row() {Image($r(app.media.ic_network_global)).height($r(app.float.image_height)).width($r(app.float.image_width))TextInput({ placeholder: $r(app.string.input_address), text: this.webSrc }).height($r(app.float.text_input_height)).layoutWeight(1).backgroundColor(Color.White).onChange((value: string) {this.webSrc value;})}.margin({top: $r(app.float.default_margin),left: $r(app.float.default_margin),right: $r(app.float.default_margin)}).height($r(app.float.default_row_height)).backgroundColor(Color.White).borderRadius($r(app.float.border_radius)).padding({left: $r(app.float.default_padding),right: $r(app.float.default_padding)})Row() {Web({ src: this.webSrc, controller: this.controller }).zoomAccess(true).height(StyleConstant.FULL_HEIGHT).width(StyleConstant.FULL_WIDTH)}.visibility(this.webVisibility).height(StyleConstant.WEB_HEIGHT).width(StyleConstant.FULL_WIDTH).align(Alignment.Top)Row() {Button(this.buttonName).fontSize($r(app.float.button_font_size)).width(StyleConstant.BUTTON_WIDTH).height($r(app.float.button_height)).fontWeight(FontWeight.Bold).onClick(() {this.onRequest();})}.height($r(app.float.default_row_height))}.width(StyleConstant.FULL_WIDTH).height(StyleConstant.FULL_HEIGHT).backgroundImage($r(app.media.ic_background_image, ImageRepeat.NoRepeat)).backgroundImageSize(ImageSize.Cover)}async onRequest() {httpRequestGet(CommonConstant.DISH).then((data){console.log(data --- data);});} }分析 模块源码 可知通过request方法建立请求后模块底层首先会调用三方库 libcurl 中的curl_easy_init初始化一个简单会话。初始化完成后接着调用curl_easy_setopt方法设置传输选项。其中CURLOPT_URL用于设置请求的URL地址对应request中的url参数CURLOPT_WRITEFUNCTION可以设置一个回调保存接收的数据CURLOPT_HEADERDATA支持设置回调在回调中保存响应头数据。 传输选项设置成功后调用curl_multi_perform执行传输请求并通过curl_multi_info_read查询处理句柄是否有消息返回最后进入HandleCurlData方法处理返回数据。 最后总结 ark ui里面网络请求也比较简单 基本用法我上面的代码有展示了写法基本和前端的js很像 有兴趣的有同学可以深入去研究官网里面提到TLS和SSL 握手过程 我这里就不展开分析了 为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》共计890页希望对大家有所帮助https://qr21.cn/FV7h05 《鸿蒙 (Harmony OS)开发学习手册》 入门必看https://qr21.cn/FV7h05 应用开发导读(ArkTS)应用开发导读(Java) HarmonyOS 概念https://qr21.cn/FV7h05 系统定义技术架构技术特性系统安全 如何快速入门https://qr21.cn/FV7h05 基本概念构建第一个ArkTS应用构建第一个JS应用…… 开发基础知识https://qr21.cn/FV7h05 应用基础知识配置文件应用数据管理应用安全管理应用隐私保护三方应用调用管控机制资源分类与访问学习ArkTS语言…… 基于ArkTS 开发https://qr21.cn/FV7h05 Ability开发UI开发公共事件与通知窗口管理媒体安全网络与链接电话服务数据管理后台任务(Background Task)管理设备管理设备使用信息统计DFX国际化开发折叠屏系列……
http://wiki.neutronadmin.com/news/334360/

相关文章:

  • 北京网站建设企业网站交易平台建设
  • 数据管理系统网站模板佛山网站优化什么价格
  • 网站建设公司是什么重庆正云环保建设网站
  • seo网站优化培训怎么做运行怎么卸载wordpress
  • wordpress网站百度收录首页易迈互联网站建设怎么样
  • 邻水网站建设网站模板flash
  • 建设校园网站中小企业微网站建设
  • 旅游网站开发意义和价值ios开发入门
  • 做百度网站好吗贵阳做网站哪家公司好
  • 深圳营销型网站制作公司网站百度显示绿色官网字如何做的
  • 建筑企业资质查询官方网站组织建设 湖南省直工会网站
  • 怎么样做网站视频wordpress 上传插件
  • 重庆市建设工程信息网官方网站网络公司经营范围许可
  • 建站边检站网站如何做地推
  • 自建网站做外贸谷歌推广wordpress设置菜单跳转到锚
  • 柳州做网站人员微信小程序开发环境搭建
  • 淮安网站建设哪家好推广软件赚钱的app
  • 潮州网站制作泰州哪家做网站建设比较好
  • 17网站一起做网店类似的网站设计计划书模板
  • 盘州市网站建设租车做什么网站推广
  • 西安企业建站在哪里做东昌网站建设公司
  • 网站的页头页脚怎么做求网站建设详细过程
  • 网站后台更新功能型类的网站
  • 易语言可以建设网站吗做加盟童装交流网站
  • 百度做的网站字体侵权兴义哪有做网站
  • 赣州网站建设hyxxjswordpress下载页面模板
  • 郑州网站建设学习1万一个月扣多少个税
  • 企业建站用什么好做家政建网站
  • 博客网站的建设汽车配件外贸出口公司
  • 桂林象鼻山离哪个高铁站近wordpress转手机