Hongmeng native application random poetry
To learn more about open source, please visit:
51CTO Hongmeng Developer Community
https://ost.51cto.com
Running environment
DAYU200:4.0.10.16
SDK:4.0.10.15
IDE:4.0.600
1. Create an application
Click File->new File->Create Progect.
Select template:
【OpenHarmony】Empty Ability:
Fill in the project name, shici, application package name com.nut.shici, and application storage location XXX (no Chinese, special characters, or spaces).
Compile SDK10, Model: Stage.
Device Type is fine by default.
node, 16.20.1 is recommended.
After completing the above configuration, click Finish.
Choose to open in a new window and wait for the dependencies to be loaded. as the picture shows.
If you get an error when loading dependencies, check your network.
2. Run HelloWord
Power the development board and connect the development board to the computer, as shown in the figure:
sign:
Steps to sign:
Click File->Project struct.
Select the third item Signing Configs.
Here we only need to check Automatically generate. We do not need to check Support HarmonyOS because we are running a development board.
Click Apply or OK.
Now click the button to run the project.
Console printing information:
$ 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
Proof that the project has been successfully run on the development board.
3. Modify the icon and name
Modify application icon and name:
The directory is in AppScope/app.json5.
{ "app": { "bundleName": "com.nut.shici", "vendor": "example", "versionCode": 1000000, "versionName": "1.0.0", "icon": "$media:app_icon", "label": "$string:app_name" } }
As shown in the figure after modification:
After the modification is successful, as shown in the figure:
Open method, in the Settings-Application Management column.
Modify desktop icons and names
Modify the label and icon in src/main/module.json5 as shown in the figure.
When we modify the label, we just need to modify it in the Chinese directory.
{ "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" ] } ] } ] } }
Modify the Chinese directory.
The effect is as shown in the figure:
4. Add relevant permissions
Because network data is needed, add the intent permission.
Add configuration in modele in src/main/module.json5, and then async.
"requestPermissions": [{ "name": "ohos.permission.INTERNET" }],
5. Define the data model
Create a new model folder in the ets directory.
Create a new 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" }
6. Load network data
Interface Description
Prepare the data,
interface
Interface address: https://v2.alapi.cn/api/shici
Request method: [ “GET”, “POST” ]
Request parameters:
name |
Required |
type |
describe |
Example |
token |
true |
string |
Request token and obtain it from the user center. |
User center gets 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
The above is the detailed content of Hongmeng native application random poetry. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

According to multiple media reports, Huawei internally issued a personnel adjustment document on the afternoon of April 30, announcing that Yu Chengdong would step down as CEO of Huawei Terminal BG. Yu Chengdong will remain as chairman of Terminal BG. He Gang, the former Huawei Terminal BG and Chief Operating Officer, will take over the position of CEO of Huawei Terminal BG. According to reports, apart from the above-mentioned personal changes and adjustments, the document does not contain any more information. There is no further explanation on the background of this major personnel change and Yu Chengdong’s new business focus after stepping down as CEO of Terminal BG. Some sources said that this adjustment is a routine business structure adjustment, which will allow Yu Chengdong to have more energy to create high-quality products for consumers. Yu Chengdong was born in 1969. He graduated from the Automatic Control Department of Northwestern Polytechnical University with a bachelor's degree and a master's degree from Tsinghua University.

AI large models have become a hot topic in the current technology circle. More and more companies are beginning to deploy large model capabilities, and more and more products are beginning to emphasize AI. However, judging from the current experience, most of the AI products flooding into the market often simply integrate large model applications at the application level, and do not realize systematic AI technology changes from the bottom up. At HDC2024, with the opening of HarmonyOSNEXT Beta to developers and pioneer users, Huawei demonstrated to the industry what true "native intelligence" is - with system-level AI capabilities, AI is no longer just an add-on to mobile phones, but is integrated with The operating system is deeply integrated and becomes a system-level core capability. According to reports, through the integration of software, hardware and core cloud, HarmonyO

