0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ArkUI eTS開發(fā)的堅果笑話(NutJoke)

ArkUI詳解 ? 來源:鴻蒙實驗室 ? 作者:鴻蒙實驗室 ? 2022-08-19 09:59 ? 次閱讀

都說笑一笑十年少,確實,在生活中,我們也是很久沒有笑了,那么今天,我就做一個鴻蒙eTS版的堅果笑話App,

實現(xiàn)的功能:

獲取接口數(shù)據(jù)

笑話列表

笑話詳情頁

你能學(xué)到的有:

網(wǎng)絡(luò)請求

可滾動組件

容器組件

路由跳轉(zhuǎn)

基礎(chǔ)組件

文件結(jié)構(gòu)

.

├── config.json

├── ets

│ └── MainAbility

│ ├── app.ets

│ ├── common

│ │ └── RealtimeWeather.ets

│ ├── data

│ │ └── get_test.ets

│ ├── model

│ │ ├── jokeDetailModel.ets

│ │ └── jokeModel.ets

│ └── pages

│ ├── Main.ets

│ └── jokeDetails.ets

└── resources

├── base

│ ├── element

│ │ ├── color.json

│ │ └── string.json

│ └── media

│ └── icon.png

└── rawfile

?

效果預(yù)覽:

gif11gif10image-20220722101712051

笑話大全接口

我們用到的接口:

聚合數(shù)據(jù)的笑話大全

接口地址:http://v.juhe.cn/joke/content/list.php

返回格式:json

請求方式:http get

請求示例:http://v.juhe.cn/joke/content/list.php?key=您申請的KEY&page=2&pagesize=10&sort=asc&time=1418745237

接口備注:根據(jù)時間戳返回該時間點前或后的笑話列表

請求參數(shù)說明:

名稱 必填 類型 說明
sort string 類型,desc:指定時間之前發(fā)布的,asc:指定時間之后發(fā)布的
page int 當(dāng)前頁數(shù),默認(rèn)1,最大20
pagesize int 每次返回條數(shù),默認(rèn)1,最大20
time string 時間戳(10位),如:1418816972
key string 在個人中心->我的數(shù)據(jù),接口名稱上方查看

返回參數(shù)說明:

名稱 類型 說明
error_code int 返回碼
reason string

JSON返回示例

