aksqhqkqh37186
@aksqhqkqh37186
Reviews Written
1
Average Rating
2.0
Posts
Q&A
์์ ์๋ฃ ๋ค์ด๋ก๋ ํ ์์งํ๊ธฐ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด๊ฑฐ ํด๊ฒฐ ํด์ค ์ ์๋์??... ์ฝ๋ ์ข ๋ฐ์์ ๋ณด๊ณ ์ถ์๋ฐ...์ธ์ ํด๊ฒฐ ๋ ๊น์?? ใ ใ
- 0
- 3
- 447
Q&A
ํ ํฐ ์ ๋ณด ์ ์ ์ ๋ณด์ ์ ์ฅํ๊ธฐ ๊ฐ์ 4๋ถ 12์ด ์ฝ๋๋ฅผ ๋์ผํ๊ฒ ์ ๋ ฅํ๋๋ฐ ์ ์ฉ์ด ์ ์๋๋ ๊ฒ ๊ฐ์์.
2๋ฒ์์ ํ ํฐ ๊ฐ์ด ์ ํํ ๋ฐ์์ค๊ณ ์๋์ง ํ์ธ์ ์ด๋ค ๋ฐฉ์์ผ๋ก ํด์ผํ๋์?
- 0
- 3
- 383
Q&A
ํ ํฐ ์ ๋ณด ์ ์ ์ ๋ณด์ ์ ์ฅํ๊ธฐ ๊ฐ์ 4๋ถ 12์ด ์ฝ๋๋ฅผ ๋์ผํ๊ฒ ์ ๋ ฅํ๋๋ฐ ์ ์ฉ์ด ์ ์๋๋ ๊ฒ ๊ฐ์์.
๋๋ค ํจ์ ๋ด์์ ๋ก๊ทธ๋ฅผ ์ฐ์ด์ ์ฐ์ด์ ๋์ํ๋์ง ์ ๊ฒํ๋ผ๋ ๊ฒ์ ์ด๋ป๊ฒ ํ๋์...์ฑ ์งํผํฐ์์ ์๋์ ๊ฐ์ด ํด๋ผ๊ณ ํ๋๋ฐ ๊ดํ ์ฝ๋ ๊ฑด๋๋ ธ๋ค๊ฐ ์ค๋ฅ ๋ฐ์ํ ๊ฑฐ ๊ฐ์์ ๋ชปํ๊ณ ์๋๋ฐ... 1. ๋ก๊ทธ ์ฐ๊ธฐ(Logcat ์ฌ์ฉ)์๋๋ก์ด๋์์ ๋ก๊ทธ๋ฅผ ์ฐ๋ ๊ฒ์ ์ฑ์ ๋์์ ์ถ์ ํ๊ณ ๋๋ฒ๊น ํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ์๋๋ก์ด๋์ Log ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ ์ ์์ต๋๋ค.2. completeListener ๋?completeListener๋ ์ผ๋ฐ์ ์ผ๋ก ๋น๋๊ธฐ ์์ ์ด ์๋ฃ๋์์ ๋ ํธ์ถ๋๋ ์ฝ๋ฐฑ ์ธํฐํ์ด์ค์ ๋๋ค. ์๋ฅผ ๋ค์ด, Firebase Firestore์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๋ ์์ ์ด ์๋ฃ๋์์ ๋ completeListener๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.3. ๋๋ค ํจ์ ๋ด์์ ๋ก๊ทธ ์ฐ๊ธฐ๋๋ค ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์ค๋๋ฅผ ๊ตฌํํ ๋, ๋ก๊ทธ๋ฅผ ์ฐ๋ ๋ฐฉ๋ฒ์ ์์ ๋ก ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค.์์ 1: Firebase Firestore์ addOnCompleteListener ์ฌ์ฉjava์ฝ๋ ๋ณต์ฌFirebaseFirestore db = FirebaseFirestore.getInstance(); DocumentReference docRef = db.collection("users").document("user_id"); // ์์: Firestore์์ ๋ฌธ์ ๊ฐ์ ธ์ค๊ธฐ docRef.get().addOnCompleteListener(task -> { if (task.isSuccessful()) { DocumentSnapshot document = task.getResult(); if (document.exists()) { Log.d("FirestoreExample", "DocumentSnapshot data: " + document.getData()); } else { Log.d("FirestoreExample", "No such document"); } } else { Log.d("FirestoreExample", "get failed with ", task.getException()); } });์ ์์ ์์, addOnCompleteListener ๋ฉ์๋ ์์ ๋๋ค ํจ์๊ฐ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ๋๋ค ํจ์ ๋ด์์ Log.d ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ๋ฅผ ์ฐ๊ณ ์์ต๋๋ค.์์ 2: Firebase Authentication์ addOnCompleteListener ์ฌ์ฉjava์ฝ๋ ๋ณต์ฌFirebaseAuth mAuth = FirebaseAuth.getInstance(); mAuth.signInWithEmailAndPassword(email, password) .addOnCompleteListener(this, task -> { if (task.isSuccessful()) { // ๋ก๊ทธ์ธ ์ฑ๊ณต Log.d("AuthExample", "signInWithEmail:success"); FirebaseUser user = mAuth.getCurrentUser(); } else { // ๋ก๊ทธ์ธ ์คํจ Log.w("AuthExample", "signInWithEmail:failure", task.getException()); Toast.makeText(this, "Authentication failed.", Toast.LENGTH_SHORT).show(); } });์ด ์์ ์์๋ Firebase Authentication์ ์ฌ์ฉํ์ฌ ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ก ๋ก๊ทธ์ธํ ๋, addOnCompleteListener๋ฅผ ํตํด ์์ ์ด ์๋ฃ๋์๋์ง ํ์ธํ๊ณ ๋ก๊ทธ๋ฅผ ์ฐ์ต๋๋ค.4. ๋ก๊ทธ ํ์ธ์๋๋ก์ด๋ ์คํ๋์ค์์ ๋ก๊ทธ๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์:์๋๋ก์ด๋ ์คํ๋์ค์์ Logcat ์ด๊ธฐ:ํ๋จ์ Logcat ํญ์ ํด๋ฆญํ์ฌ ๋ก๊ทธ ์ฐฝ์ ์ฝ๋๋ค.ํํฐ ์ค์ :๋ก๊ทธ ๋ฉ์์ง์ ํ๊ทธ๋ก ํํฐ๋งํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ ์์ ์์๋ "FirestoreExample" ๋๋ "AuthExample" ํ๊ทธ๋ก ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํ์ผ๋ฏ๋ก, Logcat ์ฐฝ์์ ํด๋น ํ๊ทธ๋ก ํํฐ๋งํ์ฌ ๋ก๊ทธ๋ฅผ ์ฝ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค.๋ก๊ทธ ํ์ธ:๋ก๊ทธ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋์ง ํ์ธํ์ฌ completeListener๊ฐ ์ ๋๋ก ๋์ํ๋์ง ํ์ธํฉ๋๋ค.์ด์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋๋ค ํจ์ ๋ด์์ ๋ก๊ทธ๋ฅผ ์ฐ์ด completeListener๊ฐ ๋์ํ๋์ง ์ ๊ฒํ ์ ์์ต๋๋ค. ์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด ์ธ์ ๋ ์ง ์ง๋ฌธํด ์ฃผ์ธ์!
- 0
- 3
- 383
Q&A
FCM ๊ฐ์ ์ค๊ฐ๋ถํฐ ์ฝ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋์ง ์ฑ์์ ํ์๊ฐ์ ์ ํด๋ ํ์ด์ด๋ฒ ์ด์ค Authentication์๋ ํ์๋ฑ๋ก์ด ํด๋ ํ๋ฉด์ด ๋์ด๊ฐ์ง ์๊ณ ๋ฐ์ดํฐ๋ ์ ์ฅ์ด ์ ๋๋ค์.
https://github.com/developkyu/somethingtlak์ฌ๊ธฐ์ ์ฌ๋ ธ๋๋ฐ ๋ณด์ด์ค๊น์?
- 0
- 3
- 286
Q&A
FCM ๊ฐ์, firebaseservice ํด๋์ค ๋ด ์ค๋ฅ์ฝ๋ ํด๊ฒฐ๋ฐฉ์์ด ๊ถ๊ธํฉ๋๋ค.
1๋ฒ๋ถํฐ ์ด๋ป๊ฒ ํ๋์ง ๋ง๋งํ๋ค์
- 0
- 2
- 265
Q&A
Retrofit ์ฌ์ฉํด๋ณด๊ธฐ ๊ฐ์ 2:20 ์ฏค์ ์์ฑ๋ ๋ณต์ฌ๋ ์ฝ๋๋ ์ด๋์ ๋ฐ๋์?
๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 227
Q&A
๊ฐ์ FCM ์๊ฐ 1:56์ ๋ํ๋์ ์ถ๊ฐํ๋๊ฒ ์ต์ ๋ฒ์ ์ผ๋ก ๋ฐ๋ ๋ฏํฉ๋๋ค.
1. ๋ํ๋์์ ์๋์ ๊ฐ์ด ์ ๋์ด ์๋์งimplementation platform('com.google.firebase:firebase-bom:30.3.2') implementation 'com.google.firebase:firebase-analytics-ktx' implementation 'com.google.firebase:firebase-messaging'2. AndroidManifest์์ internet permission์ด ๋์ด์๋์ง3. ์ด๋ ๊ฒ ํ๊ณ ํธ์๋ฉ์ธ์ง๋ฅผ ๋ ๋ฆฌ์ จ์ ๋ ์ฒ์์๋ ๋๋ ์ด๊ฐ ์กฐ๊ธ ์์ด์ ์ค์ง ์๋ ๊ฒ ์ฒ๋ผ ์๊ฐํ์ค ์ ์์ต๋๋ค.์ค์ ํธ๋ํฐ๊ณผ ๊ฐ์ ๋๋ฐ์ด์ค ๋ชจ๋ ์ฑ์ ์ค์นํ์๊ณ , ์ฌ๋ฌ๋ฒ ๋ณด๋ด๋ ๋์ฐฉํ์ง ์๋์ง ํ๋ฒ ํ์ธํด์ฃผ์๊ฒ ์ด์?4. ์ด๋ ๊ฒ ํด๋ ์ ์๋๋ค๋ฉด ๊ฐ์FCM ๋ถ๋ถ์ ์กฐ๊ธ ๋๊ธฐ๋ค๋ณด๋ฉด "ํ ํฐ ๋ฐ์์์ ๋ฉ์ธ์ง ๋ณด๋ด๊ธฐ"๋ผ๋ ๊ฒ์ด ์์ต๋๋ค.์ด ๋ ํ ํฐ์ ๋ณด๋ฅผ ๋ฐ์์์ ์ ์กํ๋ ๋ถ๋ถ๋ ํด๋ณด์๊ณ ์๋์๋ฉด ํ๋ฒ ๋ ๋ฌธ์์ฃผ์ธ์.๊ฐ๋ฅํ๋ฉด ํ์ฌ ์ด๋ค๋ฐฉ์์ผ๋ก ์๋ํ๊ณ ๊ณ์ ์ง ์์ธํ ์ค๋ช ์ฃผ์๋ฉด ๋์๋๋ฆฌ๊ธฐ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
- 0
- 1
- 269
Q&A
๋งค์นญ์ด ๋๋ฉด ์๋ ๋์ฐ๊ธฐ ๊ฐ์์์ ์ค๋ฅ๋ฌธ๊ตฌ ํด๊ฒฐ๋ฐฉ์์ด ๊ถ๊ธํฉ๋๋ค.
๊ฐ์ ์ ๋ชฉ ' ๋ค์ ๊ฐ์๋ถํฐ Notification์ด ๋์ค์ง ์๋๋ค๋ฉด?' ์์ ์ฑ์ ์ญ์ ํ ์ฌ์ค์น ํ๋ผ๋ ๋ง์ด ๋ฌด์จ๋ง์ธ๊ฐ์?? ๊ฐ๋ฐ ์ค์ ์ฑ ํ๋ก์ ํธ๋ฅผ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํ๋๊ฒ ๋ง๋์? ใ กใ กใ กใ กใ กใ กใ กใ กใ กใ ก ์ด์ ๊ฐ์ ๊ธ์์ ์๋ ค์ฃผ์ ๋๋ก ์ธํธ๋ก ์กํฐ๋นํฐ์ ์ฝ๋ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐํ๊ณ , ์๋ฎฌ๋ ์ดํฐ์ ์๋ ์ฑ์ ๊พน ๋๋ฌ์ ์ญ์ ํ๊ณ , ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ฌ์คํ ์ํค๋ ์ฑํฌ ๋ ์๋ ๊ถํ ์น์ธ์ฌ๋ถ๋ฅผ ๋ฌป๋ ์ฐฝ์ด ๋จ๋ค์. ํด๊ฒฐ์๋ฃ์ ๋๋ค.
- 0
- 3
- 343
Q&A
๋งค์นญ์ด ๋๋ฉด ์๋ ๋์ฐ๊ธฐ ๊ฐ์์์ ์ค๋ฅ๋ฌธ๊ตฌ ํด๊ฒฐ๋ฐฉ์์ด ๊ถ๊ธํฉ๋๋ค.
๋๋ฒ์งธ ์ค ์ค๋ฅ์ฝ๋๋ ํด๊ฒฐํด๋ณด๊ฒ ์ต๋๋ค...ใ กใ กใ กใ กใ ก24. 5. 29. ๋ฏธํด๊ฒฐ.....ใ กใ กใ กใ กใ ก
- 0
- 3
- 343
Q&A
๋งค์นญ์ด ๋๋ฉด ์๋ ๋์ฐ๊ธฐ ๊ฐ์์์ ์ค๋ฅ๋ฌธ๊ตฌ ํด๊ฒฐ๋ฐฉ์์ด ๊ถ๊ธํฉ๋๋ค.
(์ฌ์ง)์ค๋ฅ์ฝ๋ ์ฒซ์งธ์ค์ ๋ฐ์ํ ์ค๋ฅ๋ AndroidManifest.xml ํ์ผ ๋ด์ ์๋ฆผ์ ๋ํ ๊ถํ์ ์ถ๊ฐํด์ฃผ๋ฉด ํด๊ฒฐ๋๋ ๋ฏํ๋ค์. ํด๋น ๊ฐ์ ์์ ์ค๋ช ์ด ์ด๋ฐ ๋ด์ฉ์ด์๊ตฐ์.(์ฌ์ง)(์ฌ์ง)๋ค๋ฅธ๋ถ๋ค๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ฉด ๋งค๋ํ์คํธ์ ๋ฃ๋ ์ฝ๋๋ ์๋ ๋งํฌ ๋ค์ด๊ฐ๋ณด์ธ์.https://velog.io/@simon3397/Android-Notifications
- 0
- 3
- 343




