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

昆明网站开发公司物联网工程是干什么的

昆明网站开发公司,物联网工程是干什么的,用阿里巴巴做公司网站怎么样,深圳哪家做网站好概述 本示例展示了同一设备中前后台的数据交互#xff0c;用户前台选择相应的商品与数目#xff0c;后台计算出结果#xff0c;回传给前台展示。 样例展示 基础信息 RPC连接 介绍 本示例使用[ohos.rpc]相关接口#xff0c;实现了一个前台选择商品和数目#xff0c;后台…概述 本示例展示了同一设备中前后台的数据交互用户前台选择相应的商品与数目后台计算出结果回传给前台展示。 样例展示 基础信息 RPC连接 介绍 本示例使用[ohos.rpc]相关接口实现了一个前台选择商品和数目后台计算总价的功能使用rpc进行前台和后台的通信。 效果预览 主页选择列表 使用说明 点击商品种类的空白方框弹出商品选择列表选择点击对应的商品空白方框显示相应内容。点击商品选择框后的 或 - 按钮选择商品所对应的数量。点击 Confirm an order 按钮根据相应的菜品数量与单价计算出总价并显示。 具体实现 发送数据在首页的sortString()中通过rpc.MessageSequence.create()创建MessageSequence对象然后通过MessageSequence.writeStringArray()将 我们的处理过的购物数据写入MessageSequence对象中通过rpc.RemoteObject.sendMessageRequest()将我们得出总价所需要的参数发送到进程中 源码参考[Index.ets] /** Copyright (c) 2021-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 rpc from ohos.rpcimport ReceivedData from ../model/ReceivedDataimport { ProcessData } from ../model/ProcessDataimport { Logger } from ../common/Loggerimport { MyDataSource } from ../model/OptionsDataimport { OPTIONS } from ../muck/MyDataimport { TitleBar } from ../common/TitleBarimport { FlexList } from ../common/FlexListconst REQUEST_CODE: number 1type SelectType {subcategory: string,count: number}EntryComponentstruct Index {State send: string State result: number 0private Process: ProcessData new ProcessData()private selectStuffs: ArraySelectType new Array(4).fill({ subcategory: , count: 0 })selectStuff(index: number, good: string, count: number) {Logger.info(index ${index}, count ${count}, good ${good})this.selectStuffs[index] { subcategory: good, count: count }}async sortString(sendData: Arraystring) {Logger.info(sortString is ${sendData})Logger.info(sendData typeof ${typeof (sendData)})let option: rpc.MessageOption new rpc.MessageOption()let data: rpc.MessageSequence rpc.MessageSequence.create()let reply: rpc.MessageSequence rpc.MessageSequence.create()Logger.info(getCallingUid: ${ReceivedData.getCallingUid()} getCallingPid: ${ReceivedData.getCallingPid()})data.writeStringArray(sendData)try {await ReceivedData.sendMessageRequest(REQUEST_CODE, data, reply, option)} catch (err) {Logger.error(sortString failed, ${JSON.stringify(err)})}this.result reply.readInt()reply.reclaim()}build() {Scroll() {Column() {TitleBar()LazyForEach(new MyDataSource(OPTIONS), (item, index) {Row() {FlexList({category: item.category,menu: item.subcategory,index: index,selectStuff: this.selectStuff.bind(this)})}}, item JSON.stringify(item))Column() {Row() {Text($r(app.string.final_price)).width(65%).height(25).fontSize(18).textAlign(TextAlign.Center)Text(this.result.toString()).id(totalPrice).height(25).fontSize(20).margin({ left: 5% }).textAlign(TextAlign.Center)}.justifyContent(FlexAlign.Center).width(80%)Button($r(app.string.confirm)).id(confirmOrderBtn).width(80%).height(40).margin({ top: 30 }).onClick(() {let priceArray this.Process.getPrice(this.selectStuffs)Logger.info(priceArray ${priceArray})this.sortString(priceArray)})}.width(100%).justifyContent(FlexAlign.Center).margin({ top: 20 }).height(30%)}.width(100%)}}}读取数据处理MessageRequest请求的接口封装在ReceivedData里面在这里接收传递来的数据然后经过处理得出总价 并通过rpc.MessageParcel.writeInt()写入MessageParcel对象源码参考[ReceivedData.ets] /** Copyright (c) 2021-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 rpc from ohos.rpcimport { Logger } from ../common/Loggerimport { PRICE_LIST } from ../muck/MyDataconst TAG [eTSRPC.ReceivedData]let resultList: Arraynumber Array.from({ length: 4 }, () 0)class ReceivedData extends rpc.RemoteObject {onRemoteRequest(code: number, data: rpc.MessageParcel, reply: rpc.MessageParcel, option: rpc.MessageOption): boolean {Logger.info(TAG, called)if (code 1) {let result 0let readIntArrtry {readIntArr data.readStringArray()} catch (err) {Logger.error(readStringArray failed, code is ${err.code}, message is ${err.message})}Logger.info(TAG, readIntArr ${readIntArr})for (let i 0; i 4; i) {if (readIntArr[i] 0) {resultList[i] 0} else {resultList[i] PRICE_LIST.get(readIntArr[i]) * Number(readIntArr[i4])}Logger.info(TAG, this.resultList ${resultList})result resultList[i]}try {reply.writeInt(result)} catch (err) {Logger.error(TAG, writeInt failed, code is ${err.code}, message is ${err.message})}Logger.info(TAG, result ${result})} else {Logger.info(TAG, unknown request code)}return true}}export default new ReceivedData(send)鸿蒙OpenHarmony知识待更新
http://www.dnsts.com.cn/news/194870.html

相关文章:

  • 微网站开发 php如何修改wordpress登录域名
  • 阿里巴巴免费建网站聊城网站案例
  • 上海网站推广排名手机网站建设价格表
  • 门户网站欣赏wordpress适合做什么网站吗
  • 单页面 网站怎么用dw做带登陆的网站
  • 仿牌网站专用vps网络合同怎么签有效
  • 在线视频播放网站建设北京网站的网站建设公司
  • 影响网站速度的因素专业自适应网站建设极速建站
  • 公司网站备案需要什么资料青海省公路建设管理局门户网站
  • 学习网站建设课程青岛城阳网站建设
  • 大型门户类网站网站的领券商城怎么做
  • 北京网站建设华网响应式布局怎么实现
  • 高端网站制造福建电信网站备案
  • 包头网站建设设计织梦网站图片怎么修改不了
  • 百度推广免费建站如何做网站内页
  • 网站资源做缓存wordpress mu调取
  • 网站搭建设计方案诸城网站建设的文章
  • 福建工程建设网站给企业建设网站的流程图
  • c 怎么做网站wordpress 除了
  • 吉林做网站的公司淘客网站佣金建设
  • 那些外国网站设计图多企业所得税的优惠政策
  • 辣妹子影院电视剧免费播放长沙优化网站哪家公司好
  • 彩票站自己做网站技能培训机构排名前十
  • 网站建设基本要素临淄网站建设公司
  • 如何选择电商网站建设龙江建站技术
  • 城乡建设网站投稿查域名价格
  • 网站备案需要提交什么资料wordpress怎么二次开发
  • 外贸网站如何做做织带的网站
  • 网页网站设计公司有哪些网站图片代码怎么做的
  • 网站密码如何找回如何帮公司做网站