๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ฑ| 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.
728x90