【JAVA UI】HarmonyOS如何集成picasso加載網絡圖片

 參考資料

picasso

 

代碼實現

1、準備工作

在項目級的bulid.gradle文件添加如下代碼

allprojects{
        repositories{
            mavenCentral()
        }
    }

在entry的bulid.gradle文件添加如下代碼

 implementation 'io.openharmony.tpc.thirdlib:picasso:1.0.4'

2、設置權限

在confing.json添加權限,代碼如下

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

在config.json修改deviceConfig的代碼,代碼如下

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

3、xml佈局

在xml添加一個Image組件代碼如下

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:height="match_parent"
    ohos:width="match_parent"
    ohos:alignment="center"
    ohos:orientation="vertical">

    <Image
        ohos:height="200vp"
        ohos:width="match_parent"
        ohos:image_src="#ed6262"
        ohos:id="$+id:myImage"/>

</DirectionalLayout>

4、java代碼實現

在java 代碼中查這個組件然後調用項目api去加載網絡圖片,代碼如下

package com.newdemo.myapplication.slice;

import com.newdemo.myapplication.ResourceTable;
import com.squareup.picasso.Picasso;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Component;
import ohos.agp.components.Image;

public class MainAbilitySlice extends AbilitySlice {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        //todo 查找Image組件
        Image myimage=findComponentById(ResourceTable.Id_myImage);
        Picasso.get()
                //todo 加載網絡圖片
                .load("https://www.baidu.com/img/flexible/logo/pc/result.png")
             //todo 空的佔位圖
                .placeholder(ResourceTable.Media_icon)
                //todo 加載錯誤的圖片
                .error(ResourceTable.Media_icon)
                //todo 加載組件上
                .into(myimage);
    }

}

 

運行效果

cke_20326.png

欲瞭解更多更全技術文章,歡迎訪問https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章