인프런 커뮤니티 질문&답변
이미지업로드관련 질문
해결된 질문
작성
·
317
0
writeActivity에서 storage로 키값이 전송이 된것은 확인이 되었는데 insideActivity에서 storage에 있는 key값이 안들어옵니다. 자세하게는 mountain.jpg랑 key를 직접 복붙한것은 되는데 key+".png"가 안됩니다. 그리고 toast로 실험해봤을 때
'key = intent.getStringExtra("key").toString()' 가 null이라고 출력이됩니다.아래는 insideActivity입니다.
package com.example.knunity.board
import android.os.Bundle
import android.util.Log
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.isVisible
import com.bumptech.glide.Glide
import com.example.knunity.databinding.ActivityBoardInsideBinding
import com.google.android.gms.tasks.OnCompleteListener
import com.google.firebase.ktx.Firebase
import com.google.firebase.storage.FirebaseStorage
import com.google.firebase.storage.ktx.storage
class BoardInsideActivity : AppCompatActivity() {
private lateinit var key: String
private val binding: ActivityBoardInsideBinding by lazy {
ActivityBoardInsideBinding.inflate(layoutInflater)
}
lateinit var datas: BoardModel
private val Tag = BoardInsideActivity::class.java.simpleName
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
// val title = intent.getStringArrayExtra("title").toString()
//val contents = intent.getStringArrayExtra("contents").toString()
//val time = intent.getStringArrayExtra("time").toString()
//val uid = intent.getStringArrayExtra("uid").toString()
datas = intent.getSerializableExtra("data") as BoardModel
binding.titlePage.text = datas.title
binding.contentPage.text = datas.contents
binding.timePage.text = datas.time
key = intent.getStringExtra("key").toString()
Log.d("test", key)
getImagefromFB(key)
// Log.d(Tag, title)
// Log.d(Tag, contents)
// Log.d(Tag, time)
}
private fun getImagefromFB(key: String) {
val storageReference = Firebase.storage.reference.child(key+".png")
val imageViewFromFB = binding.imagePage
storageReference.downloadUrl.addOnCompleteListener(OnCompleteListener { task ->
if (task.isSuccessful) {
Glide.with(this)
.load(task.result)
.into(imageViewFromFB)
} else {
imageViewFromFB.isVisible = false
Toast.makeText(this,key,Toast.LENGTH_SHORT).show()
}
})
}
// private fun getImageData(key: String) {
// // Reference to an image file in Cloud Storage
// val storageReference = Firebase.storage.reference.child(key + ".png")
// // ImageView in your Activity
// val imageViewFB = binding.imagePage
//
//
//
// storageReference.downloadUrl.addOnCompleteListener(OnCompleteListener { task ->
// if (task.isSuccessful) {
// Glide.with(this)
// .load(task.result)
// .into(imageViewFB)
// } else {
// Toast.makeText(this, "FAIL TO LOAD", Toast.LENGTH_SHORT).show()
// }
// })
//
// }
}





간단하게 말씀드리면