일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 한달브런치북만들기
- 슬기로운 온라인 게임
- 지지않는다는말
- 함수형 프로그래밍
- 테트리스
- T자형인재
- 커스텀린트
- 목적중심리더십
- 어떻게 나답게 살 것인가
- 한달어스
- 한달독서
- 프래그먼트
- 목적 중심 리더십
- 안드로이드
- 브런치작가되기
- 재택근무
- 북한살둘레길
- 자취필수템
- 아비투스
- 리얼하다
- 베드트레이
- 끝말잇기
- 좌식테이블
- 캐치마인드
- 1일1커밋
- 면접
- 한단어의힘
- 베드테이블
- 소프시스
- 소프시스 밤부 좌식 엑슬 테이블
- Today
- Total
목록분류 전체보기 (351)
정상에서 IT를 외치다
Zip, CombineLater, WithLatestFrom 예제 살펴보기/** * Zip */ Observable.zip( Observable.just(1, 2, 3), Observable.just(10, 20, 30), Observable.just(100, 200, 300), Observable.just(1000, 2000, 3000), object : Function4 { override fun apply(t1: Int, t2: Int, t3: Int, t4: Int): Int { return t1 + t2 + t3 + t4 } } ).subscribe({ Dlog.d("$it") }){ Dlog.e(it.message) }.also { compositeDisposable.add(it) } /** ..
안녕하세요. 블랙진입니다 이번 포스팅은 레이아웃을 좀 더 효과적으로 그릴 수 있는 태그인 include, viewStub 그리고 merge 에 대해 알아보겠습니다. include 재사용 하고 싶은 컴포넌트를 레이아웃에 넣을 때 include 태그를 사용합니다. 예를 들어서 상단바와 같이 재사용하는 컴포넌트를 적용할 때 유용합니다. 상단바를 include 태그를 사용해서 적용하는 예제를 준비해봤습니다. include_top_bar.xml 위와 같이 actionBarSize 높이에 textView 1개를 가진 레이아웃을 그렸습니다. 이걸 activity_main.xml 에 include 해보겠습니다. activity_main.xml 태그를 사용해 간단히 추가해줄 수 있습니다. MainActivity.clas..
안녕하세요. 블랙진입니다. Bitmap을 내부저장소(Cache)에 저장하고 불러올 수 있는 예제를 준비해보았습니다. 1. 저장소? 안드로이드는 크게 두가지 저장소를 가지고 있습니다. 1-1 내부저장소 해당 어플리케이션만 읽고 쓸 수 있으며 어플리케이션이 삭제되면 같이 지워집니다. 여기에는 임시 파일을 저장하는 캐시와 데이터베이스를 저장하는 파일 그리고 기타 파일을 저장할 수 있는 영역으로 나뉩니다. 1-2 외부저장소 외부저장소는 다른 어플리케이션이 접근할 수 있는 영역입니다. 이는 고유영역과 공용영역으로 나뉘게 되는데 고유영역은 어플리케이션이 삭제되면 함께 지워지지만 공용영역은 어플리케이션이 삭제되어도 데이터는 남아 있습니다. (공용역역은 일반적으로 단말기의 외장 SD 카드를 지칭하지만, 단말기에 따라서..
안녕하세요. 블랙진입니다. 안드로이드 캔버스 기본예제 비트맵에 대한 탐구_이미지 자르기 모서리가 둥근 비트맵 만들기 3가지 포스팅을 하면서 캔버스와 비트맵 사용법에 대해 알아봤습니다. 이번에는 이 모든걸 종합하여 Glide bitmapTransform 파헤처 보겠습니다. 1. Glide? Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface. 간단히 말해 이미지 로딩 라이브러리 입니다..
안녕하세요. 블랙진입니다. 지난 시간 "Thread 넌 무엇이더냐?" 를 포스팅 했습니다. 이 때 Handler가 필요한 상황에 대해 언급을 했습니다. 그럼 지난 포스팅에 이어 Handler 에 대해 알아보겠습니다. 핸들러란? A Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue. - 구글문서 구글문서에는 Message 와 MessageQueue 를 통해 설명하고 있습니다. Handler 를 이해하기 위해서는 Message, MessageQueue 그리고 Looper 에 대해 알고 있어야 합니다. 알아야 될게 너무 많네요 ㅠㅜ.... 그럼 하나하나 개념을 정리해 ..
안녕하세요. 블랙진입니다. 안드로이드 개발을 하게되면 Thread(스레드)를 상황에 맞게 잘 사용해야 멋진 앱을 개발할 수 있습니다. 그럼 이 스레드란게 무엇일까요? 스레드란? A thread is a thread of execution in a program. The Java Virtual Machine allows an application to have multiple threads of execution running concurrently. - 구글문서 프로그램 안에서의 실행을 담당하는 하나의 흐름입니다. Thread 는 한국어로 실을 뜻 합니다. 실처럼 한가닥의 실행 혹은 작업을 담당하는 역활을 하죠. JVM 은 어플리케이션이 동시에 수행할 수 있는 멀티 스레드를 할당할 수 있게 해줍니다. 이..
안녕하세요. 블랙진입니다. RecyclerView 에서 비디오를 재생하라는 미션이 주어져 어떻게 하면 이를 효율적으로 보여줄수 있을까 고민하다 ExoPlayer 를 알게 되었습니다. 이에 ExoPlayer 를 선택한 이유와 간단한 사용법에 대해 포스팅 해보겠습니다. ExoPlayer? 구글에서 만든 오픈 소스 미디어 플레이 라이브러리 입니다. 기존에 오디오와 비디오 재생은 MediaPlayer를 사용했었지만 ExoPlayer가 나온 이후에는 MediaPlayer 보다 더욱 작고 유연하며 안정적이므로 많은 개발자들이 사용하는 오픈 소스 라이브러리가 되었습니다. 물론 우리가 즐겨보는 유튜브와 구글 무비도 ExoPlayer 를 사용해서 만들었습니다. 사용 조건은? 안드로이드 4.1 (젤리빈) 이상에서 사용가능..
안녕하세요. 블랙진입니다. 안드로이드에서는 비디오를 재생시키기 위한 VideoView 를 제공해 줍니다. 혹은 MediaPlayer 와 SurfaceView 를 사용해서 비디오를 보여줄 수 있습니다. 이번 시간에는 MediaPlayer 와 SurfaceView 를 사용하여 비디오를 안드로이드 화면상에 보여주는 법에 대해 포스팅 해보겠습니다. MediaPlayer 는 무엇인가? MediaPlayer class can be used to control playback of audio/video files and streams. - 구글문서MediaPlayer 는 오디오와 비디오 파일 혹은 스트림을 컨트롤 할 수 있는 클래스 입니다. 상태 다이어그램 출처 : 구글문서 위 다이어그램을 보기위해서는 먼저 화살표의..
안녕하세요. 블랙진입니다. 안드로이드 앱을 개발할 때는 제한된 메모리를 어떻게 사용해야 좋은 성능을 낼 수 있는지 항상 고민해야 합니다. 물론 JAVA에는 GC(Garbage Collection)을 통해 알아서 메모리를 관리해 주지만 능사는 아닙니다. 아무리 관리를 해준다 해도 개발자가 신경 쓰지 않으면 메모리릭과 OOM이 발생하기 마련 입니다. 이에 대해 정리하기 전에 GC가 어떻게 동작하는지를 알아야 더욱 이해하기 쉽습니다. 이는 설명이 잘되있는 블로그가 있어 링크로 남기겠습니다. 메모리릭과 ORM 이란? 메모리릭은 메모리 누수라고도 합니다. 어플리케이션이 사용이 끝난 메모리를 반환하지 않은 경우 멤모리 릭이 발생합니다. 이렇게 사용하지 않은 메모리 양이 계속 증가하게 되면 최악의 경우 Out Of ..
안녕하세요. 블랙진입니다.ANR에 대해 구글문서를 기본으로 내용을 정리해 보겠습니다. Application Not Responding (ANR) 어느 동작에서 메인 스레드(UI 스레드)가 오랫동안 점유하고 있으면 발생하는 메시지 입니다. 언제 발생하는가? 구글 문서에서는 다음과 같이 언급하고 있습니다. Generally, the system displays an ANR if an application cannot respond to user input.어플리케이션이 사용자의 (화면 터치와 같은)인풋 신호를 처리하지 못했을 때 ANR 다얼로그를 보여줍니다. an application blocks on some I/O operation (frequently a network access) on the UI ..