지금 보면 내가 뭘하고 있는지 모르는 것이 태산이다...
먼저 내가 원한는 이미지를 앱에 추가하는 기능은 추가했다.
먼저 mainㅑfest에 선언을 해줘야 한단.
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE
이거는 쉽다 그러면 다음은 무엇을 해야 할까?
이미지를 추가할때 기능을 주어야 할 것 같다.
private fun communityAddImage(){
binding.communitiyWriteAddimage.setOnClickListener {
val gallery = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI)
startActivityForResult(gallery, 100)
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == 100 && resultCode == RESULT_OK){
val selectedImageUri = data?.data
binding.communitiyWriteAddimage.setImageURI(selectedImageUri)
handleImageSelected(selectedImageUri)
}
}
문제는 여기서 내가 firbase realtimedatabase 에 추가를 하려면 string typ이여야 한다는 것이 다 즉 이 것을 URL로 바꾸는 작업을 진행해야 한다는 것이다.
private fun handleImageselected(selectedImageUri: Uri?) { // imageURL 을 생성할 지 말지
if (selectedImageUri != null) { // addImage가 활성화 될때 imageURL이 생성 됨
imageUrl = selectedImageUri.toString()
} else { // addImage가 비활성화 일때는 ""로 받아옴.
imageUrl = ""
}
}
}
여기서 이미지를 url로 바꿔 줌으로서 firebase 데이타베이스에서 쓸수 있는 것이다.
다음이 이거를 이미지가 없을때와 있을때를 설정해서 같이 갈수 있게했다..
물론 이것이 쉽지는 않았지만 그래도 진행이 될 수있었던 것은 이것을
여러가지 조건을 줌으로서 없을때는 아무것도 없는 url을 있을때는
생성된 이미지url을 받아 올수 있게 만들었다.
쉽지않았다... 처음에는 무조건 이미지를 저장하고 url을 만들게 만들어 버리면서 아주 고생을 했다...
다행이 튜터님이 주신 힌트 덕분에 찾아 내었다.!!
지금도 계속 생각하는 거지만 내가 이거를 잘할수있을까 없을까가 중요하지 않는 거 같다.
일단 안되도 해보고 못먹어도 고 하는 것 아니겠나?/
지금 이상황에서 포기하는 거는 내가 들이 시간과 돈이 너무 아깝다.
그리고 지금은 내가 책임져야 하는 사람이 있지 않은가!
진짜 다시해보자는 마음으로 진행해야겠다
오늘은 그리고 이문제를 끝내고 이제.... 내 가 게시한 글을 수정할 수있느 기능을 하려고 열심히 알아보고 있는데 쉬운 것으 아닌 것 같다.
먼저 기본적으로 이것을 다른 엑티비티를 만들지 않고 하려고 하다보니 계속 엉키는 것 같다.