All Posts

안드로이드 - Assets에서 파일을 읽는 방법

Assets은 이미지, String이 아닌 파일 등을 apk에 저장하고 앱에서 읽을 때 사용할 수 있습니다. Assets을 사용하려면 Assets 폴더를 만들고 파일을 저장해야 합니다. 그리고 AssetManager를 통해 파일을 읽어와야 합니다. 이 글에서 Assets 폴더를 만들고 AssetManager로 파일을 읽는 방법에 대해서 알아봅니다.

28 Jul 2019

안드로이드 Drawable을 Bitmap으로, Bitmap을 Drawable로 변경하는 방법

Drawable을 Bitmap으로 변경하는 방법 및 Bitmap을 Drawable로 변환하는 방법을 소개합니다. 또한 AdaptiveIconDrawable을 Bitmap으로 변환하는 방법을 알아봅니다. 안드로이드의 리소스들은 기본적으로 Drawable로 가져옵니다. 하지만 간혹 코딩을 하다보면 Bitmap을 인자로 받는 애들이 있고, 이 때문에 변환이 필요합니다.

28 Jul 2019

안드로이드의 다양한 Notification 종류와 구현 방법

Android의 다양한 Notification 종류와 구현 방법에 대해서 정리하였습니다. 먼저 Notification Channel을 등록해야 하고, Notification은 BigText, BigPicture, Inbox, Messaging, Media Style 등으로 구현할 수 있습니다. 또한 Head Up으로 화면에 띄우거나, Reply 버튼을 추가할 수도 있습니다.

27 Jul 2019

안드로이드 Q - 저장소(Storage)의 크기 및 여유 공간 가져오기

fstatvfs 또는 statfs 등을 사용하면 파일 또는 폴더의 크기를 알 수 있습니다. 하지만 안드로이드 Q부터 새로운 외부 저장소 정책 Scoped Storage이 적용되기 때문에 Storage Access Framework를 통해서 파일에 대한 접근권한을 얻어야 합니다.

21 Jul 2019

안드로이드 - JSON을 파싱하는 방법

Android에서 JSONObject로 JSON(JavaScript Object Notation)을 파싱하는 방법에 대해서 정리하였습니다. JSON은 Object, Array, Key-Value 타입으로 이루어져 있으며 Value는 String, Int, Long, Boolean 등의 타입을 지원합니다.

21 Jul 2019

안드로이드 스튜디오에서 Adaptive, 일반 아이콘 만들기

안드로이드 스튜디오에서 아이콘을 쉽게 만들 수 있는 Image Asset Studio를 제공합니다. 이것을 이용하면 Adaptive 아이콘 및 일반 아이콘을 쉽게 만들 수 있습니다. 또한 플레이스토어에 앱을 등록할 때 필요한 512x512 사이즈의 이미지도 생성됩니다.

20 Jul 2019

안드로이드 - invalid channel for service notificaiton 에러 해결 방법

Android에서 startForeground()로 bacground 서비스를 foreground로 변경할 때 발생하는 "invalid channel for service notification" 에러 해결 방법입니다. 안드로이드 O부터 노티피케이션을 등록할 때 ChannelId를 먼저 등록해야 합니다.

20 Jul 2019

안드로이드 Q - Background Activity 실행 제한

구글은 Q에서 사용자와 상호작용하지 않는 앱이 백그라운드에서 액티비티를 실행하지 못하도록 제한하였습니다. 백그라운드에서 액티비티를 실행해야 하면 노티피케이션으로 사용자에게 알림을 주어 실행하도록 할 수 있습니다. 자신의 앱이 백그라운드에서 액티비티를 실행시킨다면 새로운 정책에 맞게 수정이 되어야 합니다.

19 Jul 2019