728x90

분류 전체보기 160

[Android] 갤러리에서 이미지 불러오기

기기 내 갤러리 앱에서 이미지를 불러오는 방법을 알아보자. Intent를 사용하여 불러온 이미지를 ImageView에 띄워본다. ※ API LEVEL 33 ↑ 기준으로 포스팅한다.     ✅ Manifest 파일에 권한 추가 갤러리에 접근해야 하기 때문에 권한을 추가해주자. AndroidManifest.xml     ✅ Permission 요청 세팅  갤러리에 접근하기 전에, Manifest에 추가해줬던 권한을 사용자에게 요청해준다.TedPermission 라이브러리를 활용하여 간편하게 권한을 요청해주자. private fun checkPermission() { TedPermission.create() .setPermissionListener(object : PermissionListener { o..

[Android] 다른 앱에 데이터 공유하기 / 외부 앱에 이미지 공유하기

다른 앱에 데이터를 공유하는 방법을 알아본다.공유해볼 데이터는 텍스트와 이미지다.       이미지는 갤러리에 저장되어 있는 이미지를 사용할 것이기에,간단한 사전 세팅이 필요하다.   ✅ Manifest 파일에 Permission & FileProvider 설정  AndroidManifest.xml... ...  API LEVEL 33부터 저장소 관련 권한이 READ_MEDIA_IMAGES로 변경되었다.33 미만의 경우는 포스팅 하지 않는다.      ✅ FileProvider xml 파일 세팅  위 Manifest 파일의 meta-data 내용을 보면,android:resource="@xml/filepath" 라고 작성해 놓았다. [res] → [xml] 경로 안에 filepath.xml 파일을 ..

[Android] 프로젝트에 다국어 지원하기 strings.xml / strings.xml ←→ 스프레드 시트 변환

해외 기업(일본)을 타겟으로 하는 프로젝트를 진행하던 중,타겟 언어팩을 적용한 과정을 간단히 끄적여본다.    strings.xml 파일로 다국어 지원하기  옛 포스팅에서 이미 strings.xml 파일을 다뤄보았다.  [Android] strings.xml / colors.xml / string · color 파일 참조아직도 위와 같이 텍스트를 작성하고 있는 사람?? 노란색 경고창은 가볍게 생각하고 넘어가는 사람도 많다. 하지만 가벼운 경고라도 다 이유가 있으니 표시해 주는 게 아닐까? 경고 내용을 살펴oscarstory.tistory.com  위 포스팅에서는 strings.xml 파일을 사용했을 때의 장점으로 높은 재사용성을 꼽았다.그 외에도 strings.xml 파일은 다국어 지원도 가능하도록 해준..

[Android] QR코드 스캔 · 생성 라이브러리 - ZXing 사용해보기 / 스캔 화면 세로모드 고정

안드로이드 앱에서 QR코드를 생성하고 스캔하는 방법을 소개한다. 물론 직접 구현하지는 않고 ZXing 라이브러리를 사용할 것이다.      ZXing ?  우리가 사용할 라이브러리는 'ZXing Android Embedded' 이다  ↓   GitHub - journeyapps/zxing-android-embedded: Barcode scanner library for Android, based on the ZXing decoderBarcode scanner library for Android, based on the ZXing decoder - journeyapps/zxing-android-embeddedgithub.com  깃허브에서는 다음과 같이 소개하고 있다. "디코딩을 위해서 사용하는 Andr..

[Android] 앱 상태 확인하기 / 백그라운드 · 포그라운드 체크 / 현재 최상위 액티비티 확인 / 현재 최상위 프래그먼트 확인

사내 프로젝트에서 FCM을 활용하여 Push 알림을 보내고,PendingIntent로 알림 클릭에 대한 동작을 구현하던 중 공부했던 내용을 포스팅한다.     문제 상황  Notification의 PendingIntent를 활용할 때, 가장 머리가 아팠던 부분은기기에서 앱의 현재 상태에 따라서 각기 다른 Intent가 동작되어야 한다는 것이었다. 고려해야 할 상태는 대략적으로 다음과 같았다. ✅ 앱이 구동 중이 아닐 때  ✅ 앱이 구동 중일 때 + 현재 사용자에게 보여지는 화면에 따라 다른 동작을 실행- 최상위 액티비티를 파악- 프래그먼트를 다룬다면, 현재 화면에 띄워진 프래그먼트 파악     문제 해결 방법  ✅ 앱이 구동 중인지 아닌지를 구분하는 방법 val process = RunningAppPro..

[Android] FCM (2) - FCM 송신 · 수신 / OAuth 2.0 Access Token / 백그라운드 · 포그라운드 상태에 따른 수신 처리 / Notification · Data / FCM Notification 아이콘 설정

지난 포스팅에 이어서 2번째 FCM 포스팅이다. 지난 포스팅에서는 Firebase Console에 있는 FCM 테스트 메시지 전송 기능으로앱에서 FCM을 수신해보았다. 이번 포스팅에서는 테스트 메시지 전송 기능이 아닌, FCM을 직접 송신해볼 것이다.     API KEY 설정 (OAuth 2.0 AccessToken )  콘솔에서 제공하는 테스트 메시지 전송 기능은 별도의 API KEY 설정 없이 사용할 수 있다.(실제로 메시지 수신도 잘 된다) 하지만 직접적으로 FCM을 송·수신 하려면 API KEY 설정이 필요하다.여기서 추가적으로, 기존의 API KEY는 더 이상 사용되지 않는다. HTTP v1 방식부터는 OAuth 2.0을 사용하여 Access Token을 발급하여 사용해야 한다.   보통은 서..

[Android] FCM (1) - FCM 이란? / FCM 사용법 / 테스트 메시지 수신

안드로이드에서 흔히 Push 알림이라 불리는 FCM에 대해 알아보고 사용해보자.   참고로, 2024년 6월 20일부로 기존 HTTP 방식의 Cloud Messaging API는 더 이상 사용할 수 없다.그렇기에 이 포스팅에서는 변경된 HTTP v1 방식을 다룰 것이다.    FCM 이란?    Firebase Cloud Messaging 의 약자이며, 공식 문서에서는 다음과 같이 정의한다. '메시지를 안정적으로 무료 전송할 수 있는 크로스 플랫폼 메시징 솔루션' 정의에서 알 수 있듯이, 주요 기능은 메시지를 전송하는 역할이다.또한, 크로스 플랫폼을 지원하기에 안드로이드, ios, 웹에서 모두 이용할 수 있다.     FCM 동작 과정  FCM 구현에는 송수신을 위한 2가지 기본 요소가 갖춰져 있어야 한..

[Android] Notification (3) - Group Notification / Notification 그룹화

지난 포스팅과 이어지는 3번째 Notification 포스팅이다. Notification 그룹화에 대해 알아보자.    Group Notification ?  Android 7 (API LEVEL 24) 부터 지원되며동일한 그룹 식별자를 가진 알림을 하나의 그룹으로 묶어서 드롭다운 형식으로 제공한다.   위 사진을 보면 한 번에 이해가 될 것이다.  우리가 지난 포스팅까지 사용해봤던 방법은 다음과 같은 알림이었다.   동일한 Notification ID를 가진 알림은 여러 번 발생하더라도여러 개가 쌓이지 않고 하나의 알림이 계속 업데이트 되는 방식이다.  그리고, 각기 다른 Notification ID를 가진 알림은 다음과 같이 여러 개의 알림이 쌓인다.   하지만 위와 같은 알림은 알림 드로어 뿐만 아..

728x90