All Posts

안드로이드 - MediaStore(Media Provider)에 파일 저장하는 방법

Media provider는 단말에 저장된 이미지, 동영상, 오디오 파일의 정보를 제공하는 프로바이더입니다. Scoped Storage가 적용되면서 미디어 데이터를 저장할 때는 MediaStore를 이용하기를 권장하고 있습니다. P와 Q에서 MediaStore에 데이터를 저장하는 방법을 알아보고, 차이점을 알아보겠습니다.

android19 Oct 2019

안드로이드 - MediaStore(Media Provider)에서 미디어 파일 정보 읽기

Media provider는 단말에 저장된 이미지, 동영상, 오디오 파일의 정보를 제공하는 프로바이더입니다. MediaStore는 앱이 Media provider가 제공하는 파일들을 접근할 수 있도록 도와주는 API들의 묶음입니다. MediaStore의 API들이 어떤 의미인지 이해하고, 그 API를 통해 Media provider에 쿼리를 하여 데이터를 얻으면 됩니다.

android19 Oct 2019

Java - HashMap 사용 방법 및 예제

HashMap은 Map의 일종으로 key와 value의 쌍으로 이루어진 데이터를 보관합니다. HashMap은 데이터의 저장순서를 보장하지 않으며 null을 허용합니다. 또한 put, putAll, get, remove, keySet, values 등의 API들을 제공합니다. 예제를 통해 어떻게 해시맵을 사용하는지 알아보겠습니다.

17 Oct 2019

Java - HashMap.forEach() 사용 방법 및 예제

HashMap을 순회할 때 forEach()를 사용할 수 있습니다. forEach()는 인자로 함수형 인터페이스를 받습니다. EntrySet.forEach()와 KeySet.forEach(), Values.forEach() 등도 forEach 메소드를 갖고 있습니다. 이것도 인자로 함수형 인터페이스를 받습니다.

17 Oct 2019

안드로이드 - CTS(Compatibility Test Suite) 테스트하는 방법

Android CTS는 Compatibility Test Suite의 약자입니다. CTS는 안드로이드의 호환성 테스트로, 제조사에서 안드로이드 단말을 만들면 CTS 테스트를 통과해야 판매를 할 수 있습니다. CTS는 안드로이드의 파편화를 어느정도 막아주며, 테스트 코드에서 요구하는 성능을 충족시키도록 합니다.

16 Oct 2019

Java - HashSet 사용 방법 및 예제

Set는 List와 다르게 순서가 보장되지 않는 자료구조입니다. HashSet은 중복된 값을 허용하지 않고, 순서를 보장하지 않고, null 값을 저장할 수 있습니다. 내부적으로 HashMap을 이용하여 데이터를 저장합니다. add(), remove(), removeIf(), removeAll() 등 각각의 메소드를 사용한 예제를 만들어보겠습니다.

16 Oct 2019

Linux - fts_open(), fts_read()로 디렉토리 파일들을 찾는 예제

리눅스/유닉스 계열에서 디렉토리의 모든 파일 리스트를 얻는 기능을 구현하려고 할 때 fts 라이브러리를 이용하면 됩니다. fts_open과 fts_read 등의 라이브러리를 사용하여 특정 폴더의 파일들을 모두 찾아 출력하는 예제를 만들어보았습니다.

15 Oct 2019

Java - Reflection 쉽고 빠르게 이해하기

자바의 리플렉션(Reflection)은 클래스, 인터페이스, 메소드들을 찾을 수 있고, 객체를 생성하거나 변수를 변경할 수 있고 메소드를 호출할 수도 있습니다. Reflection은 Class, Constructor, Method, Field와 같은 정보를 가져올 수 있습니다. 정보를 찾는 방법과 메소드 호출 및 변수를 변경하는 방법에 대해서 알아보겠습니다.

14 Oct 2019