728x90
반응형
- [ Do what you want/Pair Play ]Android 12에서 블루투스 기기 검색이 되지 않는 문제 | startDiscovering is not working on Android 122022-11-13 17:15:23문제 상황 앱을 개발하고 테스트를 진행한 후, 문제가 없다고 판단하고 스토어에 배포를 했다. 본가에 가서 엄마 폰으로 내 앱을 다운 받아 실행해 보았다. ?? 검색이 안된다. 블루투스 페어링하는 앱인데 기기 검색이 안되면 이걸 누가 쓰나 내 폰에서는 잘 됐는데..!! 설마 이거 또 OS 문제인가 엄마에게 양해를 구하고 디버깅을 실행했다. 울 엄마가 사용하는 기종은 노트 텐 플러스 OS 버전 12 되시겠다. startDiscovery()를 실행 했을 때의 로그는 아래와 같았다. 먼저 내 개발용 디바이스인 갤럭시 진 OS 10 D/BluetoothAdapter: startDiscovery D/NonPairedFragment: onReceive: android.bluetooth.adapter.action.DI..
- [ Android/Android ]안드로이드 애플리케이션 설계 패턴2022-06-18 14:35:56MVC 패턴 💡 애플리케이션 구조를 Model, View, Controller 세개의 측면으로 관심사를 분리한다. 개발을 배울 때 가장 먼저 배운 패턴이다. 그렇기 때문에 이해하기도 가장 쉬웠다고 생각한다. 안드로이드에서 activity, fragment 가 view 역할을 한다. 동시에 controller 의 역할을 하기도 한다. 장점 직관적이다. 위에서 이해하기 쉬웠던 이유가 바로 이 장점 때문이 아닐까? 코드를 파악하기 쉽다. 단점 (안드로이드에서는) 위에서 말했듯 activity, fragment 가 뷰와 컨트롤러의 역할을 겸하다 보니 앱의 규모가 커지면 수천줄의 코드가 작성되어 유지보수가 힘들어진다. 컨트롤러는 뷰와 모델에 의존적이고, 뷰는 모델에 의존적이기 때문에 결합도가 높아 유닛 테스트가 ..
- [ Android/Android ][Android] SharedPreferences 와 KeyStore2022-05-11 23:58:42해당 글을 참고했습니다. 안전하게 민감정보 저장 이슈 해당 게시글은 Android 개발자에게 해당되는 이야기다. 민감정보에대해 개발을 하면서 서비스의 운용을 위해 필요한 정보를 받는 것은 자연스러운 일이다. 그중 대표적으로 비밀번호를 말할 수 secu-lee-ty.tistory.com 들어가며 다들 그렇겠지만 전역적으로 쓰이는 정보에 한해서는 SharedPreferences 를 이용해 정보를 저장해왔을 것이다. 나의 경우 로그인기능을 개발하면서 사용자 편의를 위해 로그인 정보 저장 기능을 만들고자 했었다. 그러려면 아이디와 비밀번호 모두를 SharedPreferences 에 저장해야하는데 비밀번호를 평문으로 저장하는 것은 너무 위험하고.. 로그인 정보를 서버에 전송할 때 암호화 된 비밀번호를 전송하니 암..
- [ Android/Android ][Android] 앱 서명2022-04-18 01:41:54해당 페이지를 참고하였습니다 앱 서명 | Android 개발자 | Android Developers 앱 서명 및 보안과 관련된 중요한 개념을 알아보고, Android 스튜디오를 사용하여 Google Play에 출시하기 위해 앱에 서명하는 방법과 Play 앱 서명을 선택하는 방법을 알아보세요. developer.android.com 안드로이드 키스토어 어떻게 관리하시나요? 안드로이드 개발 후 플레이스토어에 배포를 하기 위해서는 키스토어(Key Store)를 이용하여 Signing된 apk 또는 App Bundle이 필요합니다. medium.com Android 에서는 인증서를 사용해 디지털 방식으로 서명된 APK만 기기에 설치하거나 업데이트 할 수 있음 구글에서는 plat 앱 서명으로 앱의 서명 키를 관리..
- [ Android/Android ][Android] AndroidManifest.xml 의 package 속성2022-04-18 01:36:23프로젝트를 클론한 뒤 빌드를 하면 가령 a 프로젝트를 클론해서 b 기능을 하는 프로젝트를 생성했다 치면 a 를 빌드한 다음 b 를 빌드하면 그냥 b 만 남게 된다. 두개 다 두고 싶은데 어떡하면 좋을까! 하다가 AndroidManifest.xml 의 package 속성의 값이 같은 것을 확인했다. Package android 앱의 전체 자바 언어 스타일 패키지 이름 속성의 사용처 앱의 생성된 자바 클래스용 네임스페이스로 이 이름을 적용함 ex. 패키지가 “com.cos.ssar” 이면 클래스 A 는 com.cos.ssar.A 에 생성되는 것 매니페스트 파일에 선언되는 상태 클래스 이름을 확인하는데 이 이름을 사용 ex. 패키지 이름이 위와 같다면 로 선언된 액티비티가 com.cos.ssar.MainAct..
- [ Android/Android ][Android] 앱 로고 (앱 아이콘) 생성하기2022-04-18 01:32:33해당 글을 참고하여 작성하였습니다 안드로이드 Adaptive icon 적용하기 “이 포스트는 2018년 1월 원티드 제품블로그 글을 재구성한 내용입니다.” medium.com drawable > new > Image Asset mipmap-anydpi-v26/ic_launcher_img.xml anydpi-v26 폴더에는 foreground, background 가 정의된 vector 리소스가 추가된다. anydpi-v26 : 26버전부터 지원하고, 어느 dpi에 상관없이 동작이 가능함을 의미 foreground, background 두 개의 VectorDrawable 리소스 생성 생성된 리소스 중 서비스 정책에 맞는 리소스를 그대로 사용하면 된다. background 리소스의 경우 Asset Type ..
728x90
반응형