{

"error_code": 0,

"reason": "Success",

"result": {

"data": [

{

"content": "有一天晚上我倆一起吃西瓜,老大把西瓜籽很整潔的吐在了一張紙上,\r\n過了幾天,我從教室回但宿舍看到老大在磕瓜子,\r\n我就問他:老大,你什么時候買的瓜子?\r\n老大說:剛曬好,說著抓了一把要遞給我……",

"hashId": "bcc5fdc2fb6efc6db33fa242474f108a",

"unixtime": 1418814837,

"updatetime": "2014-12-17 19:13:57"

},

{

"content": ""我女朋友氣跑了"\r\n"怎么回事?嚴(yán)重嗎?你怎么著她了?"\r\n"不嚴(yán)重,我只是很久沒用了"",

"hashId": "03a6095c18e1d6fe7e2c19b2a20d03d1",

"unixtime": 1418814837,

"updatetime": "2014-12-17 19:13:57"

},

{

"content": "還說神馬來一場說走就走的旅行,\r\n工作后就連一場說走就走的下班都不行。",

"hashId": "10edf75c1e7d0933c91f0f39a28a2c84",

"unixtime": 1418814837,

"updatetime": "2014-12-17 19:13:57"

},

{

"content": "高速路上堵車,路邊葡萄地里有一哥們竟然在偷葡萄,心想太沒素質(zhì)了吧!\r\n不管了我也去,剛溜進(jìn)葡萄地,那哥們竟問我干嘛,\r\n我撇了一眼反問道你干嘛呢?\r\n那哥們答道摘葡萄呢!\r\n我答道:我也摘葡萄呢!\r\n哥們郁悶了說我摘我家的你呢?\r\n我頓時臉紅,哥你家葡萄咋賣呢?",

"hashId": "bb572bb5b4844badb31012983f7324f5",

"unixtime": 1418814837,

"updatetime": "2014-12-17 19:13:57"

},

{

"content": "和老婆在街邊散步,我手上捏著一張已揉成一團(tuán)的傳單,\r\n走了好一會終于看到個垃圾桶,我趕緊跑過去想扔掉,\r\n沒想到老婆從后邊一把拉住我說:老公,那個肯定吃不得了,別撿。\r\n我一愣,發(fā)現(xiàn)垃圾桶頂蓋上放著半個西瓜。",

"hashId": "7ebccd3bbfaf24e010f9eb3ee68234bd",

"unixtime": 1418814837,

"updatetime": "2014-12-17 19:13:57"

},

{

"content": "某考生考了個倒數(shù)第一,回到家被他爸一頓暴揍,\r\n來到學(xué)校老師讓他談?wù)劼浜蟮捏w會,\r\n學(xué)生:“我終于明白了“落后就要挨打”的道理?!?,

"hashId": "4aee2aa6a79c67682f605c4146a8eca4",

"unixtime": 1418814837,

"updatetime": "2014-12-17 19:13:57"

},

{

"content": "很多人不喜歡朝九晚五的生活,然后開始創(chuàng)業(yè)。\r\n最終,他的生活變成了朝五晚九。",

"hashId": "7b358c4b96cf4a8d82b85545ea8f9603",

"unixtime": 1418814837,

"updatetime": "2014-12-17 19:13:57"

},

{

"content": "錢這個東西,真是害人精。\r\n小到人與人之間的矛盾,大到國家之間的戰(zhàn)爭,無不是為了錢。\r\n錢可以把人推上萬眾矚目之顛,也可以使人瞬間變成階下囚。\r\n可是,富人們卻沒認(rèn)識到,當(dāng)錢幾輩子花不完時,\r\n掙再多已經(jīng)沒有意義,還不如早日盡點社會責(zé)任,\r\n捐助給需要的人,求得個平安幸福。\r\n看到這個的有錢人們吶,你們什么時侯能捐我點??!",

"hashId": "94e18075f8c9c8211dfed5f8d6a62983",

"unixtime": 1418814837,

"updatetime": "2014-12-17 19:13:57"

},

{

"content": "看到一句很好的名言:我們無法拉伸生命的長度,但是我們可以拓展生命的寬度。\r\n我覺得這句話太有道理了!\r\n意思就是:雖然我們無法再長高了,但是我們還可以繼續(xù)長胖。",

"hashId": "fd8e364a4c70d46e77c1610879748a9a",

"unixtime": 1418814837,

"updatetime": "2014-12-17 19:13:57"

},

{

"content": "女生口中所說的“理工男好萌好棒好想嫁!”,\r\n其實理工男是指“會修電腦、會設(shè)置手機(jī)、會安家用電器、\r\n會幫做PPT打EXCEL表PS修圖、話少、高冷、專一、不和亂七八糟的女生來往、\r\n不愛打扮卻又干凈清爽、高高瘦瘦、手指纖長、戴黑框眼鏡超好看的帥哥”。\r\n其實找個帥哥讓他學(xué)電腦,再戴個眼鏡就OK了。",

"hashId": "5001c08a3cc8a281b15c467bc15a4911",

"unixtime": 1418814837,

"updatetime": "2014-12-17 19:13:57"

}

]

}

}

接下來,我們開始今天的實戰(zhàn),首先創(chuàng)建一個項目NutJoke

image-20220722080412586

點擊下一步

image-20220722080853387

因為我們要網(wǎng)絡(luò)請求

所以我們需要在config.json中配置網(wǎng)絡(luò)請求權(quán)限

網(wǎng)絡(luò)請求的步驟

1、聲明網(wǎng)絡(luò)請求權(quán)限

entry下的config.jsonmodule字段下配置權(quán)限

"reqPermissions": [

{

"name": "ohos.permission.INTERNET"

}

]

2、支持http明文請求

默認(rèn)支持https,如果要支持http,在entry下的config.jsondeviceConfig字段下配置

"deviceConfig": {"default": {

"network": {

"cleartextTraffic": true

}

}},

3、創(chuàng)建HttpRequest

// 導(dǎo)入模塊

import http from '@ohos.net.http';

// 創(chuàng)建HttpRequest對象

let httpRequest = http.createHttp();

4、發(fā)起請求

