no image
kotlin 네트워크 형식, 보안 체크 하기
이번엔 앱의 보안에 대해서 조치를 취하다가 간단한 자동 로그아웃을 구현하려고 합니다.비밀번호가 없는 네트워크나 "WEP" 보안형식의 네트워크일 경우를 체크해서 AlertDialog창을 띄운다거나, 로그아웃 예정 메시지를 알려주는 거죠.0 간단한 내용1. 전부 AOS 운영체제의 service딴으로 접근하는거라 의존성 추가는 필요 X2. 별도의 class로 분리해서 화면전환 시 빠르게 사용하려고 구현했구요1. WifiManager.kt class WifiManager(private val context: Context) { ...} 비전공자로 기본 토대가 조금 부족하다고 느꼈는데, 클린 코드에서 코드의 재사용성을 높이기 위해 object와 class를 만들어 사용할 때 뭔 차이일까.. 싶었는데 이 부분에서 ..
2024.12.31
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