91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

鴻蒙開(kāi)發(fā)中怎么引入第三方庫(kù)

OpenHarmony技術(shù)社區(qū) ? 來(lái)源:鴻蒙技術(shù)社區(qū) ? 作者:即構(gòu)忠武 ? 2021-10-11 14:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Android 發(fā)展到現(xiàn)在不僅提供了很多 API,還提供了很多第三方庫(kù)。這降低了我們開(kāi)發(fā)者的開(kāi)發(fā)難度,提升了開(kāi)發(fā)效率,讓?xiě)?yīng)用開(kāi)發(fā)更加的簡(jiǎn)單高效。

眾所周知,HarmonyOS 除了提供 16000 多個(gè) API 外也是支持組件庫(kù)的調(diào)用的,那么鴻蒙應(yīng)用開(kāi)發(fā)是如何與第三方庫(kù)銜接的呢?

加載一張圖片是每個(gè)應(yīng)用所需的功能,在 Android 平臺(tái)提供的有 Glide、ImageLoader、Picasso,其中 Glide 最被開(kāi)發(fā)者熟知,所以我就以 Glide 作為例子驗(yàn)證在 HarmonyOS 開(kāi)發(fā)中如何使用圖片加載庫(kù)。

組件庫(kù)(Glide)的依賴方式

HarmonyOS 應(yīng)用開(kāi)發(fā)提供了三種常用的組件庫(kù)引入方式,以下的三種依賴方式都是在 build.grade 中操作。

①M(fèi)aven 倉(cāng)的依賴方式

以下驗(yàn)證過(guò)程的圖片加載庫(kù) Glide 采用的就是這種方式。

步驟一:

allprojects{
repositories{
maven{
url'https://repo.huaweicloud.com/repository/maven/'
}
jcenter()
mavenCentral()
}
}

步驟二:

dependencies{
implementationfileTree(dir:'libs',include:['*.jar','*.har'])
implementation'io.openharmony.tpc.thirdlib1.1.2'
}

②Module 的依賴方式

如下:
dependencies{
implementationfileTree(dir:'libs',include:['*.jar','*.har'])
implementationproject(path:':glidelibrary')
}

如果在 setting.gradle 沒(méi)有對(duì)該 glidelibrary 的配置,就要手動(dòng)添加,如下。

include':entry',':glidelibrary'

③Har 包的依賴方式

如下:
dependencies{
implementationfileTree(dir:'libs',include:['*.jar','*.har'])
}

組件庫(kù)(Glide)的使用

①配置

在開(kāi)發(fā)前需要在 config.json 中做好配置的工作。

允許 HTTP 的請(qǐng)求:

"deviceConfig":{
"default":{
"network":{
"cleartextTraffic":true
}
}
}

網(wǎng)絡(luò)權(quán)限的設(shè)置:

"module":{
"reqPermissions":[
{
"name":"ohos.permission.INTERNET"
}
]
}

②加載圖片

圖片的來(lái)源可以是網(wǎng)絡(luò)的圖片、也可以是項(xiàng)目文件的圖片。兩種方式的加載方式如下,加載的圖片來(lái)源于網(wǎng)絡(luò) load() 的選擇 imagePath,本地圖片就選擇 imageResourceId。

調(diào)用方式:

Imageimage=(Image)findComponentById(ResourceTable.Id_img);
//LoadImagefromInternet(圖片來(lái)源于即構(gòu)官網(wǎng)的網(wǎng)絡(luò)圖)
StringimagePath="https://www.zego.im/_nuxt/img/53992d2.png";
//LoadImagefromResourceFolder(本地圖片)
intimageResourceId=ResourceTable.Media_zego_img;
Glide.with(this)
.load(imagePath)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.into(image);

③加載 GIF 動(dòng)圖

加載的 GIF 圖可以是網(wǎng)絡(luò)圖片,也可以說(shuō)本地圖片。

調(diào)用方式:

DraweeViewdraweeView=(DraweeView)findComponentById(ResourceTable.Id_draweeView);
StringimagePath="loadgiffromnetwork";
intimageResourceId="loadgiffromnative";
Glide.with(this)
.asGif()
.load(imageResourceId)
.into(draweeView);

