Android 8

Android Manifest에 <queries> 추가하여 패키지 공개 상태 요구사항 선언하기

안드로이드 앱을 사용할 때 다른 안드로이드 앱과 상호작용해야 하는 상황이 있을 수 있다. 하지만 안드로이드 11(API 수준 30)부터는 안드로이드 앱에서 단말에 설치된 다른 앱 목록을 가져올 수 없다. 안드로이드 11 이상의 앱에서 다른 앱과 상호작용해야 한다면, Manifest 파일에 요소를 추가하여 다른 앱을 지정할 수 있다. https://developer.android.com/training/package-visibility/declaring?hl=ko 패키지 공개 상태 요구사항 선언 | Android 개발자 | Android Developers 패키지 공개 상태 요구사항 선언 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 앱을 만들 때는 앱이 상호작용해야 하는 ..

Android 2023.08.13

Android 난독화(Proguard) 및 디컴파일, 코드 분석

Android 앱은 apk(Android Application Package)로 구성되어있다. Play Store에 AAB(Android App Bundle)로 앱을 등록해도 실제 사용자가 다운로드 받는 앱은 apk 파일이다. apk 파일은 디컴파일을 통해 소스 형태로 되돌릴 수 있으며, 이는 공격자가 소스를 통해 악의적인 행위를 하는 것을 가능케 하기 때문에 앱 배포 시 난독화가 필수이다. 난독화를 위한 다양한 도구들이 있는데, 그 중 Android에서 제공하는 오픈소스 도구인 Proguard로 난독화를 수행한다. Proguard를 통한 난독화 적용 방법 Android Studio에서 build.gradle(Module :app)을 열어 buildTypes를 찾는다. buildTypes { releas..

Android 2023.08.13

Android FCM 알림 샘플앱 개발가이드

2023.08.03 작성완료 안드로이드에서 알림(notification)을 받는 과정 구현 기록. FCM 소개 이미지 출처 및 Firebase 공식 문서 - FCM 아키텍쳐 개요 : https://firebase.google.com/docs/cloud-messaging/fcm-architecture?hl=ko FCM(Firebase Cloud Messaging)은 무료로 메세지를 안정적으로 보낼 수 있는 교차 플랫폼 메시징 솔루션이다. (구글의 메세지 PUSH 메시지 기능으로 GCM(Google Cloud Messaging), FCM(Firebase Cloud Messaging)이 있다. Android와 IOS Mobile만 지원하던 GCM과 달리 FCM은 Mobile Web까지 확장되어 지원한다. 또한..

Android 2023.08.13

[Android] 안드로이드 log 찍기, logcat 확인

https://developer.android.com/studio/debug/am-logcat?hl=ko Logcat을 이용한 로그 작성 및 보기 | Android 개발자 | Android Developers Android 스튜디오에서 Logcat 창에 시스템 메시지를 표시하는 방법을 알아보세요. developer.android.com 안드로이드 공식 문서 참고 로그 보기 & 찍기 $ adb shell logcat $ adb shell logcat | grep {찾을 단어} 안드로이드에서 로그 스택 쌓기 Log.d("log##", "#### --------------------------------- #### log stack"); (new Throwable()).printStackTrace(); 안드로..

Android 2022.09.15

[Android] 안드로이드 저장소, Scoped Storage

(이 외에 안드로이드의 데이터 및 파일 저장소에는 환경설정-preference-과 데이터베이스도 포함됩니다.) https://developer.android.com/training/data-storage 데이터 및 파일 저장소 개요 | Android 개발자 | Android Developers 데이터 및 파일 저장소 개요 Android는 다른 플랫폼의 디스크 기반 파일 시스템과 유사한 파일 시스템을 사용합니다. 시스템에서 제공되는 앱 데이터 저장 옵션은 다음과 같습니다. 앱별 저장소: developer.android.com 안드로이드 10 (가칭 안드로이드 Q)부터 적용된 Scoped Storage 구조입니다. 내부 저장소 이 디렉터리에는 영구 파일을 저장하는 전용 위치와 캐시 데이터를 저장하는 위치 데..

Android 2022.09.06

[Android] UI Automator란, 사용법

UI Automator란? 주요 기능 UI Automator Viewer로 레이아웃 계층 구조 보기 사용법 - 1. 프로젝트 설정 사용법 - 2. 테스트 코드 작성 : 앱 실행하기 사용법 - 3. 테스트 코드 작성 : 버튼 클릭하기 1. 앱에서 버튼을 찾아 클릭하기 2. 좌표값을 사용해서 클릭하기 사용법 - 4. 테스트 코드 실행 참고한 글, 전체 코드 UI Automator란? https://developer.android.com/training/testing/ui-automator?hl=ko (공식문서) UI Automator | Android 개발자 | Android Developers UI Automator UI Automator는 시스템과 설치된 앱 전반에 걸쳐 앱 간의 기능적 UI..

Android 2022.08.31

[Android] SQLite 사용법 (DB 생성 및 연동, 데이터 추가, 삭제)

안드로이드에서 SQLite를 사용하여 데이터를 저장 및 관리할 수 있다. SQLite는 MySQL나 PostgreSQL와 같은 데이터베이스 관리 시스템이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다. https://developer.android.com/training/data-storage/sqlite?hl=ko SQLite를 사용하여 데이터 저장 | Android 개발자 | Android Developers SQLite를 사용하여 데이터 저장 데이터베이스에 데이터를 저장하는 작업은 연락처 정보와 같이 반복적이거나 구조화된 데이터에 이상적입니다. 이 페이지에서는 개발자가 일반적으로 SQL 데이터 developer.android.com ㄴ SQLite를 사용한 데이터 ..

Android 2022.08.04

[Android] SQLite Database 데이터 정보 확인하기 (DB browser for SQLite)

안드로이드의 SQLite를 활용하여 데이터 CRUD를 공부하던 중, SQLite 데이터를 눈으로 조회할 수 있는 방법은 없을까 하고 찾아봤다. 구글링을 해보니 DB browser for SQLite 라는 프로그램을 사용하면 데이터를 쉽게 확인할 수 있다고 한다. https://sqlitebrowser.org/dl/ Downloads - DB Browser for SQLite (Please consider sponsoring us on Patreon 😄) Windows Our latest release (3.12.2) for Windows: Windows PortableApp Note - If for any reason the standard Windows release does not work (e.g...

Android 2022.08.01