인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

어플's profile image
어플

asked

[Beginner] Creating an Android Community App (Android Kotlin)

글 수정 페이지에서 사진 삽입

Written on

·

232

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
글 수정 페이지에서
 
처음 텍스트만 입력해서 글을 등록하고 수정버튼을 눌렀을때 사진추가는 원래 안되는건가요 개발자님?
 
텍스트와 사진을 같이 입력한글에서도 사진을 삭제하거나 다른사진으로 교체할수는없나요 ?
androidfirebasekotlin

Answer 1

0

bokchi님의 프로필 이미지
bokchi
Instructor

안녕하세요

구체적으로 코드와 함께 어떻게 진행하고 있으신지 좀 더 상세하게 알려주세요~

어플님의 프로필 이미지
어플
Questioner

class BoardEditActivity : AppCompatActivity() {

private lateinit var key : String

private lateinit var binding : ActivityBoardEditBinding

private val TAG = BoardEditActivity::class.java.simpleName

private lateinit var writerUid : String

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

binding = DataBindingUtil.setContentView(this, R.layout.activity_board_edit)

key = intent.getStringExtra("key").toString()

getBoardData(key)
getImageData(key)

binding.editBtn.setOnClickListener {
editBoardData(key)
}

}

private fun editBoardData(key : String) {
FBRef.boardRef
.child(key)
.setValue(
BoardModel(binding.titleArea.text.toString(),
binding.contentArea.text.toString(),
writerUid,
FBAuth.getTime()
)
)
Toast.makeText(this, "수정완료", Toast.LENGTH_LONG).show()
finish()
}

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 imageViewFromFB = binding.imageArea

storageReference.downloadUrl.addOnCompleteListener(OnCompleteListener { task ->
if(task.isSuccessful) {

Glide.with(this)
.load(task.result)
.into(imageViewFromFB)

} else {

}
})
}

private fun getBoardData(key : String) {
val postListener = object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
val dataModel = dataSnapshot.getValue(BoardModel::class.java)
binding.titleArea.setText(dataModel?.title)
binding.contentArea.setText(dataModel?.content)
writerUid = dataModel!!.uid
}
override fun onCancelled(databaseError: DatabaseError) {
// Getting Post failed, log a message
Log.w(TAG, "loadPost:onCancelled", databaseError.toException())
}
}
FBRef.boardRef.child(key).addValueEventListener(postListener)
}
}


★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ㅍ

BoardEditActivity.kt 부분입니다

코드는 처음부터 끝까지 개발자님 강의보고 작성하였습니다
어플's profile image
어플

asked

Ask a question