国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發中怎么引入第三方庫

OpenHarmony技術社區 ? 來源:鴻蒙技術社區 ? 作者:即構忠武 ? 2021-10-11 14:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Android 發展到現在不僅提供了很多 API,還提供了很多第三方庫。這降低了我們開發者的開發難度,提升了開發效率,讓應用開發更加的簡單高效。

眾所周知,HarmonyOS 除了提供 16000 多個 API 外也是支持組件庫的調用的,那么鴻蒙應用開發是如何與第三方庫銜接的呢?

加載一張圖片是每個應用所需的功能,在 Android 平臺提供的有 Glide、ImageLoader、Picasso,其中 Glide 最被開發者熟知,所以我就以 Glide 作為例子驗證在 HarmonyOS 開發中如何使用圖片加載庫。

組件庫(Glide)的依賴方式

HarmonyOS 應用開發提供了三種常用的組件庫引入方式,以下的三種依賴方式都是在 build.grade 中操作。

①Maven 倉的依賴方式

以下驗證過程的圖片加載庫 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 沒有對該 glidelibrary 的配置,就要手動添加,如下。

include':entry',':glidelibrary'

③Har 包的依賴方式

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

組件庫(Glide)的使用

①配置

在開發前需要在 config.json 中做好配置的工作。

允許 HTTP 的請求:

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

網絡權限的設置:

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

②加載圖片

圖片的來源可以是網絡的圖片、也可以是項目文件的圖片。兩種方式的加載方式如下,加載的圖片來源于網絡 load() 的選擇 imagePath,本地圖片就選擇 imageResourceId。

調用方式:

Imageimage=(Image)findComponentById(ResourceTable.Id_img);
//LoadImagefromInternet(圖片來源于即構官網的網絡圖)
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 動圖

加載的 GIF 圖可以是網絡圖片,也可以說本地圖片。

調用方式:

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

HarmonyOS 的 Image 不支持 gif 的加載,因為 Image 和 Element 是獨立的,不能使用 Element 重繪。

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

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

因為加載 gif 的過程,對系統的性能消耗是非常大的,所以在使用完的時候要及時釋放資源,防止內存泄漏。

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

④加載圓角圖片

加載圓角圖片,把圓角 raduis 傳進來,就可以繪制圓角度。

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){

}

}

調用方式:

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);

總結

通過對 Glide 的引入過程與實現過程,跟 Android 第三方庫引入與圖片加載沒有很大的區別。舉一反三,我們可以很輕松的引入其他的組件庫,也可以通過 Glide 實現其他的圖片加載效果。
編輯:jq
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    4026

    瀏覽量

    133983
  • API
    API
    +關注

    關注

    2

    文章

    2371

    瀏覽量

    66763
  • GIF
    GIF
    +關注

    關注

    0

    文章

    24

    瀏覽量

    7042
  • HarmonyOS
    +關注

    關注

    80

    文章

    2153

    瀏覽量

    36045

