目录
三、修改图标和名称" >三、修改图标和名称
修改桌面图标和名称" >修改桌面图标和名称
四、添加相关权限" >四、添加相关权限
五、定义数据模型" >五、定义数据模型
六、加载网络数据" >六、加载网络数据
接口说明" >接口说明
测试接口" >测试接口
创建HTTP请求" >创建HTTP请求
七、UI" >七、UI
八、完整源码" >八、完整源码
错误信息
错误描述
可能原因
处理步骤
首页 电脑教程 电脑知识 鸿蒙原生应用随机诗词

鸿蒙原生应用随机诗词

Feb 19, 2024 pm 01:36 PM
file com 鸿蒙

鸿蒙原生应用随机诗词

想了解更多关于开源的内容,请访问:

51CTO 鸿蒙开发者社区

https://ost.51cto.com

运行环境

DAYU200:4.0.10.16

SDK:4.0.10.15

IDE:4.0.600

一、创建应用

点击File->new File->Create Progect。

选择模版:

【OpenHarmony】Empty Ability:

填写项目名,shici,应用包名com.nut.shici,应用存储位置XXX(不要有中文,特殊字符,空格)。

Compile SDK10,Model :Stage。

Device Type 默认就可以。

node,建议16.20.1。

完成以上配置以后点击Finish。

选择在新窗口打开,等待依赖加载完毕。如图所示。

如果大家加载依赖报错的话,检查自己的网络。

二、运行HelloWord

给开发板供电,并连接开发板到电脑,如图所示:

签名:

签名的步骤:

点击File->Project struct。

选择第三项Signing Configs。

这里我们只勾选Automatically generate就可以,不用勾选Suppot HarmonyOS,因为我们运行的是开发板。

点击Apply或者ok就可以。

现在点击按钮运行项目。

控制台打印信息:

$ hdc uninstall com.nut.shici
$ hdc shell mkdir data/local/tmp/a1bdb2dbe1724c67a1106c360a3f1d35
$ hdc file send "/Users/jianguo/Desktop/teaching/ohcode/shici/entry/build/default/outputs/default/entry-default-signed.hap" "data/local/tmp/a1bdb2dbe1724c67a1106c360a3f1d35"
$ hdc shell bm install -p data/local/tmp/a1bdb2dbe1724c67a1106c360a3f1d35 
$ hdc shell rm -rf data/local/tmp/a1bdb2dbe1724c67a1106c360a3f1d35
$ hdc shell aa start -a EntryAbility -b com.nut.shici
登录后复制

证明项目已经成功运行在开发板上。

三、修改图标和名称

修改应用图标和名称:

目录在AppScope/app.json5。

{
"app": {
"bundleName": "com.nut.shici",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:app_icon",
"label": "$string:app_name"
}
}
登录后复制

修改完毕之后如图所示:

修改成功之后,如图所示:

打开方式,在设置-应用管理一栏。

修改桌面图标和名称

修改src/main/module.json5中如图所示的label和icon。

我们修改label的时候,修改中文目录下的就可以。

{
"module": {
"name": "entry",
"type": "entry",
"description": "$string:module_desc",
"mainElement": "EntryAbility",
"deviceTypes": [
"default",
"tablet"
],
"deliveryWithInstall": true,
"installationFree": false,
"pages": "$profile:main_pages",
"abilities": [
{
"name": "EntryAbility",
"srcEntry": "./ets/entryability/EntryAbility.ets",
"description": "$string:EntryAbility_desc",
"icon": "$media:icon",
"label": "$string:EntryAbility_label",
"startWindowIcon": "$media:startIcon",
"startWindowBackground": "$color:start_window_background",
"exported": true,
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
]
}
]
}
}
登录后复制

修改中文目录下的。

效果如图所示:

四、添加相关权限

因为需要用到网络数据,所以添加initent权限。

在src/main/module.json5中modele中添加配置,然后async就可以。

"requestPermissions": [{
"name": "ohos.permission.INTERNET"
}],
登录后复制

五、定义数据模型

在ets目录下新建model文件夹。

新建TS File。

export class ShiciModel {
code: number = 0
message: string = ""
data: ShiCi = new ShiCi()
}

export class ShiCi {
content: string = ""
author: string = ""

origin: string = ""
category: string = ""
c1: string = ""
c2: string = ""
c3: string = ""

// "content": "微雨过,小荷翻。榴花开欲然。",
// "author": "苏轼",
// "origin": "阮郎归·初夏",
// "category": "古诗文-植物-荷花",
// "c1": "gushiwen",
// "c2": "zhiwu",
// "c3": "hehua"
}
登录后复制

