Android에서 Firebase Google Login 구현하기
·
Android
0️⃣ Firebase로 Google Login? 사실 많은 앱들에서 소셜 로그인을 지원한다. 나 같은 경우엔 이제 앱에 소셜 로그인 없이 자체 회원가입만 있다면 잘 이용하지 않게 되는 것 같다. 특히, 자체 회원가입을 하더라도 소셜 계정 연동이 없다면 더더욱! 그만큼 소셜 로그인이 앱의 필수 기능으로 자리잡은 만큼 꼭 구현해보고 싶었던 기능이다. (그동안 소셜 로그인을 한 번도 연동해본 적이 없다는 것이 더욱 충격적) 이번 프로젝트에서는 서버 없이 FireStore로만 작업했기 때문에 Firebase Google Login 구현이라고 보면 된다. 차근차근 해보자. 1️⃣ Firebase Setting먼저 Firebase 세팅을 해주면 된다. 우리 팀의 리더 친구가 세팅 해주었다! 하지만 세팅 자체가 어..
문제해결 : java.util.ConcurrentModificationException
·
Android/문제해결
⛔ 문제사항fakeDataList.forEachIndexed { idx, itm -> if (idx == position) { fakeDataList.removeAt(idx) mainAdapter.notifyItemChanged(idx) }}forEachIndexed를 통해 List 안의 값을 삭제하려고 했는데, 이 코드가 동작하기만 하면 앱이 강제 종료 되며 java.util.ConcurrentModificationException 과 같은 에러가 나타났다.✅ 해결방안원인은 List나 Map과 같은 컬렉션을 수정하는 도중에 다른 스레드에서 동시에 컬렉션을 수정하려고 해서 그러는 것인데, 쉽게 말하자면 List는 수정되었는데 수정되기 이전의 List에서 forEach가 계속 수행 되고 있기 때문이다...
Android에서 Lottie Animation 적용하기
·
Android
0️⃣ Lottie Animation?로티 애니메이션은 개발자들이 손쉽게 애니메이션을 구할 수 있는 방법이다. mp4나 gif보다 용량도 적고 조작하기도 쉬운 파일로서 json 또는 lottie 자체 애니메이션 파일로 제공되곤 한다. 무료 로티 애니메이션, 모션 그래픽을 위한 모든 플러그인과 도구를 한 곳에 - 로티파일즈/LottieFi로티파일즈/LottieFiles는 오픈소스 애니메이션 포맷 로티를 제공하는 세상에서 가장 큰 무료 플랫폼입니다. 웹, iOS, 안드로이드, 윈도우를 위한 모션 그래픽 작업을 지원하는 플러그인과 툴을 통lottiefiles.com게다가 공식문서가 정말 잘 되어있어서 어떤 플랫폼에서든 공식 문서 하나만 보면 다 적용하며 따라할 수 있다! 이것이 정말 큰 장점인 것 같다. 덕분..
Android에서 원형 ImageView 만들기
·
Android
이미지를 둥글게 만드는 경우는 정말 정말 많다! 필수 기능 중 하나라고 봐도 무방할 정도다. 저렇게 둥근 이미지들이 잔뜩 들어갈 때는 어떻게 만들면 좋을까?1️⃣ res/drawble 폴더에 background 생성이렇게 xml 파일을 생성하여 아래코드처럼 작성하면 된다. 두 가지 방법 모두 잘 작동한다. android:shape="oval" props 값을 주게 되면 손쉽게 원형을 생성할 수 있다.  shape 태그 안에 태그를 줌으로 인해서 View의 radius 값을 줄 수 있는데 이때에는 내가 radius를 주려고 하는 원래 View와 dp값을 잘 맞춰주어야한다. 이 점을 유의하자.2️⃣ layout 폴더 내의 xml파일에서 background 적용하기이렇게 background옵션에 방금 dra..
Android란?
·
Android
0️⃣ 안드로이드를 사용해본 사람으로서... 지금이야 아이폰을 쓰고 있지만 사실 안드로이드 휴대폰을 사용한지 정말 오래됐다. 10년 넘게 사용하던 Android를 바꾸게 된 계기는 정말 의아하게도 아이패드와의 연동성 때문이었는데 iCloud의 편리함에 깜빡 속아 넘어가게 된 것이다...  아이폰이 갤럭시보다 더 예쁘다, 성능이 좋다 등등의 말들은 제법 많이 들어봤을 것이다. 예쁜 것은 주관적인 것이고 성능은 분명 수치에 기반한 말일테니 철썩 같이 믿고 아이폰을 처음 사용 했을 때의 실망감은 이로 말할 수 없을 것이다. 버그가 나고 렉이 걸리는 부분이 갤럭시와 조금 다를 뿐이지 아이폰이라고 버그가 없는 게 아니었기 때문이다. 그러면서 점점 느끼게 된 점은 '아하, Android나 iOS나 사용자 입장에선 ..
문제해결 : Hardcoded string "", should use @string resource
·
Android/문제해결
⛔ 문제사항이 Warning 문구는 단순히 텍스트를 하드코딩하지 말란 이야기인데, 단순히 TextView에서만 이러는 건 아니고 Button 등 텍스트가 들어가는 모든 위젯에서는 이러는 것 같다. 전부터 이 거슬리는 워닝을 해결하고 싶었는데 드디어 해결 방법을 알게 되었다!✅ 해결방안res/values/strings.xml 파일 내부에 텍스트를 직접 선언해주고, 다시 파일로 돌아와 내가 하드코딩 했었던 텍스트를 지우고 key 값을 넣어주면 끝이다! 안드로이드가 이렇게 하드코딩을 막는 이유는 다국어지원을 위해서라고 한다. 쉽고 유익한 해결방법...
문제해결 : kotlin.NotImplementedError: An operation is not implemented: Not yet implemented
·
Android/문제해결
⛔ 문제사항강의를 들으며 모든 코드를 따라친다 해도 에러가 발생하기 마련인데, 그래도 놓친 부분이 없이 Run을 누르자마자 이러한 에러가 발생하며 앱이 이유없이 꺼졌다. ✅ 해결방안앱이 꺼진 이유는 바로 TODO 를 삭제하지 않았기 때문이다. 주석으로 되어있는 TODO가 아니라서 그런 것 같다... 앞으로 잘 삭제하고 코드를 실행하자.❗출처참고 사이트 : https://wise-99.tistory.com/43 [코틀린] kotlin.NotImplementedError: An operation is not implemented: Not yet implemented코틀린으로 앱을 만들면서 발생한 오류다. 오류가 발생한 부분은 32번 라인이다. 파이어베이스에 연동해서 데이터를 가져오려고 onDataChang..
문제해결 : 안드로이드 사진 첨부 되지 않는 현상 (권한)
·
Flutter/문제해결
2023년 7월 12일 기준임을 꼭 참고 바란다. ⛔ 문제사항 멀쩡하게 잘 첨부 되던 사진이 어느날부터 되지 않았다. 해당 이슈는 Android에서만 발생하여 iOS 시뮬레이터나 실물기기에서는 문제 없이 작동하였다. PlatformException(read_external_storage_denied, User did not allow reading external storage, null, null) 이런 에러가 발생했는데, 말 그대로 권한이 거부된 상태였다. 내가 선언했던 것은 이렇게 3가지로 아래 두 개의 STORAGE 관련 권한이 사진 및 미디어에 접근할 수 있는 권한이다. 그러나 설정에서 본 앱의 권한에는 사진 및 미디어가 포함되어있지 않는 현상이 발생하여 해결하는 데에 꽤나 애를 먹었다. ✅ 해..