본문 바로가기

모바일프로그래밍

Custom Widget에 사용자 속성 정의 및 사용하기 커스텀 위젯에 사용자 속성을 정의하려면 아래의 순서를 따라야 합니다. 1. res/value/attrs.xml 에 사용자 속성을 정의 2. xml에서 사용자 속성을 사용하기 위한 namespace를 지정한 후 커스텀 위젯의 속성에 사용자 속성을 정의 3. 커스텀 위젯 소스코드(.java)에서 사용자 속성의 값을 가져와 사용 attrs.xml에 사용자 속성 정의 아래와 같이 declare-styleable 태그 안에 attr 태그로 사용자 속성을 정의합니다. declare-styleable 태그안의 name 속성은 커스텀 위젯 소스코드(.java)에서 사용자 속성의 값을 가져오기 위해 사용됩니다. attr 태그의 format 속성의 값으로는 boolean, integer, float, dimension, .. 더보기
Searchable 리소스 출처 : 랩하는 프로그래머 더보기
플래그먼트(Fragment) 플래그먼트의 등장 배경 안드로이드 3.0(허니콤)이 공개되면서 태블릿에 적합한 여러 UI들이 공개되었는데, 그 중에서 대표적인 것이 바로 플래그먼트(Fragment) 입니다. 플래그먼트는 태블릿과 같은 큰 화면을 가지는 단말에서 애플리케이션이 화면을 더 효율적으로 활용할 수 있도록 도와 줍니다. 기존에는 애플리케이션 화면을 구성하는 큰 틀이 액티비티(Activity) 하나였고, 이 안을 여러 뷰로 구성하여 정보를 표시하고, 상호 작용을 수행했습니다. 그런데, 뷰만을 사용해서 다양한 내용을 보여주기는 매우 어려웠습니다. 특히나 전체적인 UI 틀은 고정되어 있으면서 특정 부분만 변화하며 다른 내용을 표시하도록 하려면 매우 복잡한 구성이 필요했고, 서로 다른 역할을 하는 코드들이 같은 곳에 있게 되어 가독성도.. 더보기
안드로이드 지원 패키지(Android Support Package) 지원 패키지란? 지원 패키지는 안드로이드 3.0 플랫폼 버전 이후 추가된 API 및 유용한 유틸리티 API 들을 묶어서 만들어진 정적 라이브러리 입니다. 다시 말해, 허니콤에서 유용한 기능들을 기존의 안드로이드 플랫폼에서도 사용 가능하도록 공식적으로 릴리즈한 공개 라이브러리 입니다. (이전에는 호환성 패키지(Compatibility Package) 였는데 지원 패키지(Support Package)로 이름이 변경되었습니다.) 현재 동일한 인터페이스를 갖춘 v4와 v13 두 가지 버전이 제공되는데, v4는 안드로이드 API Level 4 (도넛) 버전을 기반으로 작성된 라이브러리이며, v13은 안드로이드 API Level 13 (허니콤) 버전을 기반으로 작성된 라이브러리 입니다. 따라서, 애플리케이션의 타겟.. 더보기
Activity의 생명 주기 Activity의 생명 주기 Activity의 상태는 크게 활성(Activity), 일시정지(Pause), 정지(Stopped) 로 나눌 수 있습니다. 활성(Activity) 현재 화면에 Activity가 표시되는 상태이며, 사용자와 상호작용 할 수 있는 상태를 말합니다. 일반적으로 Activity가 화면에 표시되고 있을때를 의미합니다. 일시정지(Pause) 화면에는 Activity가 보이지만, 사용자와 상호작용 할 수 없는 상태입니다. 즉, 배경이 투명한 Activity나 화면 전체를 가리지 않는 Activity에 의해 본 Activity의 일부가 가려진 경우를 말합니다. Dialog의 경우는 Activity의 일부를 가리긴 하지만 Dialog도 Activity의 일부이기 때문에 Dialog가 띄워진 .. 더보기
하이브리드(Hybrid) 앱 모바일 네이티브 앱과 웹 앱 모바일 기기(스마트폰 혹은 태블릿)에서 작동하는 앱의 종류는 크게 두가지로 나눌 수 있습니다. 모바일 기기의 내부에서 자체적으로 동작하는 네이티브 앱과 웹을 통해 동작하는 웹 앱입니다. 네이티브 앱이 성능면에서 웹 앱보다 뛰어나지만 모바일 OS마다 다른 언어를 이용해 프로그래밍 해야 한다는 단점이 있습니다. 이에 반해 웹 앱은 모든 모바일 OS에서 지원하는 HTML5, CSS, JavaScript로 개발하므로 어떠한 OS에서도 동작이 가능하다는 장점을 가집니다. 하지만 네이티브 앱보다 성능이 떨어지며 모바일 기기의 특정 하드웨어 기능들을 사용할 수 없다는 단점을 가집니다. 네이티브 앱웹 앱 장 점 구동속도가 빠름 인터렉티브한 사용자 환경을 제공 OS 및 기기별로 특정 어플의 .. 더보기