Androidクラウドストレージイメージの読み込み(feat.glide)
13114 ワード
中に入る。
Androidを開発中にFirebaseを使っていた私はCloudStorageで画像を処理したことがないので差し込みました.
そしてついに今回はその記録を
最終的に私が見たい資料です.😅
Firestoreに格納されているイメージアドレス
こんなにたくさんのデータがあります
Imgurlフィールドにストレージイメージ名を保存しました
CloudStorageにはその名前が入っていますよね?(数字が違う)
この名前で画像をみんなに見せましょう
勾配を追加
implementation 'com.github.bumptech.glide:glide:4.12.0'
Glide データの読み込み
まずは私のイメージの名前から始めましょう
ポスターにもありましたが、簡単に書くと、
fun getData() {
db.collection("Certification").get().addOnSuccessListener {
list = arrayListOf()
for (document in task) {
val model = Model()
val picture = document["Imgurl"] as String
model.pictureUrl = picture
list.add(model)
}
adapter = MyAdapter(list)
recyclerView.adapter = adapter
}
}
複数の画像をロードしてリストに表示する必要がある場合は、上記のコードのようにデータをロードできます.まずデータのロードのみを行い、次にロードしたデータを画面に表示します.
データの表示
リストについては、Adapterが説明します.
private val storage: FirebaseStorage = FirebaseStorage.getInstance(@string/cloudStorageUrl)
private val storageRef: StorageReference = storage.reference
inner class ViewHolder(itemView: View?): RecyclerView.ViewHolder(itemView!!) {
var imageView: ImageView = itemView!!.findViewById<ImageView>(R.id.item__img)
fun bind(data: Data, context: Context) {
storageRef.child(data.pictureUrl.toString()).downloadUrl.addOnCompleteListener{ task ->
if (task.isSuccessful) {
Glide.with(context)
.load(task.result)
.into(imageView)
} else {
Toast.makeText(context, task.exception.toString(), Toast.LENGTH_SHORT).show()
}
}
}
}
コードを書きすぎてここで画面の部分に入れましたstorageRef.child(data.pictureUrl.toString()).downloadUrl.addOnCompleteListener{ task ->
if (task.isSuccessful) {
Glide.with(context)
.load(task.result)
.into(imageView)
}
この部分ですwith()は、環境内のContextまたはオブジェクトの一部です.
load()は、URL、URIなどの受信画像の経路を記録するための部分である.
入力():画像を受信するスペースを入力するだけでいいです.
Filebase Storageの作成者を作成し、受信したurlをダウンロードします.
そして成功したら対応する画像ビューを入れます!
簡単じゃないですか.
コードは挿入されているほど長くないと思います.😓
ただし、ここでは画像ビューサイズ設定のように表示されないため、受信した画像サイズを別のグローバル設定で設定する必要がある.
Glide.with(context)
.load(task.result)
.override(150, 150)
.centerCrop()
.into(imageView)
幅の高さをoverride(width,height)に設定します.centerCrop()で画像が見える関数を真ん中に1つ付ければいいです
画像全体を得るために中央からサイズを調整する場合は、fitCenter()を入れるだけです.
もし私が1つのデータだけをロードしてあなたに見せたら?
fun getData() {
db.collection("Certification").get().addOnSuccessListener {
val imgUrl = task[0]["Imgurl"] as String
Glide.with(context)
.load(imgUrl)
.into(imageView)
}
}
うん.こうすればいいんですよね?🙃参考資料
Reference
この問題について(Androidクラウドストレージイメージの読み込み(feat.glide)), 我々は、より多くの情報をここで見つけました https://velog.io/@dhxxn17/안드로이드-Cloud-Storage-이미지-불러오기-feat.Glide-l2nn2xh6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol