๐ฑ| Android/๐ฅ | Firebase6 [Android, Kotlin] firebase sns ์ฑ ๋ง๋ค๊ธฐ 5(๊ฒ์๊ธ ์ธ๋ถ ๊ธฐ๋ฅ) ์ด๋ฒ์๋ ๊ฒ์๋ฌผ์ ์ธ๋ถ ๊ธฐ๋ฅ๋ค์ ๋ง๋ค์ด๋ณด๊ฒ ๋ค. ๊ฒ์๊ธ ๋ฆฌ์คํธ recycler view item ์ด๋ฒ์๋ ์ท๊ฑธ์ด(์ข์์ ์นด์ดํธ), ๋ถ๋งํฌ ๊ธฐ๋ฅ๋ง ๊ตฌํํด ๋ณด๊ฒ ๋ค. ์๋ ์๋ recyclerView Adapter ์ฝ๋์์ . . . override fun onBindViewHolder(holder: MainPageFragmentRecyclerAdapter.CustomViewHolder, position: Int) { . . . // like ๋ฒํผ ์ด๋ฒคํธ holder.like.setOnClickListener { favoriteEvent(position) } holder.bookMark.setOnClickListener { bookMarkEvent(position) } // like count, like ima.. 2022. 10. 28. [Andoird, Kotlin] firebase sns ์ฑ ๋ง๋ค๊ธฐ 4(๊ฒ์๋ฌผ ๋ถ๋ฌ์ค๊ธฐ) ์ด๋ฒ์ ํ ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ํฌ์คํธ ๋ฐ์ดํฐ๋ค์ ๋ถ๋ฌ์์ recyclerview ๋ก ์ถ๋ ฅํด ๋ณผ๊ฒ์ด๋ค. 1. recyclerview item ๋ง๋ค๊ธฐ ์ด๋ฏธ์ง ์ค์ ์ ์ ์ ํ๋กํ์ ๋ณด์ฌ์ค ์ด๋ฏธ์ง๋ Circle ImageView๋ฅผ ์ฌ์ฉํ๋ค ํฌ์คํธ์ ๋ฉ์ธ ์ฌ์ง์ ๋ณด์ฌ์ฃผ๋ ๊ณณ์ cardView๋ฅผ ์ฌ์ฉํด ๋์ ๋ฅ๊ธ๊ฒ ํด์ฃผ์๋ค. 2. recyclerview adapter ๊ตฌํ var postDto: ArrayList = arrayListOf() // post๋ฅผ ๋ด์ arraylisy var postUidList: ArrayList = arrayListOf() // ์ฌ์ฉ์์ uid๋ฅผ ๋ด์ arraylist init { fireStore.collection("posts").orderBy("timestamp").ad.. 2022. 7. 19. [Android, Kotlin] firebase sns ์ฑ ๋ง๋ค๊ธฐ 3(๊ฒ์๋ฌผ ์์ฑ) ์ด๋ฒ์๋ ๊ฒ์๊ธ์ ์์ฑํ๋ ๊ธฐ๋ฅ์ ๋ง๋ค์ด ๋ณด์ 1. ๊ฐค๋ฌ๋ฆฌ๋ก ์ฌ์ง ๋ถ๋ฌ์ค๊ธฐ var PICK_IMAGE_FROM_ALBUM = 0 var photoUri: Uri? = null val photoPickerIntent = Intent(Intent.ACTION_PICK) photoPickerIntent.type = "image/*" startActivityForResult(photoPickerIntent, PICK_IMAGE_FROM_ALBUM) . . . override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (req.. 2022. 7. 4. [Android, Kotlin] firebase sns์ฑ ๋ง๋ค๊ธฐ 2(๋ก๊ทธ์ธ) ์ ์ ๋ง๋ค์๋ ํ์๊ฐ์ ์ ์ด์ฉํด ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ณด์. 1. ํด๋ฆญ ๋ฆฌ์ค๋ ์ค์ binding.loginButton.setOnClickListener(object: View.OnClickListener { override fun onClick(p0: View?) { . . . } } 2. ์์ธ ์ฒ๋ฆฌ ์ด๋ฉ์ผ ํจ์ค์๋๊ฐ ์ ๋ ฅ๋์ง ์์์ ๋์ ์์ธ์ฒ๋ฆฌ val email:String = binding.email.text.toString() val pw:String = binding.password.text.toString() if (TextUtils.isEmpty(email) || TextUtils.isEmpty(pw)) { Toast.makeText(this@MainActivity, "์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ ํ.. 2022. 6. 23. [Andorid, Kotlin] firebase sns ์ฑ ๋ง๋ค๊ธฐ 1(ํ์ ๊ฐ์ ) firebase๋ก sns๋ง๋ค๊ธฐ ํ๋ก์ ํธ์์ ํ์ ๊ฐ์ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ณด๋๋ก ํ์ android ํ๋ก์ ํธ firebase์ ์ฐ๋ํ๋ ๋ฐฉ๋ฒhttps://lakue.tistory.com/37 [Android/์๋๋ก์ด๋] Android Studio Firebase ์ฐ๋ (1) ์ด๋ฒ ๊ธ์์ ์๋๋ก์ด๋์ ํ์ด์ด๋ฒ ์ด์ค๋ฅผ ์ฐ๋์ ํด๋ณด๊ฒ ์ต๋๋ค. ์๋๋ก์ด๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๊ธฐ ์ํด ํ์ด์ด๋ฒ ์ด์ค๋ฅผ ํตํด ๊ฐ๋จํ๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ฐ์ ํ์ด์ด๋ฒ ์ด์ค์ ์๋ lakue.tistory.com 1. ์ ๋ ฅ๊ฐ ๋ฐ์์ค๊ธฐ val name = binding.newName.text.toString() val email = binding.newEmail.text.toString() val id = binding.newId.text.toS.. 2022. 6. 19. [Android Kotlin] firebase fireStore, storage๋ฅผ ์ด์ฉํด recyclerView๋ก ์ฌ์ง ์ถ๋ ฅํ๊ธฐ ์๋๋ก์ด๋ sns์ฑ ๋ง๋ค๋ค๊ฐ ์์๋ธ ๋ฐฉ๋ฒ์ ๊น๋จน์์ด๋ ๋ค์ ๋ณผ ์ ์๊ฒ ์ด ํฌ์คํ ์ ์ด๋ค. ์ค๋์ firebase fireStore, storage๋ฅผ ์ด์ฉํด recyclerView๋ก ์ฌ์ง ์ถ๋ ฅํ๋ ๊ฒ์ ํด ๋ณด๊ฒ ๋ค. ๋จผ์ storage์ ์ฌ์ง์ ์ถ๊ฐํด๋ณด์๋ค. ์ผ๋จ ๋๋ ๊ฒ์๊ธ ๋ง๋ค๊ธฐ ๊ธฐ๋ฅ์ ๋ง๋ค๋ฉด์ ๊ฒ์๊ธ์ ์ฌ๋ฆฐ ์ด๋ฏธ์ง๋ค์ ๋ชจ๋ images ํด๋์ ๋ฃ์๊ณ , ๊ทธ๋ฆฌ๊ณ ๊ทธ ํด๋ ์์ ์ฌ์ฉ์์ uid๋ฅผ ๋ด์ ํด๋๋ฅผ ๋ง๋ค์ด์ ๊ทธ ์์ ์ด๋ฏธ์ง๋ค์ ์ ์ฅํ๋ค. ๊ทธ ๋ค์, firestore์ ๋ฐ์ดํฐ๋ค์ ์ง์ด๋ฃ์ ๋, ์ฌ์ฉ์์ uid์ ์ด๋ฏธ์ง ์ฃผ์๋ฅผ ๊ฐ์ด ์ง์ด๋ฃ์๋ค. ์๋ํ๋ฉด ์ฌ์ฉ์ uid๊ฐ ๊ฐ์ผ๋ฉด ์ด๋ฏธ์ง์ฃผ์๋ฅผ ๋ฐ์์ recyclerView์ ๋ณด์ฌ์ฃผ๊ฒ ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. firestore์ storage์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ .. 2022. 3. 31. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