GET請求(默認(rèn)為GET請求

// 請求方式:GET

getRequest() {

// 每一個httpRequest對應(yīng)一個http請求任務(wù),不可復(fù)用

let httpRequest = http.createHttp()

let url = 'https://devapi.qweather.com/v7/weather/now?location=101010100&key=48fbadf80bbc43ce853ab9a92408373e'

httpRequest.request(url, (err, data) => {

if (!err) {

if (data.responseCode == 200) {

console.info('=====data.result=====' + data.result)

// 解析數(shù)據(jù)

//this.content= data.result;

// 解析數(shù)據(jù)

var weatherModel: WeatherModel = JSON.parse(data.result.toString())

// 判斷接口返回碼,0成功

if (weatherModel.code == 200) {

// 設(shè)置數(shù)據(jù)

?

this.realtime = weatherModel.now

?

?

this.isRequestSucceed = true;

?

console.info('=====data.result===this.content==' + weatherModel.now)

?

} else {

// 接口異常,彈出提示

prompt.showToast({ message: "數(shù)據(jù)請求失敗" })

}

?

} else {

// 請求失敗,彈出提示

prompt.showToast({ message: '網(wǎng)絡(luò)異常' })

}

} else {

// 請求失敗,彈出提示

prompt.showToast({ message: err.message })

}

})}

5、解析數(shù)據(jù)(簡單示例)

1.網(wǎng)絡(luò)請求到的json字符串

?

?

export

function

getTest

() {

return

[

{

"content"

:

"有一天晚上我倆一起吃西瓜,老大把西瓜籽很整潔的吐在了一張紙上,\r\n過了幾天,我從教室回但宿舍看到老大在磕瓜子,\r\n我就問他:老大,你什么時候買的瓜子?\r\n老大說:剛曬好,說著抓了一把要遞給我……"

,

"hashId"

:

"bcc5fdc2fb6efc6db33fa242474f108a"

,

"unixtime"

:

1418814837

,

"updatetime"

:

"2014-12-17 19:13:57"

},

{

"content"

:

""我女朋友氣跑了"\r\n"怎么回事?嚴(yán)重嗎?你怎么著她了?"\r\n"不嚴(yán)重,我只是很久沒用了""

,

"hashId"

:

"03a6095c18e1d6fe7e2c19b2a20d03d1"

,

"unixtime"

:

1418814837

,

"updatetime"

:

"2014-12-17 19:13:57"

},

{

"content"

:

"還說神馬來一場說走就走的旅行,\r\n工作后就連一場說走就走的下班都不行。"

,

"hashId"

:

"10edf75c1e7d0933c91f0f39a28a2c84"

,

"unixtime"

:

1418814837

,

"updatetime"

:

"2014-12-17 19:13:57"

},

{

"content"

:

"高速路上堵車,路邊葡萄地里有一哥們竟然在偷葡萄,心想太沒素質(zhì)了吧!\r\n不管了我也去,剛溜進(jìn)葡萄地,那哥們竟問我干嘛,\r\n我撇了一眼反問道你干嘛呢?\r\n那哥們答道摘葡萄呢!\r\n我答道:我也摘葡萄呢!\r\n哥們郁悶了說我摘我家的你呢?\r\n我頓時臉紅,哥你家葡萄咋賣呢?"

,

"hashId"

:

"bb572bb5b4844badb31012983f7324f5"

,

"unixtime"

:

1418814837

,

"updatetime"

:

"2014-12-17 19:13:57"

},

{

"content"

:

"和老婆在街邊散步,我手上捏著一張已揉成一團(tuán)的傳單,\r\n走了好一會終于看到個垃圾桶,我趕緊跑過去想扔掉,\r\n沒想到老婆從后邊一把拉住我說:老公,那個肯定吃不得了,別撿。\r\n我一愣,發(fā)現(xiàn)垃圾桶頂蓋上放著半個西瓜。"

,

"hashId"

:

"7ebccd3bbfaf24e010f9eb3ee68234bd"

,

"unixtime"

:

1418814837

,

"updatetime"

:

"2014-12-17 19:13:57"

},

{

"content"

:

"某考生考了個倒數(shù)第一,回到家被他爸一頓暴揍,\r\n來到學(xué)校老師讓他談?wù)劼浜蟮捏w會,\r\n學(xué)生:“我終于明白了“落后就要挨打”的道理。”"

,

"hashId"

:

"4aee2aa6a79c67682f605c4146a8eca4"

,

"unixtime"

:

1418814837

,

"updatetime"

:

"2014-12-17 19:13:57"

},

{

"content"

:

"很多人不喜歡朝九晚五的生活,然后開始創(chuàng)業(yè)。\r\n最終,他的生活變成了朝五晚九。"

,

"hashId"

:

"7b358c4b96cf4a8d82b85545ea8f9603"

,

"unixtime"

:

1418814837

,

"updatetime"

:

"2014-12-17 19:13:57"

},

{

"content"

:

"錢這個東西,真是害人精。\r\n小到人與人之間的矛盾,大到國家之間的戰(zhàn)爭,無不是為了錢。\r\n錢可以把人推上萬眾矚目之顛,也可以使人瞬間變成階下囚。\r\n可是,富人們卻沒認(rèn)識到,當(dāng)錢幾輩子花不完時,\r\n掙再多已經(jīng)沒有意義,還不如早日盡點社會責(zé)任,\r\n捐助給需要的人,求得個平安幸福。\r\n看到這個的有錢人們吶,你們什么時侯能捐我點??!"

,

"hashId"

:

"94e18075f8c9c8211dfed5f8d6a62983"

,

"unixtime"

:

1418814837

,

"updatetime"

:

"2014-12-17 19:13:57"

},

{

"content"

:

"看到一句很好的名言:我們無法拉伸生命的長度,但是我們可以拓展生命的寬度。\r\n我覺得這句話太有道理了!\r\n意思就是:雖然我們無法再長高了,但是我們還可以繼續(xù)長胖。"

,

"hashId"

:

"fd8e364a4c70d46e77c1610879748a9a"

,

"unixtime"

:

1418814837

,

"updatetime"

:

"2014-12-17 19:13:57"

},

{

"content"

:

"女生口中所說的“理工男好萌好棒好想嫁!”,\r\n其實理工男是指“會修電腦、會設(shè)置手機(jī)、會安家用電器、\r\n會幫做PPT打EXCEL表PS修圖、話少、高冷、專一、不和亂七八糟的女生來往、\r\n不愛打扮卻又干凈清爽、高高瘦瘦、手指纖長、戴黑框眼鏡超好看的帥哥”。\r\n其實找個帥哥讓他學(xué)電腦,再戴個眼鏡就OK了。"

,

"hashId"

:

"5001c08a3cc8a281b15c467bc15a4911"

,

"unixtime"

:

1418814837

,

"updatetime"

:

"2014-12-17 19:13:57"

}

]

}

2.創(chuàng)建相應(yīng)的對象

export

class

JokeDetailData

{

content

: string

// 內(nèi)容

hashId

: string

// 哈希值

unixtime

: number

//

updatetime

: string

//更新時間

?

?

}

import { JokeDetailData } from './jokeDetailModel';

export class JokeModel {

reason: string //返回說明

error_code: number //返回碼,0為查詢成功

result: {

data: Array // 笑話

}

}

參考文檔

聚合數(shù)據(jù)

Text

尺寸設(shè)置

邊框設(shè)置

項目地址

-https://gitee.com/jianguo888/nut-jokes

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARK
    ARK
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    13761
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3548

    瀏覽量

    15743
收藏 人收藏

    評論

    相關(guān)推薦

    基于eTS的HamronyOS應(yīng)用開發(fā)

    隨著HarmonyOS 3.0 Beta版的發(fā)布,API Version 8新增了大批JS/eTS API接口,相信很多開發(fā)者已經(jīng)迫不及待想體驗基于eTS的HamronyOS應(yīng)用開發(fā)。
    的頭像 發(fā)表于 07-15 09:20 ?1890次閱讀
    基于<b class='flag-5'>eTS</b>的HamronyOS應(yīng)用<b class='flag-5'>開發(fā)</b>

    基于ArkUI eTS開發(fā)堅果食譜(NutRecipes)

    基于ArkUI eTS開發(fā)堅果食譜(NutRecipes)
    的頭像 發(fā)表于 08-18 08:23 ?1410次閱讀
    基于<b class='flag-5'>ArkUI</b> <b class='flag-5'>eTS</b><b class='flag-5'>開發(fā)</b>的<b class='flag-5'>堅果</b>食譜(NutRecipes)

    鴻蒙開發(fā)【應(yīng)用開發(fā)基礎(chǔ)知識】

    通過OpenHarmony提供的Stage模型和ArkUIeTS聲明式開發(fā)規(guī)范,結(jié)合簡單的Demo,分享學(xué)習(xí)OpenHarmony/docs/application-dev
    的頭像 發(fā)表于 01-29 18:46 ?1211次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>【應(yīng)用<b class='flag-5'>開發(fā)</b>基礎(chǔ)知識】

    鴻蒙開發(fā)ArkUI-X基礎(chǔ)知識:【ArkUI跨平臺設(shè)計總體說明】

    本文檔描述ArkUI開發(fā)框架跨平臺運行能力相關(guān)的總體技術(shù)方案。
    的頭像 發(fā)表于 05-24 15:41 ?1256次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b><b class='flag-5'>ArkUI</b>-X基礎(chǔ)知識:【<b class='flag-5'>ArkUI</b>跨平臺設(shè)計總體說明】

    課程預(yù)告丨12月15日官方直播帶你領(lǐng)略ArkUI的聲明式開發(fā)范式之美

    方舟開發(fā)框架(ArkUI)的聲明式開發(fā)范式有什么優(yōu)勢?Java/JS/eTS(extended TypeScript)三種語言,用哪種語言更好?12月15日 19:00-20:30,H
    發(fā)表于 12-10 17:52

    100行代碼實現(xiàn)HarmonyOS“畫圖”應(yīng)用,eTS開發(fā)走起!

    式UI框架——方舟開發(fā)框架(ArkUI)。ArkUI框架引入了基于TS擴(kuò)展的聲明式開發(fā)范式,讓開發(fā)變得更加簡潔、高效! 已經(jīng)有很多
    發(fā)表于 03-30 14:28

    全面支持JS/eTS應(yīng)用開發(fā),DevEco Studio 3.0 Beta4新版本發(fā)布

    新版本主要支持在HarmonyOS 3.0 Beta版上開發(fā)JS/eTS應(yīng)用及服務(wù),同時還增強了低代碼開發(fā)、預(yù)覽器和編輯器的能力,優(yōu)化了信息中心體驗。升級方式:**建議您從官網(wǎng)下載安裝包進(jìn)行全量升級
    發(fā)表于 07-08 14:29

    全面支持JS/eTS應(yīng)用開發(fā),DevEco Studio 3.0 Beta4新版本發(fā)布

    新版本主要支持在HarmonyOS 3.0 Beta版上開發(fā)JS/eTS應(yīng)用及服務(wù),同時還增強了低代碼開發(fā)、預(yù)覽器和編輯器的能力,優(yōu)化了信息中心體驗。升級方式:建議您從官網(wǎng)下載安裝包進(jìn)行全量升級
    發(fā)表于 07-11 17:37

    基于ETS開發(fā)范式制作Loading組件

    最近剛接觸基于 OpenHarmony 開源框架的應(yīng)用開發(fā),特別是基于 JS/ETS 開發(fā)范式。
    的頭像 發(fā)表于 04-12 08:56 ?1247次閱讀

    OpenHarmony應(yīng)用開發(fā)ETS開發(fā)方式Image組件

    今天帶大家了解ETS開發(fā)方式中的Image組件
    的頭像 發(fā)表于 07-03 12:06 ?3315次閱讀
    OpenHarmony應(yīng)用<b class='flag-5'>開發(fā)</b>之<b class='flag-5'>ETS</b><b class='flag-5'>開發(fā)</b>方式Image組件

    玩嗨OpenHarmony:基于OpenHarmony的ArkUI翻頁時鐘

    設(shè)備,用電腦動畫的方式實現(xiàn)翻頁時鐘,也是一種特別的復(fù)古UI交互體驗。 本項目豈在通過OpenHarmony的ArkUI框架,用TS擴(kuò)展的聲明式開發(fā)范式eTS,來實現(xiàn)翻頁時鐘的體驗。 本項目的
    的頭像 發(fā)表于 12-05 20:15 ?1174次閱讀

    ArkUI新能力,助力應(yīng)用開發(fā)更便捷

    作者:niulihua,華為ArkUI技術(shù)專家;wanglei,華為ArkUI技術(shù)專家 ArkUI是一套構(gòu)建分布式應(yīng)用的聲明式UI開發(fā)框架。它具備簡潔自然的UI信息語法、豐富的UI組件
    的頭像 發(fā)表于 02-15 16:35 ?797次閱讀

    鴻蒙ArkUI開發(fā)-Tabs組件的使用

    鴻蒙ArkUI開發(fā)-Tabs組件的使用
    的頭像 發(fā)表于 01-19 16:01 ?1418次閱讀
    鴻蒙<b class='flag-5'>ArkUI</b><b class='flag-5'>開發(fā)</b>-Tabs組件的使用

    鴻蒙ArkUI開發(fā)實戰(zhàn):eTS版【笑話app】

    制作一款笑話app,使用ArkUI。
    的頭像 發(fā)表于 03-25 16:04 ?344次閱讀
    鴻蒙<b class='flag-5'>ArkUI</b><b class='flag-5'>開發(fā)</b>實戰(zhàn):<b class='flag-5'>eTS</b>版【<b class='flag-5'>笑話</b>app】

    鴻蒙ArkUI-X跨平臺技術(shù):【開發(fā)準(zhǔn)備】

    本文檔適用于ArkUI跨平臺應(yīng)用開發(fā)的初學(xué)者。通過開發(fā)環(huán)境搭建、應(yīng)用工程創(chuàng)建、編譯和運行,熟悉ArkUI跨平臺應(yīng)用開發(fā)基本流程。
    的頭像 發(fā)表于 05-24 10:40 ?306次閱讀
    鴻蒙<b class='flag-5'>ArkUI</b>-X跨平臺技術(shù):【<b class='flag-5'>開發(fā)</b>準(zhǔn)備】