Programming Study/안드로이드 썸네일형 리스트형 서피스뷰(SuraceView) 서피스뷰는 동영상이나 게임처럼 화면 갱신이 빠르게 일어나야 하는 경우에 사용할 수 있는 뷰이다. 이를 위해 서피스뷰는 다른 뷰와는 다르게 더블 버퍼링을 제공한다. 더블 버퍼링은 두개의 버퍼를 사용하여 화면을 빠른 속도로 갱신 할 수 있는 기법을 말하며, 이를 위해 내부적으로는 새로 화면에 표시해야 할 영역을 메모리 영역에 미리 그린 후에 필요한 시점에 이를 화면에 뿌려준다. 싱글 버퍼링에서는 화면에 새로운 이미지를 그릴 때, 기존 이미지를 지우고 위에 다시 그리는 작업이 매번 일어나기 때문에 복잡하거나 많은 내용을 그릴 때는 화면 갱신이 느려서 깜박임 현상이 발생한다. 이에 반해 더블 버퍼링은 백그라운드에서 미리 이미지를 모두 그리고 화면에 출력하기 때문에 깜박임 현상을 개선 할 수 있다. 더블 버퍼링을.. 더보기 스레드(Thread) 스레드(Thread)는 프로세스 내에서 동작하는 작은 실행 단위이며, 경량 프로세스라고 부르기도 한다. 스레드를 이용하면 동시에 여러 작업을 수행할 수 있다.(멀티스레드; multi-thread) 한 프로세스 내에서 여러개의 스레드를 실행 할 수 있기 때문에 스레드를 잘못 사용할 경우에는 해당 애플리케이션이 오동작할 수 있으며, 오동작할 경우는 원인을 찾는 것이 쉽지 않을 수 있다. 스레드는 분명 애플리케이션을 작성할 때 매우 유용한 기술이지만, 내부적인 복잡도로 인해 제대로 사용하는 것이 어려운 것이 사실이다. 그래서 안드로이드에서는 이러한 스레드를 좀 더 쉽게 다룰 수 있도록 여러 기능들을 제공한다. ※ 스레드의 정의 프로세스보다 작은 단위이기 때문에 프로세스보다 가볍다. 스레드는 서로 자원을 공유하.. 더보기 안드로이드 로그 프로그래밍을 할 때에 중요한 것 중에 하나가 바로 로그를 남기는 것이다. 로그를 남김으로써 에러가 발생했을 때 에러를 쉽고 빠르게 찾아내어 수정할 수 있다는 장점을 가질 수 있는데 안드로이드 프로그래밍시에 유용하게 적용시킬 수 있다. 안드로이드에서 로그를 남기기 위해서는 android.util.Log 클래스를 사용한다. 이 클래스를 사용하여 로그 레벨에 맞게 적당한 곳에 사용하면 된다. 물론 로그를 적재적소에 배치시키는 것은 개발자의 능력이랄까? 여튼 안드로이드 로그에 대해 알아보자. 로그가 보이지 않을 경우 조치 방법 더보기 레이아웃 레이아웃(Layout)은 다른 View를 포함해서 화면을 구성할 수 있는 클래스를 지칭한다. 다음은 API에서 ViewGroup을 상속한 클래스를 보여준다. 이 중에서 Layout으로 끝나는 뷰만이 레이아웃이라고 불린다. java.lang.Object ┗ android.view.View ┗ android.view.ViewGroup ▶ Known Direct Subclasses AbsoluteLayout, AdapterView, FragmentBreadCrumbs, FrameLayout, LinearLayout, RelativeLayout, SlidingDrawer ▶ Known Indirect Subclasses AbsListView, AbsSpinner, AdapterViewAnimator, Adapt.. 더보기 안드로이드에서 지원하는 이미지 형식 수많은 이미지 형식의 파일들이 존재한다. bmp, jpg, png gif 등등...... 안드로이드에서는 모든 이미지 파일을 사용할 수 있는 것일까? 답부터 말하자면 '아니다.' 안드로이드에서 사용할 수 있는 이미지 형식에 대해서 알아보자. 이런 저런 책들을 보면 jpg, png의 이미지 파일 형식을 권장한다고 이야기들 한다. jpg 보다는 아무래도 png 형식이 제일 무난하지 않나 싶다. 이미지 파일을 프로젝트에 추가할때 유의사항이 있는데 이미지 파일의 이름을 숫자, 언더바(_), 영문 소문자만을 사용하되, 이미지 이름은 반드시 영문 소문자로 시작해야 한다는 것이다. 더보기 안드로이드 치수 안드로이드 인터페이스에 관한 프로그래밍을 하다보면 종종 '120dp', '100px' 등등 이런 저런 치수에 관한 내용을 접하게 된다. 이번엔 그런 치수에 대해서 정확히 짚어보고 넘어가도록 하자. 더보기 인터페이스 구성 요소 안드로이드 화면을 구성 할 때 사용할 수 있는 요소는 매우 많다. 이 요소들은 View 클래스를 상속하고 있으며, 이러한 클래스들을 위젯(Widget)이라고도 부른다. ViewGroup 클래스를 상속하고 있는 요소들은 다른 인터페이스 요소들을 포함 할 수 있다. Layout이라고 명명된 클래스를 배치 관리자(Layout manager)라고 한다. 더보기 액티비티 생명주기(LifeCycle) 액티비티의 생명주기에 따라 적절한 메소드가 호출되므로 이를 숙지해서 액티비티를 작성해야 한다. 더보기 안드로이드 애플리케이션 구조 안드로이드 애플리케이션은 MVC 모델로 구성 MVC 모델이란? MVC 모델이란 모델(Model), 뷰(View), 컨트롤러(Controller)의 구조를 의미한다. 기술 개발에 있어서 전체 프로젝트의 구조를 기능별로 분화시킨 것임. 모델은 우리가 다루는 데이터, 즉 정보 그 자체를 의미한다. 모델이 다루는 것은 DB의 내용이 될 수도 있고, archive file이 될 수도 있다. 분명한 것은 모델이 다루는 것은 처리해야 할 데이터이며, 이들을 컨트롤러에서 처리할 수 있도록 넘겨주는 역할을 한다. 컨트롤러는 데이터를 가지고 처리하는 부분을 의미한다. 컴퓨터 공학의 핵심인 input / process / output 구조에서 process에 해당하는 부분이 된다. 사용자의 요청이 있으면 모델에서부터 데이터.. 더보기 안드로이드 주요 용어 및 4대 컴포넌트 1. 안드로이드 주요 용어 2. 안드로이드 4대 컴포넌트 - 액티비티 - 서비스 - 브로드캐스트 리시버 - 콘텐트 프로바이더 애플리케이션을 구성하는 안드로이드 4대 컴포넌트 더보기 이전 1 다음