no image
[ kotlin ] 디버깅 시간 [RequestTokenManager] getToken() -> NETWORK_ERROR. App: com.example.practice_project, Service: oauth2:email openid profileaoav: Error when calling server using GmsNetworkStack.
서론[RequestTokenManager] getToken() -> NETWORK_ERROR. App: com.example.practice_project, Service: oauth2:email openid profileaoav: Error when calling server using GmsNetworkStack.라는 생전 처음 보는 오류..어디서 생겼나면val currentUser = Firebase.auth.currentUser if (currentUser == null) { firebaseAuth = FirebaseAuth.getInstance() launcher = registerForActivityResult(ActivityResultCon..
2024.12.13
no image
[ kotlin ] 생체인증, PIN, 패턴 인증 로그인 구현
서론UPbit.. 카뱅, kbank 뭐 여러 어플에 로그인하려면 마주치는 이것 FACE ID, TOUCH ID 아시죠?? 분명 FACE ID가 나왔을 때 android에는 touch id 밖에 없었던 것 같은데 암튼.. 안드로이드 버전 업을 했떠니 이제 face id 도 있더라구요? 이름하야 생체 인식 - 얼굴 인식 이구요 하드웨어에 맞게 아직까지 터치 아이디도 있다는 점 아무튼 누군가가 기기를 훔쳤을 때, 민감한 정보를 보호할 수 있는 장점이 있는 인증 보조 장치? 라고 보면 됨 이를 일단 구현하는건 의존성 추가만 하면 뚝딱!  하지만 보안 패턴이 다양하고, 기기마다 이 보안을 기호에 맞게 설정하기 때문에 여러 경우에 예외처리를 해줘야 하는 부분이 있습니다. (블루투스나 헬스커넥트랑 비슷) https:..
2024.12.12
no image
[ kotlin ] 안드로이드 종료 감지 (화면 종료, 앱 종료)
ㅎㅇ 앱을 개발하다보면 보이는 onDestroy, onStop과 같은 override 함수들을 쓰다보면 성에 안차는 경우가 많음 그냥 이 Activity나 Fragment가 종료될 때 내가 원하는 뭐 초기화 코드들이 동작했으면 좋겠는데 debugg모드에서는 안됨. 그러다보니까 최근 회사에서  앱의 보안 issue중에서 회원가입을 위해 firebase의 전화번호 인증 이후에 앱을 다시 키면 token이 남아있어 계정이 없는데 로그인이 되버리는 아이러니한 상황도 있었음여기서 앱이 종료되거나 해당 Activity나 Fragment가 종료될 때, 이 FirebaseAuth.getInstance()의 토큰이나 SignOut()같은 메소드를 실행해주게끔 돼 있었는데 동작을 안해버리는 것.따지고 보면 이 Activi..
2024.12.12
no image
키오스크 이미지 목업 이미지, 키오스크 목업
포폴을 녹진히 만드는 요즘.포폴 만들다가 무료로 쓸 수 있는 키오스크 일러스트가 없어서 ㅠ 혼자Canva에서 만들다가"그냥 이거 웹에 올려 놓고 더 편하게 써야겠다ㅎㅎ"라는 마인드로 정통문과가 만든 키오스크 ㅋ이게 구글링하면 나올지는 모르겠지만 일단 올려놓는걸로 !  사이즈 조절이 애매할 거 같아서 일단 크기만 조절해서 대충 만들어봤당.누가봐도 키오스크 같이 생기지 않았나? ㅎ
2024.11.25
[ 개발 ] 주석에 대한 고찰
1. 배경이제 돈받고 만들고 있는 (월급임 ㅋㅋ) 회사의 AOS앱이 곧 출시를 앞두고 있는데  사용자의 편의를 중점적으로 고민하다보니, 점점늘어나는 Dialog, Fragment, Adapter, Object, Interface 또 view class 들 같이 걍 파일 폭탄 ( apk 빌드하면 120메가가 넘는데 drawable도 너무 많음 ) 아무튼 어떤 kt 확장자 파일에서는 import만 120줄이 넘어가고, util함수나 데이터 전부 분리했는데도, 2000줄이 넘어버림.. 또 어떤 fragment는 요구하는 기능이 너무 많아서, 함수의 연결이 너무 어렵기도 하고, 어떤 건 이미 빌드된 오픈소스 프로젝트에서 코드를 뜯어와서 해석하기도 어렵고 어떤 파일에서는 데이터 구조의 뎁스가 너무 깊어서 (5중임..
2024.11.23
no image
[ Kotlin ] 디버깅 시간 not attached to a context
오늘의 디버깅 시간~ 디버깅 기초중에 기초라고 할 수 있는? 주제임 바로 Context에서 생기는 오류로 실제로 디버깅 모드에서 avd로 개발 중이거나 할 때는 발견할 일도 많이 없지만, 실제 기기에서 화면 전환이 무자비하게 이뤄지거나, 아니면 쉘몽키 같은걸로 앱을 두들길 때 발견할 수 있음 ㅋㅋhttps://developer.android.com/reference/android/content/Context Context  |  Android Developers developer.android.com not attached to a context. 라고 로그에 나오는데 공홈에서는 애플리케이션 환경에 대한 글로벌 정보에 대한 인터페이스입니다. 이것은 안드로이드 시스템에서 구현을 제공하는 추상 클래스입니다...
2024.11.21
no image
[ Kotlin ] 기능 구현 완료 후 방향
액티비티의 라이프사이클이나 코루틴에 대해서 어떻게 설계를 해야할까..테스트는 어떻게 진행해야할까. 머리를 쥐어짜내던 요즘 메모리 효율을 어떻게 끌어올려야하나에 대해서 점점 고민이 깊어지는 상황 (아직 짬찐데 어떻게 하지.....)왜냐? 프로젝트가 거의 마무리 단계이기 때문. 그렇게 여러 블로그를 찾아보다가 우연히 현재 toss의 안드로이드를 담당하시는 개발자분의 깃헙에 들어갔다가 한 샘플을 보게 되는 NA..패키지 구성부터가 내가 생각했던 것과 전혀 달랐던 상황.  그냥 코드만 읽다가 안 사실인데, Composable 어노테이션을 적은 함수를 내 activity 그니까 controller에서도 가능한 점이 신기함 (controller 맞나..?) 아무튼 디자인 패턴 등 여러가지 앱의 배포와 디버깅, 버전..
2024.11.18
no image
[ Kotlin ] 안드로이드 Compose - State, ViewModel
진짜 정신과 시간의 방에서 지낸 며칠간드디어 첫 번째 Compose 가이드를 끝냈다(걍 진짜 뛰쳐나가고 싶은 적 2번..)암튼 플러터 기초에서도 배웠던StatelessStateful+ViewModel(동적 값 변동)이렇게 배웠는데구글 codelab은 어떻게 예시 어플도 이렇게 그럴싸하게 생긴건지 ㅋㅋㅋ암튼231220 완료 후 231221에 복습 한 번 더 하며 적을 예정231223 시작!0. 키오스크에서 메뉴를 추가하면 총 합 금액이 계산돼서 변동되는 것과 같은 원리. 또한 메뉴가 개많으면, 우리 RecyclerView처럼 뷰가 보이는 것(LazyColumn)Live Data, Observe같은 형태로 기존에는 만들었던거 같은데,, 너무 gpt에 의존하다보니까 제대로 공부못했음. 암튼해당 CodeLab ..
2024.11.13
no image
[ Kotlin ] Compose - 레이아웃만들기(material icon과 modifier 등)
231205를 마지막으로 인공지능사관학교의 app개발 과정도 끝이났다.그래서 포폴도 만들어보고? 이력서도 적어봤는데띠용걍 전멸,,그래서 여러 커뮤니티를 떠돌면서 정보를 줍줍했으니결론은개인프로젝트로 내 역량을 키우고 검증하자였다. (지금까지 한 게 너무 빈약해서 경쟁력이 없다)그렇게 무지성으로 layout 짜다가 문득 드는 생각이? ㅋㅋ내가 시간과 노력을 쏟아서 했던 개인프로젝트가, 들인 노력에 비해 실무에서 별로 안쓰는 것들로만 이뤄지면 걍 낭패.그래서 찾아본 결과Compose (jetpack)라는게 요새 많이 쓴다고 했다구 해서 시작.일단 안드로이드에서 안내하는 모든Android 개발자를 위한 Jetpack Compose과정을 공부하는게 목표 ㅎㅎ그리고 그 전에 디벨로퍼스 페이지에서 나온기본 레이아웃 ..
2024.11.13