六、加载网络数据

接口说明

准备好数据,

接口

接口地址: https://v2.alapi.cn/api/shici

请求方法: [ “GET”, “POST” ]

请求参数:

名称

必填

类型

描述

示例

token

true

string

请求token,用户中心获取。

用户中心获取token

format

false

string

返回格式,支持json,text

json

type

string

诗词类型

all

  • type 参数值说明
  • all 所有类型
  • shuqing抒情
  • siji四季
  • shanshui山水
  • tianqi天气
  • renwu人物
  • shenghuo生活
  • jieri节日
  • dongwu动物
  • zhiwu植物

返回参数:

名称

描述

content

诗词内容

author

作者

origin

诗词题

测试接口

测试工具:Postamn。

{
"code": 200,
"msg": "success",
"data": {
"content": "地冷叶先尽,谷寒云不行。",
"author": "李白",
"origin": "冬日归旧山",
"category": "古诗文-植物-叶子",
"c1": "gushiwen",
"c2": "zhiwu",
"c3": "yezi"
},
"time": 1704770459,
"usage": 0,
"log_id": "603184784204148736"
}
登录后复制

测试如图所示:

创建HTTP请求

导入http模块:

import http from '@ohos.net.http';
import { BusinessError } from '@ohos.base';
登录后复制

创建createHttp:

let httpRequest = http.createHttp();
登录后复制

填写HTTP地址:

httpRequest.request(// 填写HTTP请求的URL地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
"https://v2.alapi.cn/api/shici",
{
method: http.RequestMethod.GET, // 可选,默认为http.RequestMethod.GET
// // 开发者根据自身业务需要添加header字段
header: [{
'Content-Type': 'application/json'
}],
// 当使用POST请求时此字段用于传递内容
extraData: {
"token": "自己的token",
"type": "all",
"format": "json"
},
 
}, (err: BusinessError, data: http.HttpResponse) => {
 
}
);
登录后复制

对网络数据的处理:

if (!err) {


// data.result为HTTP响应内容,可根据业务需要进行解析
console.info('Result:' + JSON.stringify(data.result));
console.info('code:' + JSON.stringify(data.responseCode));
// data.header为HTTP响应头,可根据业务需要进行解析
console.info('header:' + JSON.stringify(data.header));
console.info('cookies:' + JSON.stringify(data.cookies)); // 8+
// 当该请求使用完毕时,调用destroy方法主动销毁
httpRequest.destroy();
} else {
this.message = JSON.stringify(err)
console.error('error:' + JSON.stringify(err));
// 取消订阅HTTP响应头事件
httpRequest.off('headersReceive');
// 当该请求使用完毕时,调用destroy方法主动销毁
httpRequest.destroy();
}
登录后复制

完成以上配置以后。

在应用程序里测试网络请求。

build() {

Column() {

Button("测试网络请求").onClick(() => {
this.httpData()
})
}.width("100%").height("100%").justifyContent(FlexAlign.Center)
}
}
登录后复制

如图所示:

测试成功。

如果2300006错误码,请检查网络。

七、UI

数据获取到之后,我们就剩在页面上显示了。

U I布局如图所示。

build() {

Column() {
Text(this.shici.origin).fontSize(30).fontWeight(800)
Text(this.shici.author).fontSize(20).fontWeight(300).fontColor(Color.Orange)
Text(this.shici.category).fontSize(20).fontWeight(300).fontColor(Color.Green)


}.width("100%").height("100%").justifyContent(FlexAlign.Center)
}
登录后复制

八、完整源码

import http from '@ohos.net.http';
import { BusinessError } from '@ohos.base';
import promptAction from '@ohos.promptAction';
import { ShiCi, ShiciModel } from '../../model/ShiCiModel';


class shiciType {
title: string = ""
desc: string = ""
}