HarmonyOS 的 Image 不支持 gif 的加載,因?yàn)?Image 和 Element 是獨(dú)立的,不能使用 Element 重繪。

所以 Glide 要使用 gif 的能力就要使用 DraweeView。

"$+id:draweeView"
ohos:height="180vp"
ohos:width="180vp"
ohos:layout_alignment="center"/>

因?yàn)榧虞d gif 的過(guò)程,對(duì)系統(tǒng)的性能消耗是非常大的,所以在使用完的時(shí)候要及時(shí)釋放資源,防止內(nèi)存泄漏。

@Override
protectedvoidonBackground(){
super.onBackground();
draweeView.stopGif();
}

④加載圓角圖片

加載圓角圖片,把圓角 raduis 傳進(jìn)來(lái),就可以繪制圓角度。

publicclassGlideRoundTransformextendsBitmapTransformation{

privatestaticfloatradius=0f;

publicGlideRoundTransform(Contextcontext){
this(context,0);
}

publicGlideRoundTransform(Contextcontext,intdp){
super();
this.radius=dp;
}

@Override
protectedPixelMaptransform(@NonNlsBitmapPoolpool,@NonNlsPixelMaptoTransform,intoutWidth,intoutHeight){
intwidth=toTransform.getImageInfo().size.width;
intheight=toTransform.getImageInfo().size.height;

PixelFormatconfig=
toTransform.getImageInfo()!=null?toTransform.getImageInfo().pixelFormat:PixelFormat.ARGB_8888;
PixelMapbitmap=pool.get(width,height,config);

setCanvasBitmapDensity(toTransform,bitmap);

Canvascanvas=newCanvas(newTexture(bitmap));
canvas.drawPixelMapHolderRoundRectShape(newPixelMapHolder(toTransform),newRectFloat(0,0,width,height),newRectFloat(0,0,width,height),radius,radius);
returnbitmap;
}

@Override
publicvoidupdateDiskCacheKey(MessageDigestmessageDigest){

}

}

調(diào)用方式:

Imageimage=(Image)findComponentById(ResourceTable.Id_img);
RequestOptionsmyOptions=newRequestOptions().transform(newGlideRoundTransform(getContext(),30));
Glide.with(this)
.load(ResourceTable.Media_zego_img_round)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.fitCenter()
.apply(myOptions)
.into(image);

總結(jié)

通過(guò)對(duì) Glide 的引入過(guò)程與實(shí)現(xiàn)過(guò)程,跟 Android 第三方庫(kù)引入與圖片加載沒(méi)有很大的區(qū)別。舉一反三,我們可以很輕松的引入其他的組件庫(kù),也可以通過(guò) Glide 實(shí)現(xiàn)其他的圖片加載效果。
編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    4026

    瀏覽量

    134038
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    2376

    瀏覽量

    66806
  • GIF
    GIF
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    7045
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2153

    瀏覽量

    36075