原文標題:鴻蒙開發中如何引入第三方庫?

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32W031調制頻率的話有第三方軟件工具么?

    請問,CW32W031調制頻率的話,有第三方軟件工具么?仿真軟件也行
    發表于 01-19 06:54

    DEKRA德凱獲得沃爾沃汽車第三方實驗室認可資質

    近日,DEKRA德凱上海實驗室成功通過沃爾沃汽車材料工程中心的嚴格評審,被正式列入其認可的第三方實驗室名單。
    的頭像 發表于 10-16 10:27 ?707次閱讀

    第三方電商數據 API 數據來源深度解析:合規與穩定背后的核心邏輯

    本文揭秘第三方電商數據API的底層邏輯:通過官方授權、生態共享與合規采集重來源,結合嚴格清洗校驗,確保數據穩定、合規、高質。企業選型應關注來源合法性與場景匹配度,避開數據陷阱,實現真正數據驅動增長
    的頭像 發表于 10-11 13:55 ?354次閱讀

    SEGGER Ozone調試器支持第三方調試工具

    SEGGER強大的Ozone調試器和性能分析器,長期以來一直深受J-Link和J-Trace用戶的信任,現在可以支持第三方調試工具了。
    的頭像 發表于 09-29 11:45 ?1133次閱讀

    貨拉拉開源兩款三方,為鴻蒙應用高效開發貢獻力量

    、可擴展的通用工具,持續提升鴻蒙應用的創新體驗與開發效率。 在這一生態共建的浪潮,貨拉拉積極貢獻了其在鴻蒙應用開發過程中的寶貴經驗與技術積
    的頭像 發表于 08-26 14:02 ?555次閱讀
    貨拉拉開源兩款<b class='flag-5'>三方</b><b class='flag-5'>庫</b>,為<b class='flag-5'>鴻蒙</b>應用高效<b class='flag-5'>開發</b>貢獻力量

    電子測試行業第三方檢測機構如何解決平臺靈活度低,維護困難等痛點問題?

    在競爭激烈的市場環境第三方檢測機構面臨著諸多挑戰,尤其是在來料測試環節。某權威第三方檢測機構就曾深陷困境,他們一面要應對產品不確定性高與系統固化嚴重的矛盾,另一
    的頭像 發表于 08-06 17:07 ?813次閱讀
    電子測試行業<b class='flag-5'>中</b>的<b class='flag-5'>第三方</b>檢測機構如何解決平臺靈活度低,維護困難等痛點問題?

    如何集成第三方支付API到電商網站

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

    天合跟蹤獲得DNV第三方風洞測試審查報告

    近日, 天合跟蹤獲得DNV頒發的中國支架行業首張風洞實驗第三方審查報告。該風洞報告由天合跟蹤與同濟大學合作,針對開拓者1P跟蹤支架進行了全新的剛性模型測壓試驗和先進動力學分析研究,并由DNV進行獨立
    的頭像 發表于 07-08 17:35 ?938次閱讀

    使用 Claroty SRA 優化第三方 OT 遠程訪問

    第三方,如原始設備制造商 (OEM) 技術員和維護承包商,是確保 OT 環境可用性、完整性和安全性的關鍵。負責服務 OT 資產的第三方經常遠程工作。這意味著,他們會通過無數廣泛使用的解決方案遠程連接
    的頭像 發表于 06-17 16:11 ?780次閱讀
    使用 Claroty SRA 優化<b class='flag-5'>第三方</b> OT 遠程訪問

    第三方工業互聯網平臺有哪些

    第三方工業互聯網平臺有哪些
    的頭像 發表于 06-14 15:48 ?1113次閱讀

    鈦和集團榮獲零跑汽車第三方實驗室資質認可

    近期,鈦和集團順利通過了浙江零跑科技股份有限公司(以下簡稱“零跑汽車”)對第三方實驗室的能力驗證及資質審核,助力零跑汽車實現“成為值得尊敬的世界級智能電動車企”的品牌愿景。
    的頭像 發表于 06-13 17:00 ?1222次閱讀

    鈦和集團榮獲吉利汽車第三方實驗室資質認可

    近期,鈦和集團汽車事業部順利通過了浙江吉利控股集團有限公司(以下簡稱“吉利汽車”)對外部實驗室的能力驗證及資質審核,并獲得了第三方實驗室認可證書,助力吉利汽車實現“讓世界充滿吉利”的品牌愿景。
    的頭像 發表于 06-10 15:03 ?1197次閱讀

    SGS榮獲比亞迪乘用車第三方實驗室資質認可證書

    近日,國際公認的測試、檢驗和認證機構SGS(以下簡稱:SGS)位于重慶的標瑞新能源實驗室(以下簡稱:SGS-CEC)榮獲比亞迪乘用車實驗室認可委員會(以下簡稱:比亞迪)頒發的“乘用車第三方實驗室資質認可證書”。
    的頭像 發表于 05-20 15:04 ?1073次閱讀

    技術分享 | RK3568編譯第三方驅動

    這里就以我司IAC-RK3568-Kit開發板為例,分享如何在當前內核下編譯第三方驅動模塊。我們需要向模塊供應商拿到一份適配Linux的驅動源碼,這里主要是要向供應
    的頭像 發表于 03-06 17:25 ?2063次閱讀
    技術分享 | RK3568編譯<b class='flag-5'>第三方</b>驅動

    鴻蒙文件傳輸三方上線開源鴻蒙社區 十行代碼實現大文件高速傳輸

    近日,華為在OpenHarmony社區上線了“super_fast_file_trans”文件傳輸三方(以下簡稱“SFFT”)。這一三方的推出,為
    發表于 03-06 10:29