Android 10

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

안드로이드 개발하면서 참고했던 글 모음(2019~2021)

https://salix97.tistory.com/231 검색창 넣기 [Android] 안드로이드 - SearchView 검색창 만들기 안드로이드에서 검색 인터페이스를 만들 수 있는 두 가지 방식이 있다. 참고 : https://developer.android.com/guide/topics/search/search-dialog Search Dialog 와 Search Widget 이다. 둘은 같은 기능을 제공하지만 차이 salix97.tistory.com https://deumdroid.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4-%EB%B2%84%ED%8A%BC-%ED..

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] 화면 터치 좌표값 얻기, 파일 입출력

화면을 눌렀다가 손을 뗐을 때의 좌표값 출력 @Override public boolean dispatchTouchEvent(MotionEvent event) { int action = event.getAction(); curX = event.getX(); //눌린 곳의 X좌표 curY = event.getY(); //눌린 곳의 Y좌표 // 화면을 눌렀다 뗐을 때 좌표값 출력 if(action == event.ACTION_UP) { xyView.setText(curX + ", " + curY); } return super.dispatchTouchEvent(event); } 좌표값 파일에 저장(Write) private void onFileWrite() { String contents = xyView.get..

Android 2022.09.06

[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