原文標(biāo)題:鴻蒙開(kāi)發(fā)中如何引入第三方庫(kù)?

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CW32W031調(diào)制頻率的話有第三方軟件工具么?

    請(qǐng)問(wèn),CW32W031調(diào)制頻率的話,有第三方軟件工具么?仿真軟件也行
    發(fā)表于 01-19 06:54

    遠(yuǎn)傳水電表對(duì)接第三方集中器采集器+遠(yuǎn)程抄表系統(tǒng)解決方案

    針對(duì)這一痛點(diǎn),我們隆重推出 “遠(yuǎn)傳水電表對(duì)接第三方集中器采集器+遠(yuǎn)程抄表系統(tǒng)”一體化解決方案,致力于打破技術(shù)壁壘,連通數(shù)據(jù)斷點(diǎn),讓您的抄表項(xiàng)目輕松升級(jí),一步到位。
    的頭像 發(fā)表于 10-29 16:27 ?630次閱讀
    遠(yuǎn)傳水電表對(duì)接<b class='flag-5'>第三方</b>集中器采集器+遠(yuǎn)程抄表系統(tǒng)解決方案

    DEKRA德凱獲得沃爾沃汽車(chē)第三方實(shí)驗(yàn)室認(rèn)可資質(zhì)

    近日,DEKRA德凱上海實(shí)驗(yàn)室成功通過(guò)沃爾沃汽車(chē)材料工程中心的嚴(yán)格評(píng)審,被正式列入其認(rèn)可的第三方實(shí)驗(yàn)室名單。
    的頭像 發(fā)表于 10-16 10:27 ?722次閱讀

    第三方電商數(shù)據(jù) API 數(shù)據(jù)來(lái)源深度解析:合規(guī)與穩(wěn)定背后的核心邏輯

    本文揭秘第三方電商數(shù)據(jù)API的底層邏輯:通過(guò)官方授權(quán)、生態(tài)共享與合規(guī)采集重來(lái)源,結(jié)合嚴(yán)格清洗校驗(yàn),確保數(shù)據(jù)穩(wěn)定、合規(guī)、高質(zhì)。企業(yè)選型應(yīng)關(guān)注來(lái)源合法性與場(chǎng)景匹配度,避開(kāi)數(shù)據(jù)陷阱,實(shí)現(xiàn)真正數(shù)據(jù)驅(qū)動(dòng)增長(zhǎng)
    的頭像 發(fā)表于 10-11 13:55 ?363次閱讀

    SEGGER Ozone調(diào)試器支持第三方調(diào)試工具

    SEGGER強(qiáng)大的Ozone調(diào)試器和性能分析器,長(zhǎng)期以來(lái)一直深受J-Link和J-Trace用戶的信任,現(xiàn)在可以支持第三方調(diào)試工具了。
    的頭像 發(fā)表于 09-29 11:45 ?1148次閱讀

    貨拉拉開(kāi)源兩款三方庫(kù),為鴻蒙應(yīng)用高效開(kāi)發(fā)貢獻(xiàn)力量

    、可擴(kuò)展的通用工具,持續(xù)提升鴻蒙應(yīng)用的創(chuàng)新體驗(yàn)與開(kāi)發(fā)效率。 在這一生態(tài)共建的浪潮,貨拉拉積極貢獻(xiàn)了其在鴻蒙應(yīng)用開(kāi)發(fā)過(guò)程中的寶貴經(jīng)驗(yàn)與技術(shù)積
    的頭像 發(fā)表于 08-26 14:02 ?563次閱讀
    貨拉拉開(kāi)源兩款<b class='flag-5'>三方</b><b class='flag-5'>庫(kù)</b>,為<b class='flag-5'>鴻蒙</b>應(yīng)用高效<b class='flag-5'>開(kāi)發(fā)</b>貢獻(xiàn)力量

    電子測(cè)試行業(yè)第三方檢測(cè)機(jī)構(gòu)如何解決平臺(tái)靈活度低,維護(hù)困難等痛點(diǎn)問(wèn)題?

    在競(jìng)爭(zhēng)激烈的市場(chǎng)環(huán)境,第三方檢測(cè)機(jī)構(gòu)面臨著諸多挑戰(zhàn),尤其是在來(lái)料測(cè)試環(huán)節(jié)。某權(quán)威第三方檢測(cè)機(jī)構(gòu)就曾深陷困境,他們一面要應(yīng)對(duì)產(chǎn)品不確定性高與系統(tǒng)固化嚴(yán)重的矛盾,另一
    的頭像 發(fā)表于 08-06 17:07 ?835次閱讀
    電子測(cè)試行業(yè)<b class='flag-5'>中</b>的<b class='flag-5'>第三方</b>檢測(cè)機(jī)構(gòu)如何解決平臺(tái)靈活度低,維護(hù)困難等痛點(diǎn)問(wèn)題?

    如何集成第三方支付API到電商網(wǎng)站

    ? 在電商網(wǎng)站,集成第三方支付API是確保交易安全、提升用戶體驗(yàn)的關(guān)鍵步驟。本文將逐步指導(dǎo)您完成整個(gè)流程,從選擇支付提供商到上線后的監(jiān)控。文章結(jié)構(gòu)清晰,包含代碼示例和實(shí)用建議,幫助您高效實(shí)現(xiàn)支付
    的頭像 發(fā)表于 07-16 10:35 ?609次閱讀
    如何集成<b class='flag-5'>第三方</b>支付API到電商網(wǎng)站

    天合跟蹤獲得DNV第三方風(fēng)洞測(cè)試審查報(bào)告

    近日, 天合跟蹤獲得DNV頒發(fā)的中國(guó)支架行業(yè)首張風(fēng)洞實(shí)驗(yàn)第三方審查報(bào)告。該風(fēng)洞報(bào)告由天合跟蹤與同濟(jì)大學(xué)合作,針對(duì)開(kāi)拓者1P跟蹤支架進(jìn)行了全新的剛性模型測(cè)壓試驗(yàn)和先進(jìn)動(dòng)力學(xué)分析研究,并由DNV進(jìn)行獨(dú)立
    的頭像 發(fā)表于 07-08 17:35 ?953次閱讀

    鴻蒙地圖功能開(kāi)發(fā)【1. 開(kāi)發(fā)準(zhǔn)備】##地圖開(kāi)發(fā)##

    ? 對(duì)于地圖功能的開(kāi)發(fā),有以下種思路 使用鴻蒙官方的Map Kit進(jìn)行開(kāi)發(fā) 使用第三方地圖的SDK(例如高德地圖、百度地圖) 做一個(gè)基于h
    發(fā)表于 06-29 22:52

    使用 Claroty SRA 優(yōu)化第三方 OT 遠(yuǎn)程訪問(wèn)

    第三方,如原始設(shè)備制造商 (OEM) 技術(shù)員和維護(hù)承包商,是確保 OT 環(huán)境可用性、完整性和安全性的關(guān)鍵。負(fù)責(zé)服務(wù) OT 資產(chǎn)的第三方經(jīng)常遠(yuǎn)程工作。這意味著,他們會(huì)通過(guò)無(wú)數(shù)廣泛使用的解決方案遠(yuǎn)程連接
    的頭像 發(fā)表于 06-17 16:11 ?792次閱讀
    使用 Claroty SRA 優(yōu)化<b class='flag-5'>第三方</b> OT 遠(yuǎn)程訪問(wèn)

    第三方工業(yè)互聯(lián)網(wǎng)平臺(tái)有哪些

    第三方工業(yè)互聯(lián)網(wǎng)平臺(tái)有哪些
    的頭像 發(fā)表于 06-14 15:48 ?1132次閱讀

    鈦和集團(tuán)榮獲零跑汽車(chē)第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可

    近期,鈦和集團(tuán)順利通過(guò)了浙江零跑科技股份有限公司(以下簡(jiǎn)稱“零跑汽車(chē)”)對(duì)第三方實(shí)驗(yàn)室的能力驗(yàn)證及資質(zhì)審核,助力零跑汽車(chē)實(shí)現(xiàn)“成為值得尊敬的世界級(jí)智能電動(dòng)車(chē)企”的品牌愿景。
    的頭像 發(fā)表于 06-13 17:00 ?1247次閱讀

    鈦和集團(tuán)榮獲吉利汽車(chē)第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可

    近期,鈦和集團(tuán)汽車(chē)事業(yè)部順利通過(guò)了浙江吉利控股集團(tuán)有限公司(以下簡(jiǎn)稱“吉利汽車(chē)”)對(duì)外部實(shí)驗(yàn)室的能力驗(yàn)證及資質(zhì)審核,并獲得了第三方實(shí)驗(yàn)室認(rèn)可證書(shū),助力吉利汽車(chē)實(shí)現(xiàn)“讓世界充滿吉利”的品牌愿景。
    的頭像 發(fā)表于 06-10 15:03 ?1208次閱讀

    SGS榮獲比亞迪乘用車(chē)第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可證書(shū)

    近日,國(guó)際公認(rèn)的測(cè)試、檢驗(yàn)和認(rèn)證機(jī)構(gòu)SGS(以下簡(jiǎn)稱:SGS)位于重慶的標(biāo)瑞新能源實(shí)驗(yàn)室(以下簡(jiǎn)稱:SGS-CEC)榮獲比亞迪乘用車(chē)實(shí)驗(yàn)室認(rèn)可委員會(huì)(以下簡(jiǎn)稱:比亞迪)頒發(fā)的“乘用車(chē)第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可證書(shū)”。
    的頭像 發(fā)表于 05-20 15:04 ?1090次閱讀