On June 21, Huawei Developer Conference 2024 (HDC2024) gathered again in Songshan Lake, Dongguan. At this conference, the most eye-catching thing is that HarmonyOSNEXT officially launched Beta for developers and pioneer users, and comprehensively demonstrated the three "king-breaking" innovative features of HarmonyOSNEXT in all scenarios, native intelligence and native security. HarmonyOSNEXT native intelligence: Opening a new AI era After abandoning the Android framework, HarmonyOSNEXT has become a truly independent operating system independent of Android and iOS, which can be called an unprecedented rebirth. Among its many new features, native intelligence is undoubtedly the new feature that can best bring users intuitive feelings and experience upgrades.

This article will open source the results of "Local Deployment of Large Language Models in OpenHarmony" demonstrated at the 2nd OpenHarmony Technology Conference. Open source address: https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/thirdparty/InferLLM/docs/ hap_integrate.md. The implementation ideas and steps are to transplant the lightweight LLM model inference framework InferLLM to the OpenHarmony standard system, and compile a binary product that can run on OpenHarmony. InferLLM is a simple and efficient L

On May 15, at Huawei's summer all-scenario new product launch conference, Huawei announced the HarmonyOS4.2 upgrade plan. This update will benefit up to 180 different devices, covering multiple categories such as mobile phones, tablets, headphones, and smart screens. . Since the public beta recruitment of HarmonyOS 4.2 on April 11, many products have been included in the HarmonyOS 4.2 upgrade. Between April and June, Huawei will continue to push HarmonyOS 4.2 to more models. Continue to expand! The number of ecological devices has exceeded 800 million units. At Huawei's summer all-scenario new product launch conference, Huawei announced that the number of Hongmeng ecological devices has exceeded the 800 million mark. At the same time, the popularity of the Hongmeng brand has also soared to 88%, making it a

According to news on June 21, this afternoon, Huawei Developer Conference 2024 will be officially opened. "Pure-blood Hongmeng" Harmony OS NEXT is naturally a top priority. According to the plan previously revealed by Yu Chengdong, the public beta may be officially announced this afternoon, and ordinary consumers can also try out "pure-blood Harmony". According to reports, the first batch of supported mobile phones are the Mate60 series and Pura70 series. It is worth noting that as a "pure-blooded Hongmeng", HarmonyOSNEXT has removed the traditional Linux kernel and AOSP Android open source code and developed the entire stack in-house. According to the latest report from Sina Technology, Huawei will also complete the last link of Hongmeng Ecosystem and expand its presence in the world.

People are very concerned about the mobile phone models supported by this system, with the release of Huawei Hongmeng system. This article will introduce in detail the mobile phone models supported by Huawei Hongmeng system as well as their features and advantages. 1: Huawei Mate series - the powerful flagship model is naturally one of the first mobile phones to support Hongmeng system. The Huawei Mate series is Huawei's flagship model. For models such as Mate30 or Mate20, you can experience the new functions and optimizations brought by Hongmeng system through system upgrades, whether it is Mate40. 2: Huawei P series - powerful imaging mobile phone Huawei P series has always been sought after by the majority of users for its excellent camera capabilities. Users can enjoy a smoother and smoother operating experience during the photo taking process. The good news is that Huawei P series

This afternoon, Hongmeng Zhixing officially welcomed new brands and new cars. On August 6, Huawei held the Hongmeng Smart Xingxing S9 and Huawei full-scenario new product launch conference, bringing the panoramic smart flagship sedan Xiangjie S9, the new M7Pro and Huawei novaFlip, MatePad Pro 12.2 inches, the new MatePad Air, Huawei Bisheng With many new all-scenario smart products including the laser printer X1 series, FreeBuds6i, WATCHFIT3 and smart screen S5Pro, from smart travel, smart office to smart wear, Huawei continues to build a full-scenario smart ecosystem to bring consumers a smart experience of the Internet of Everything. Hongmeng Zhixing: In-depth empowerment to promote the upgrading of the smart car industry Huawei joins hands with Chinese automotive industry partners to provide