@Entry
@Component
struct Index {
@State shici: ShiCi = new ShiCi()
@State typeList: Array = [
{ title: "抒情",
desc: "shuqing"

},
{ title: "四季",
desc: "siji"

},
{ title: "山水",
desc: "shanshui"

}
,
{ title: "天气",
desc: "tianqi"

}


]

aboutToAppear() {
this.httpData("all")
}

httpData(type: string) {


// 3.每一个httpRequest对应一个HTTP请求任务,不可复用
let httpRequest = http.createHttp();
//4.
httpRequest.request(// 填写HTTP请求的URL地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
"https://v2.alapi.cn/api/shici",
{
method: http.RequestMethod.GET, // 可选,默认为http.RequestMethod.GET
// // 开发者根据自身业务需要添加header字段
header: [{
'Content-Type': 'application/json'
}],
// 当使用POST请求时此字段用于传递内容
extraData: {
"token": "你的token",

"type": type,
"format": "json"
},

}, (err: BusinessError, data: http.HttpResponse) => {
if (!err) {
// data.result为HTTP响应内容,可根据业务需要进行解析
console.info('Result:' + JSON.stringify(data.result));
let ShiciModel: ShiciModel = JSON.parse(data.result.toString())
this.shici = ShiciModel.data

console.info('code:' + JSON.stringify(data.responseCode));
 
// 当该请求使用完毕时,调用destroy方法主动销毁
httpRequest.destroy();
} else {

console.error('error:' + JSON.stringify(err));
// 取消订阅HTTP响应头事件
httpRequest.off('headersReceive');
// 当该请求使用完毕时,调用destroy方法主动销毁
httpRequest.destroy();
}
}
);
}

build() {

Column() {


Row() {
ForEach(this.typeList, (item: shiciType) => {

Text(item.title).fontSize(30).margin(20)
.onClick(() => {

this.httpData(item.desc)
})
})

}

Button(
"抒情"
).onClick(() => {
this.httpData("shuqing")
})

Button(
"四季"
).onClick(() => {
this.httpData("siji")
})


Text(this.shici.origin).fontSize(30).fontWeight(800)
Text(this.shici.author).fontSize(20).fontWeight(300).fontColor(Color.Orange)
Text(this.shici.category).fontSize(20).fontWeight(300).fontColor(Color.Green)


}.width("100%").height("100%").justifyContent(FlexAlign.Center)
}
}
登录后复制

九、总结

本文我们学习了基础组件的使用,网络请求,以及状态管理。

十、FAQ

2300006 域名解析失败

错误信息

Couldn’t resolve host name。

错误描述

服务器的域名无法解析。

可能原因

  • 传入的服务器的URL不正确。
  • 网络不通畅。

处理步骤

  • 请检查输入的服务器的URL是否合理。
  • 请检查网络连接情况

想了解更多关于开源的内容,请访问:

51CTO 鸿蒙开发者社区

https://ost.51cto.com

以上是鸿蒙原生应用随机诗词的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

余承东卸任华为终端BG CEO,何刚将接任 余承东卸任华为终端BG CEO,何刚将接任 May 02, 2024 pm 04:01 PM

根据多家媒体报道,华为于4月30日下午内部发布人事调整文件,宣布余承东将卸任华为终端BGCEO一职。余承东将仍保留终端BG董事长职位。原华为终端BG、首席运营官何刚将接任华为终端BGCEO职位。据透露,除了上述个人事变动调整外,该文件并无更多信息。关于这次重大人事变动的背景和余承东卸任终端BGCEO之后新的业务重心,也未有进一步的说明。有消息源表示,此次调整属于常规的业务架构调整,可让余承东有更多精力为消费者打造精品。余承东出生于1969年,本科毕业于西北工业大学自动控制系,硕士毕业于清华大学,

HarmonyOS NEXT 原生智能开启 AI 大模型时代的 OS 新体验!华为小艺变身智能体 HarmonyOS NEXT 原生智能开启 AI 大模型时代的 OS 新体验!华为小艺变身智能体 Jun 22, 2024 am 02:30 AM

AI大模型已经成为当下科技圈炙手可热的话题,越来越多的企业开始布局大模型能力,越来越多的产品开始强调AI。但是从目前的体验来看,市场上涌入的大部分AI产品,往往只是在应用层面简单地集成了大模型应用,并未从底层实现系统性的AI技术变革。在HDC2024上,伴随着HarmonyOSNEXT面向开发者和先锋用户开放Beta,华为向业界展示了什么是真正的“原生智能”——拥有系统级AI能力,AI不再仅仅是手机的附加品,而是与操作系统深度融合,成为系统级的核心能力。据介绍,通过软硬芯云整合,HarmonyO

小艺升级为智能体!HarmonyOS NEXT鸿蒙原生智能开启全新AI时代 小艺升级为智能体!HarmonyOS NEXT鸿蒙原生智能开启全新AI时代 Jun 22, 2024 am 01:56 AM

