728x90

Android (안드로이드) 89

[Android] RTSP - 실시간 스트리밍 프로토콜

안드로이드 카테고리 포스팅이라기엔 뭐하지만,안드로이드 환경에서의 RTSP 통신이 최종 목적이기에 이곳에 포스팅한다. RTSP에 대해 알아보자.     ✅ RTSP 란? Real Time Streaming Protocol 의 약자로, 실시간 스트리밍 프로토콜이라 할 수 있다. 스트리밍 미디어 서버를 제어할 목적으로 설계된 네트워크 제어 프로토콜이다.조금 더 자세히 말하면, 종단점들 간에 미디어 세션을 확립하고 제어하기 위해 사용된다.*종단점 : End To End, 서버와 클라이언트라고 생각해볼 수 있다. 즉, 제어가 주 목적이기에 스트리밍 데이터 전송 자체는 RTSP의 역할이 아니다.스트림 전송은 주로 RTP(실시간 전송 프로토콜)를 사용한다.     ✅ RTSP의 stateful 특성  RTSP와 HT..

[Android] 앱에서 카메라로 사진 찍고 갤러리에 저장하기 / 이미지뷰 로드하기

앱에서 카메라로 찍은 사진을 갤러리에 저장까지 해보자. ContentResolver, MediaStore 를 사용하는 방식이다.     ✅ Manifest 파일에 권한 추가 카메라와 갤러리에 접근해야 하기 때문에 권한을 추가해주자. AndroidManifest.xml     ✅ Permission 요청 세팅 이전 포스팅들과 마찬가지로,TedPermission 라이브러리를 활용하여 간편하게 권한을 요청해준다.private fun checkPermission() { TedPermission.create() .setPermissionListener(object : PermissionListener { override fun onPermissionGranted() { openCamera() } ..

[Android] 화면 스크린샷 찍고 갤러리에 저장하기

앱에서 스크린샷을 찍고, 이미지로 갤러리에 저장하는 방법을 알아보자.  비트맵 압축 방식으로 파일을 생성하고,MediaScan을 사용하여 갤러리에 동기화시켜줄 것이다.    ✅ Manifest 파일에 권한 추가 갤러리에 접근해야 하니, 관련 권한을 추가해주자.  AndroidManifest.xml      ✅ Permission 요청 세팅 이전 포스팅과 중복되는 내용이다.TedPermission 라이브러리 활용해서 간단하게 권한을 요청해주자. private fun checkPermission() { TedPermission.create() .setPermissionListener(object : PermissionListener { override fun onPermissionGranted() { ..

[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..

728x90