6月21日,华为开发者大会2024(HDC2024)再聚东莞松山湖。本届大会上,最令人关注的莫过于HarmonyOSNEXT正式面向开发者和先锋用户启动Beta,并全方位展示了HarmonyOSNEXT全场景、原生智能和原生安全三大“王炸”级创新特性。HarmonyOSNEXT原生智能:开启全新AI时代放弃安卓框架之后,HarmonyOSNEXT成为真正独立于安卓、iOS的操作系统,堪称是一场史无前例的脱胎换骨。在其众多新特性中,原生智能无疑是最能带给用户直观感受和体验升级的新特性

在OpenHarmony本地部署大语言模型 在OpenHarmony本地部署大语言模型 Jun 07, 2024 am 10:02 AM

本文将第二届OpenHarmony技术大会上展示的《在OpenHarmony本地部署大语言模型》成果开源,开源地址:https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/thirdparty/InferLLM/docs/hap_integrate.md。实现思路和步骤移植轻量级LLM模型推理框架InferLLM到OpenHarmony标准系统,编译出能在OpenHarmony运行的二进制产物。InferLLM是一个简单高效的L

华为WATCH 4系列推送HarmonyOS 4.2 Beta:新增控车等多项重磅功能 华为WATCH 4系列推送HarmonyOS 4.2 Beta:新增控车等多项重磅功能 Apr 25, 2024 pm 04:10 PM

4月25日消息,最近,华为推出了HarmonyOS4.2Beta的更新推送,为用户带来了诸多全新功能,其中最引人瞩目的当属控车功能的加入。据用户反馈,华为WATCH4在此次更新中,新增了对问界M9和智界S7两款车型的NFC车钥匙与蓝牙车钥匙的支持。这意味着,用户现在可以直接通过手表来解锁和启动他们的汽车,极大地提升了使用的便捷性。同时,手表版的AITO应用也得到了升级,为问界车型的用户提供了语音控车的能力,包括开关后备箱、解锁和落锁等操作。此外,还特别为问界M9定制了尊享表盘,以满足用户的个性化

鸿蒙智行享界S9及全场景新品发布会,多款重磅新品齐发 鸿蒙智行享界S9及全场景新品发布会,多款重磅新品齐发 Aug 08, 2024 am 07:02 AM

今天下午,鸿蒙智行正式迎来了新品牌与新车。 8月6日,华为举行鸿蒙智行享界S9及华为全场景新品发布会,带来了全景智慧旗舰轿车享界S9、问界新M7Pro和华为novaFlip、MatePadPro12.2英寸、全新MatePadAir、华为毕升激光打印机X1系列、FreeBuds6i、WATCHFIT3和智慧屏S5Pro等多款全场景智慧新品,从智慧出行、智慧办公到智能穿戴,华为全场景智慧生态持续构建,为消费者带来万物互联的智慧体验。鸿蒙智行:深度赋能,推动智能汽车产业升级华为联合中国汽车产业伙伴,为

华为Pura70怎么使用AI云增强功能_华为AI云增强使用教程 华为Pura70怎么使用AI云增强功能_华为AI云增强使用教程 Apr 26, 2024 pm 02:20 PM

华为AI云增强功能是一种通过人工智能技术优化照片画质的实用功能。那么华为Pura70如何使用AI云增强功能呢?有需要的小伙伴一起来下文看看吧。一、升级最新版本:1、下载并安装最新版本:鸿蒙OS4.0.0.126。2、等待安装完成,即可使用云增强新功能。二、开启云增强服务:1、打开相册,点击右上角四个点,点击设置。2、开启AI云增强功能。三、使用云增强功能:1、在相册中找到需要AI云增强的照片,点击右上角的魔棒图标。2、点击同意。3、完成AI云增强后,相册就会自动多出一张照片。在右下角即可查看到魔

华为鸿蒙系统更新升级方法介绍 华为鸿蒙系统更新升级方法介绍 May 06, 2024 pm 06:40 PM

华为鸿蒙系统受到了不少用户的关注,该系统适用于大部分华为手机,支持ota升级,但是有许多用户还不知道如何升级,下面小编就为大家带来了华为鸿蒙系统更新升级方法介绍。华为鸿蒙系统怎么升级1、首先打开华为手机,点击。2、然后在设置中找到。3、会出现软件更新的提示,点击即可。4、然后会跳转到鸿蒙系统更新入口,如果没有更新界面,点击进行查看。5、更新完成后,返回设置界面,点击关于手机就可以看到鸿蒙系统的显示了。鸿蒙系统支持的手机型号支持华为Mate40、Mate40Pro、Mate40Pro+、Mate4

See all articles