<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-643157414319607888</id><updated>2024-10-04T20:41:25.566-07:00</updated><title type='text'>안드로이드를 알려주마</title><subtitle type='html'>안드로이드 개발에 필요한 모든 사항을 소개하는 사이트입니다.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-3302148946866790102</id><published>2010-11-21T01:56:00.000-08:00</published><updated>2010-11-21T01:56:02.334-08:00</updated><title type='text'>코드요소 - User Interface의 기본 개념</title><content type='html'>안드로이드 애플리케이션에서 사용자 인터페이스는 View와 ViewGroup 객체를 사용해서 만든다. 많은 뷰와 뷰 그룹이 있지만 이들은 모두 View 클래스의 서브클래스이다.&lt;br /&gt;
View객체는 사용자 인터페이스에 나타나는 기본 단위이다. View 클래스는 텍스트필드, 버튼 등 &quot;widget&quot;이라고 불리는 클래스들의 베이스 클래스이다. ViewGroup 클래스는 linear, tabular, relative 등 레이아웃 클래스들의 베이스 클래스이다.&lt;br /&gt;
View 객체는 레이아웃 파라메터나 화면의 사각영역 등의 속성을 저장하는 데이터 구조이다. 그리고 측정치, 레이아웃, 그리기, 포커스 변경, 스크롤, 제스쳐 등을 관리하고 처리한다. 또한 뷰는 사용자와의 상호작용 이벤트의 수신 지점이다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;뷰 계층도&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
안드로이드 플랫폼에서 개발자는 다음 다이어그램에서 보이는 것과 같은 ViewGroup과 View 노드의 계층도를 사용하여 액티비티의 UI를 정의한다. 이 뷰 계층도 내에 자원요소에서 설명한 레이아웃, 위젯들이 배치되게 된다.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU0nbXjNP5PZU2boDpIIlVSvYv0v3jCPDTRF8U-MkdGawX_tnqHZF4V3urO-eus1rjzHxatoSH4W8DYasSxU2jYnJoyEFwxh1hPL8mcMdN3shjf7w83ff9ifJcR-lqlQQWrVX7geuSfMc3/s1600/viewgroup.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU0nbXjNP5PZU2boDpIIlVSvYv0v3jCPDTRF8U-MkdGawX_tnqHZF4V3urO-eus1rjzHxatoSH4W8DYasSxU2jYnJoyEFwxh1hPL8mcMdN3shjf7w83ff9ifJcR-lqlQQWrVX7geuSfMc3/s1600/viewgroup.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이 계층도는 간단할 수도 있고 필요한 만큼 복잡하게 정의할 수도 있으며, 안드로이드의 미리 정의된 위젯들을 사용하여 만들 수도 있고, 자신이 제작한 뷰들을 이용하여 만들 수도 있다.&lt;br /&gt;
이 뷰 계층도를 화면에 나타나도록 하려면, 액티비티가 setContentView() 메쏘드를 이용하여 루트 노드 객체에 대한 레퍼런스를 전달해야 한다. 안드로이드 시스템은 이 레퍼런스를 받아서 뷰 트리를 갱신,측정,생성한다. 계층도상의 루트 노드가 차일드 노드 자신을 그리도록 요청한다.--바꾸어 말하면, 각 뷰그룹 노드는 각 차일드 노드들에게 자신을 그리도록 요청하는 책임을 맡고 있다. 차일드는 부모 내에서 크기나 위치를 요청할 수 있지만, 각 차일드가 어디에 얼마나 크게 그려질지는 부모 노드가 최종적으로 결정한다. 안드로이드는 레이아웃의 엘리먼트들을 순차적으로 파싱(계층 트리의 꼭대기에서부터)하여 뷰를 인스턴스화하고 부모 뷰에 추가한다. 이 그리기가 순차적으로 이루어지기 때문에, 위치가 겹치는 엘리먼트가 있을 경우, 마지막에 그려진 뷰가 이전에 그려진 뷰의 위에 그려지게 된다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;UI 이벤트&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
UI에 뷰/위젯을 배치했으면, 사용자와의 상호작용에 의해 액션을 취할 필요가 있다. UI 이벤트를 인식하려면 다음 둘 중 한 가지를 해야 한다:&lt;br /&gt;
• 이벤트 리스터를 정의하고 그것을 뷰에 등록한다. 대부분, 이 방식으로 이벤트를 취한다. View 클래스에는 On&amp;lt;something&amp;gt;Listener라는 이름의 네스티드 인터페이스 콜렉션이 있고, 각 인터페이스에는 On&amp;lt;somethind&amp;gt;()라는 콜백 메쏘드가 들어 있다. 예를 들면, View.OnClickListerer(View의 클릭을 처리), View.OnTouchListener, View.OnKeyListener 등이 있다. 따라서 뷰가 클릭되었을 때 알려주기를 원한다면, OnClickListener를 구현하고 그 리스너의 onClick() 콜백 메쏘드(여기서 클릭에 대한 반응 코드를 입력)를 정의하고, 그것을 View에 setOnClickListener()로 등록해야 한다.&lt;br /&gt;
• 그 View의 기존 콜백 메쏘드를 오버라이드한다. 자신만의 View 클래스를 구현하고 그 안에서 발생하는 특정 이벤트를 취하려면 이 방식으로 구현한다. 처리할 수 있는 이벤트의 예로는 onTouchEvent(),onTrackballEvent(),onKeyDown() 등이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;메뉴&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
메뉴는 어플리케이션의 UI에서 중요한 요소 중 하나이다. 메뉴를 통해 어플리케이션의 기능과 설정을 표시하는 안정적인 인터페이스를 만들 수 있다. 가장 일반적은 어플리케이션 메뉴는 기기에 있는 MENU 키를 누름으로써 나타나는 메뉴이다. 하지만, 사용자가 항목을 꾹 눌렀을 때 나타나는 컨텍스트 메뉴를 설정할 수도 있다.&lt;br /&gt;
메뉴 또한 뷰 계층도를 사용하여 구조화되어 있지만, 이 구조를 개발자가 정의하지는 않는다. 대신에, 개발자는 액티비티의 onCreateOptionsMenu() 나 onCreateContextMenu() 콜백 메쏘드를 통해 정의하고 메뉴에 포함시킬 항목들을 선언한다. 그러면 안드로이드 시스템이 필요한 때에 필요한 뷰 계층도를 자동으로 그리고 각 메뉴 항목을 표시한다.&lt;br /&gt;
메뉴는 자신의 이벤트를 처리하기 때문에 메뉴의 항목에 대해 이벤트 리스터를 등록할 필요가 없다. 메뉴의 항목이 선택되면, 프레임웍이 자동으로 onOptionsItemSelected() 나 onContextItemSelected() 메쏘드를 호출한다.&lt;br /&gt;
그리고 어플리케이션 레이아웃과 똑같이, 메뉴 항목을 XML 파일에 선언할 수도 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;어댑터&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
하드코딩된 정보를 표시하는 것이 아니라, 외부 데이터 소스에서 동적인 정보를 뷰 그룹에 표시하고 싶을 때가 있다. 이런 작업을 하려면 뷰 그룹으로 AdapterView를 사용하고 각 차일드 View는 그 Adapter로부터 데이터를 초기화하고 나타내도록 한다.&lt;br /&gt;
AdapterView 객체는 특정 Adapter 객체에 기반하여 그 차일드 뷰를 결정하는 ViewGroup을 구현한 것이다. Adapter는 데이터소스와 AdapterView(데이터를 화면에 표시) 사이의 통로 역할을 한다. Adapter 클래스를 구현한 것은 유형별로 여러 가지가 있는데, 예를 들면 Cursor로부터 데이터베이스 데이터를 읽어오는 CursorAdapter, 임의의 배열로부터 데이터를 읽어오는 ArrayAdapter 등이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;스타일 및 테마&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
표준 위젯의 모양이 만족스럽지 않을 경우가 있다. 이것을 개선하기 위해, 자신의 스타일과 테마를 만들어 적용할 수 있다.&lt;br /&gt;
• 스타일은 레이아웃 상의 개별적인 엘리먼트에 개별적으로 적용시킬 수 있는 하나 이상의 구성 가능한 속성들이다. 예를 들어, 문자 크기와 색상을 지정하는 스타일을 정의하고, 그것을 특정 뷰 엘리먼트에 적용할 수 있다.&lt;br /&gt;
• 테마는 어플리케이션의 모든 액티비티나 특정 액티비티에 적용시킬 수 있는 하나 이상의 구성 가능한 속성들이다. 예를 들어, 윈도우 프레임과 패널 배경에 대한 색상 및 문자 크기와 색상을 지정한 테마를 정의할 수 있다. 그리고 이 테마를 특정 액티비티나 전체 어플리케이션에 적용되도록 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
스타일과 테마는 자원 중 하나이다. 안드로이드는 개발자가 적용시킬 수 있는 여러 스타일과 테마를 제공하며, 개발자만의 임의 스타일 및 테마 자원을 정의해서 사용할 수도 있다.</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/3302148946866790102/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/11/user-interface.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/3302148946866790102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/3302148946866790102'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/11/user-interface.html' title='코드요소 - User Interface의 기본 개념'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU0nbXjNP5PZU2boDpIIlVSvYv0v3jCPDTRF8U-MkdGawX_tnqHZF4V3urO-eus1rjzHxatoSH4W8DYasSxU2jYnJoyEFwxh1hPL8mcMdN3shjf7w83ff9ifJcR-lqlQQWrVX7geuSfMc3/s72-c/viewgroup.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-5862913778118111172</id><published>2010-11-15T02:15:00.000-08:00</published><updated>2010-11-15T19:44:36.024-08:00</updated><title type='text'>코드요소</title><content type='html'>지난호까지 안드로이드의 자원요소를 알아봤고, 지금부터는 코드요소에 대해 연재하려고 합니다.&lt;br /&gt;
&lt;br /&gt;
자원요소를 뼈대라고 한다면 코드요소는 살과 기능들이라고 할 수 있고, 자원요소를 정적인 부분이라고 하면, 코드요소는 동적인 부분이라고 할 수 있습니다. 그만큼 자원요소는 좀 재미 없고 지루한 느낌이 들고, 코드요소는 재미가 좀 나죠.. 하지만 코드요소를 또 열심히 하다 보면, 나중엔 또다시 자원요소를 들여다봐야 하는 일이 있는 만큼 자원요소는 골격의 개념으로서 중요한 부분을 차지합니다.&lt;br /&gt;
&lt;br /&gt;
간단한 어플인 경우 자원요소 없이 코드요소만으로 안드로이드 프로그램을 작성하는 일이 가능하며 그만큼 안드로이드는 유연한 개발환경을 제공합니다. 하지만 화면이 좀 늘어나면 코드요소만으로 화면을 제어하기가 매우 어려우며 따라서 자원요소와 코드요소를 적절히 배합하여 어플을 만드는 것이 바람직합니다.&lt;br /&gt;
&lt;br /&gt;
코드요소는 Java 코드로 작성하며, 안드로이드 자체가 Java 위의 어플리케이션 프레임워크로 작성되어 있기 때문에 기본적인 Java 개념에 대한 이해를 갖고 시작하는 것이 좋습니다. Java를 모르는 상태로 안드로이드를 배우려 한다면 사상누각이라는 것이 어떤 것인가를 실감할 수 있을 것이라 생각됩니다. ^^&lt;br /&gt;
&lt;br /&gt;
코드요소에 관해 연재하는 순서는&lt;br /&gt;
- User Interface의 기본개념&lt;br /&gt;
- 메뉴 설정&lt;br /&gt;
- 화면 구성&lt;br /&gt;
- 자원에 접근&lt;br /&gt;
- 컨텐츠 제공자&lt;br /&gt;
- 알림 기능&lt;br /&gt;
- 어댑터&lt;br /&gt;
- 서비스&lt;br /&gt;
의 순서로 다룰 예정입니다.</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/5862913778118111172/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/11/blog-post_15.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/5862913778118111172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/5862913778118111172'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/11/blog-post_15.html' title='코드요소'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-6010923116071447786</id><published>2010-11-07T21:35:00.000-08:00</published><updated>2010-11-08T01:12:17.078-08:00</updated><title type='text'>자원요소 - Android Manifest.xml</title><content type='html'>모든 어플리케이션은 루트 디렉토리에 AndroidManifest.xml 파일을 갖고 있어야 한다. 이 파일은 어플리케이션에 대한 기본적인 정보를 안드로이드 시스템에 제공함으로써, 시스템이 어플리케이션 코드를 실행하기 전에 필요한 정보를 갖고 있도록 한다. 이 파일이 수행하는 주요한 일은 다음과 같다:&lt;br /&gt;
&lt;br /&gt;
• 어플리케이션의 자바 패키지 이름을 지정한다. 이 패키지 이름은 어플리케이션의 고유한 식별자로써 작용한다.&lt;br /&gt;
• 어플리케이션의 컴포넌트들에 대한 사항을 지정한다-어플리케이션을 구성하는 액티비티, 서비스, 브로드캐스트 리시버, 컨텐트 프로바이더 등을 지정한다. 그리고 각 컴포넌트를 실행시키고 외부에 알리는(예를 들어, 어떤 인텐트 메시지를 처리할 수 있는지) 클래스의 이름을 지정한다. 이렇게 지정함으로써 안드로이드 시스템이 어떤 컴포넌트를 어떤 조건 하에서 실행시킬지 알 수 있도록 한다.&lt;br /&gt;
• 어떤 프로세스가 어플리케이션들의 작동을 주관하는지 결정한다.&lt;br /&gt;
• 어플리케이션이 다른 API의 보호된 부분에 액세스하고 다른 어플리케이션들과 상호작용하기 위해 가지고 있어야 하는 퍼미션을 선언한다.&lt;br /&gt;
• 위와 반대로 다른 어플리케이션이 이 어플리케이션과 상호작용하기 위해 필요한 퍼미션을 정의한다.&lt;br /&gt;
• 어플리케이션이 실행될 때 프로필 및 기타 정보를 제공하는 도구 클래스를 선언한다. 이 선언은 어플리케이션이 개발 및 테스트될 때만 존재하며, 어플리케이션이 발매되면 제거된다.&lt;br /&gt;
• 어플리케이션에 요구되는 최소 API 레벨을 지정한다.&lt;br /&gt;
• 어플리케이션과 연결되어야 하는 라이브러리를 지정한다.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;* AndroidManifest 파일의 구조 틀&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;lt;manifest&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;uses-permission /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;permission /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;permission-tree /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;permission-group /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;instrumentation /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;uses-sdk /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;uses-configuration /&amp;gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;uses-feature /&amp;gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;supports-screens /&amp;gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;application&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;activity&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;category /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;data /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta-data /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/activity&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;activity-alias&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intent-filter&amp;gt; . . . &amp;lt;/intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta-data /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/activity-alias&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;service&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intent-filter&amp;gt; . . . &amp;lt;/intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta-data/&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/service&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;receiver&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intent-filter&amp;gt; . . . &amp;lt;/intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta-data /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/receiver&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;provider&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;grant-uri-permission /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;path-permission /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta-data /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/provider&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;uses-library /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/application&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;lt;/manifest&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ex) NotePad 예의 AndroidManifest.xml 파일&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;package=&quot;com.example.android.notepad&quot;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;application android:icon=&quot;@drawable/app_notes&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:label=&quot;@string/app_name&quot; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;provider android:name=&quot;NotePadProvider&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:authorities=&quot;com.google.provider.NotePad&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;activity android:name=&quot;NotesList&quot; android:label=&quot;@string/title_notes_list&quot;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action android:name=&quot;android.intent.action.MAIN&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action android:name=&quot;android.intent.action.VIEW&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action android:name=&quot;android.intent.action.EDIT&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action android:name=&quot;android.intent.action.PICK&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;category android:name=&quot;android.intent.category.DEFAULT&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;data android:mimeType=&quot;vnd.android.cursor.dir/vnd.google.note&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action android:name=&quot;android.intent.action.GET_CONTENT&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;category android:name=&quot;android.intent.category.DEFAULT&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;data android:mimeType=&quot;vnd.android.cursor.item/vnd.google.note&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/activity&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;activity android:name=&quot;NoteEditor&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:theme=&quot;@android:style/Theme.Light&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:label=&quot;@string/title_note&quot; &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intent-filter android:label=&quot;@string/resolve_edit&quot;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action android:name=&quot;android.intent.action.VIEW&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action android:name=&quot;android.intent.action.EDIT&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action android:name=&quot;com.android.notepad.action.EDIT_NOTE&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;category android:name=&quot;android.intent.category.DEFAULT&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;data android:mimeType=&quot;vnd.android.cursor.item/vnd.google.note&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action android:name=&quot;android.intent.action.INSERT&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;category android:name=&quot;android.intent.category.DEFAULT&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;data android:mimeType=&quot;vnd.android.cursor.dir/vnd.google.note&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/activity&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;activity android:name=&quot;TitleEditor&quot; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:label=&quot;@string/title_edit_title&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:theme=&quot;@android:style/Theme.Dialog&quot;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intent-filter android:label=&quot;@string/resolve_title&quot;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action android:name=&quot;com.android.notepad.action.EDIT_TITLE&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;category android:name=&quot;android.intent.category.DEFAULT&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;category android:name=&quot;android.intent.category.ALTERNATIVE&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;category android:name=&quot;android.intent.category.SELECTED_ALTERNATIVE&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;data android:mimeType=&quot;vnd.android.cursor.item/vnd.google.note&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/intent-filter&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/activity&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/application&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;lt;/manifest&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Intent의 개념&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
안드로이드 애플이케이션의 세 개 핵심 컴포넌트-액티비티,서비스,브로드캐스트 리시버-는 인텐트라는 메시지를 통해 실행된다. 인텐트 메시징은 같거나 다른 애플리케이션에 있는 컴포넌트들간의 런타임 바인딩을 제공하는 장치이다.&lt;br /&gt;
Intent 클래스의 객체인 intent 자체는 수행할 오퍼레이션의 추상적인 설명을 담고 있는 수동적인 데이터 구조이다.&lt;br /&gt;
&lt;br /&gt;
HTTP의 동사(GET,POST 등)와 자원(URL)의 구조처럼, 안드로이드의 인텐트도 Action + Context 의 형태를 갖는다. 안드로이드가 훨씬 더 많은 action과 context component를 갖고 있지만 그 개념을 똑같다.&lt;br /&gt;
웹 브라우저가 동사+URL 구조를 어떻게 처리해야 하는지 아는 것처럼, 안드로이드도 어떻게 주어진 인텐트를 처리할 액티비티를 찾거나 &amp;nbsp;다른 프로그램의 로직을 찾는지 알고 있다.&lt;br /&gt;
&lt;br /&gt;
각 컴포넌트에 대해 인텐트를 전달하는 메카니즘은 다음과 같다:&lt;br /&gt;
•액티비티를 새로 시작하거나 기존 액티비티가 새로운 일을 하도록 할 경우, Context.startActivity() 나 Activity.startActivityForResult() 에 인텐트 객체를 전달한다.&lt;br /&gt;
•서비스를 시작하거나 실행중인 서비스에 새로운 명령을 전달할 때, Context.startService()에 인텐트 객체를 전달한다. 유사한 형태로, 호출하는 컴포넌트와 대상 서비스간에 연결을 만들 경우, Context.bindService()에 인텐트 객체를 전달한다. 만약 서비스가 실행 중이 아닐 경우 그 서비스를 시작시킬 수도 있다.&lt;br /&gt;
•브로드캐스트 메쏘드(Context.sendBroadcast(), Context.sendOrderedBroadcast(), Context.sendStickyBroadcast() 등과 같은)에 전달된 인텐트 객체는 모든 관심 있는 브로드캐스트 리시버에게 전달된다. 대부분의 브로드캐스트는 시스템 코드에서 시작된다.&lt;br /&gt;
&lt;br /&gt;
대상컴포넌트가 지정되어 있는 Explicit intent와 지정된 대상 컴포넌트가 없는 Implicit intent로 구분할 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Intent Filter&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
대상 컴포넌트를 지정하지 않은 인텐트의 경우, 대상 컴포넌트가 될 가능성이 있는 컴포넌트(잠재 컴포넌트)에 대해 실행 대상이 되는지 테스트해야 한다.&lt;br /&gt;
&lt;br /&gt;
이 테스트의 기준으로 정해 놓은 것이 intent filter이다. 필터에는 그 컴포넌트가 수행하는 일이나 처리할 수 있는 인텐트 등이 명시된다. 대상 컴포넌트가 되는지를 테스트할 때는 인텐트 필터의 다음 세 가지 항목을 점검한다:&lt;br /&gt;
action, data (both URI and data type), category&lt;br /&gt;
&lt;br /&gt;
extras 나 flags는 아무 역할도 하지 않는다.&lt;br /&gt;
&lt;br /&gt;
인텐트 필터는 IntentFilter 클래스의 인스턴스이다. 하지만, 그 컴포넌트를 실행하기 전에 안드로이드 시스템이 그 능력에 대해 알고 있어야 하기 때문에, 인텐트 필터는 보통 Java 코드에 설정되지 않고 애플리케이션의 매니페이스 파일(AndroidManifest.xml)에 &amp;lt;intent-filter&amp;gt; 요소로 정의된다. (한 가지 예외는 브로드캐스트 리시버인데 이것은 Context.registerReceiver()를 호출함으로써 동적으로 등록되며, 그러면 바로 IntentFilter 객체로 생성된다.)&lt;br /&gt;
필터는 인텐트 객체의 action, data, category 필드에 해당하는 필드를 갖고 있다. implicit intent는 이 세 영역에 대해 테스트된다. 필터를 정의한 컴포넌트가 인텐트를 갖고 있는 컴포넌트에게 전달되려면 이 세 가지 테스트를 통과해야 한다.</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/6010923116071447786/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/11/android-manifestxml.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/6010923116071447786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/6010923116071447786'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/11/android-manifestxml.html' title='자원요소 - Android Manifest.xml'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-1913151358181158366</id><published>2010-11-01T20:06:00.000-07:00</published><updated>2010-11-01T20:06:57.920-07:00</updated><title type='text'>자원요소-위젯</title><content type='html'>화면에 배치하는 사용자 인터페이스 요소로서 Java의 프레임, 컨트롤 등과 유사하다.&lt;br /&gt;
레이아웃 내에 위젯들이 배치되는 형태로 대부분의 안드로이드 프로그램이 구성되며, 이들 요소가 단말기 화면에 나타난다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;TextView&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
화면에 텍스트를 그린다.&lt;br /&gt;
&lt;br /&gt;
속성은 다음과 같다.&lt;br /&gt;
id&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;텍스트뷰의 이름으로서, 코드요소에서 텍스트뷰를 지칭할 때 이 태그에 지정된 이름을 사용한다.&lt;br /&gt;
text&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;텍스트뷰에 표시될 글자&lt;br /&gt;
layout_width&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
layout_height&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
lines&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;높이를 줄 수로 지정&lt;br /&gt;
ems&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;글꼴의 크기와 무관하게 텍스트뷰에 표시될 글자의 수를 지정&lt;br /&gt;
autoLink&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;링크형태로 표시. web,email,phone,map 사용 가능.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;EditText&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
TextView에서 파생된 클래스이다.&lt;br /&gt;
사용자로부터 텍스트를 입력받을 수 있다.&lt;br /&gt;
TextView의 모든 속성을 상속한다.&lt;br /&gt;
&lt;br /&gt;
유용한 속성들은 다음과 같다.&lt;br /&gt;
• hint 사용자가 입력을 시작하기 전에 표시되고 입력을 시작하면 사라진다.&lt;br /&gt;
• completionHint:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;자동완성기능&lt;br /&gt;
• completionThreshold:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;자동완성기능. 몇 개 글자가 표시되었을 때 목록을 표시할 것인지 지정.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Button&lt;/span&gt;&lt;br /&gt;
화면에 버튼 형태로 표시되는 컨트롤로, 클릭 후 액션을 수행하도록 하는데 기본적으로 사용된다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;CheckBox&lt;/span&gt;&lt;br /&gt;
체크 컨트롤을 보여줌. Java의 체크박스와 유사.&lt;br /&gt;
&lt;br /&gt;
ex) 기본 XML 파일 및 Java 파일&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;CheckBox xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
android:id=&quot;@+id/check&quot;&lt;br /&gt;
android:layout_width=&quot;wrap_content&quot;&lt;br /&gt;
android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
android:text=&quot;This checkbox is: unchecked&quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public class CheckBoxDemo extends Activity&lt;br /&gt;
implements CompoundButton.OnCheckedChangeListener {&lt;br /&gt;
CheckBox cb;&lt;br /&gt;
@Override&lt;br /&gt;
public void onCreate(Bundle icicle) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;super.onCreate(icicle);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;setContentView(R.layout.main);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;cb=(CheckBox)findViewById(R.id.check);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;cb.setOnCheckedChangeListener(this);&lt;br /&gt;
}&lt;br /&gt;
public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;boolean isChecked) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if (isChecked) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;cb.setText(&quot;This checkbox is: checked&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;else {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;cb.setText(&quot;This checkbox is: unchecked&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;RadioButton&lt;/span&gt;&lt;br /&gt;
체크 컨트롤을 보여줌. Java의 체크박스와 유사.&lt;br /&gt;
&lt;br /&gt;
ex) 라디오 그룹 정의 XML 코드&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;RadioGroup&lt;br /&gt;
xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
android:orientation=&quot;vertical&quot;&lt;br /&gt;
android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
android:layout_height=&quot;fill_parent&quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;RadioButton android:id=&quot;@+id/radio1&quot;&lt;br /&gt;
android:layout_width=&quot;wrap_content&quot;&lt;br /&gt;
android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
android:text=&quot;Rock&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;RadioButton android:id=&quot;@+id/radio2&quot;&lt;br /&gt;
android:layout_width=&quot;wrap_content&quot;&lt;br /&gt;
android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
android:text=&quot;Scissors&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;RadioButton android:id=&quot;@+id/radio3&quot;&lt;br /&gt;
android:layout_width=&quot;wrap_content&quot;&lt;br /&gt;
android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
android:text=&quot;Paper&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/RadioGroup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Spinner&lt;/span&gt;&lt;br /&gt;
지정된 여러 항목 중에서 하나를 선택하도록 한다.&lt;br /&gt;
&lt;br /&gt;
ex)&amp;nbsp;ArrayAdapter를 이용하여 Spinner에 데이터 표시하기&lt;br /&gt;
&lt;br /&gt;
//spinner.xml&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout&lt;br /&gt;
&amp;nbsp;&amp;nbsp;xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;android:layout_width=&quot;wrap_content&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;android:layout_height=&quot;wrap_content&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;TextView&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:id=&quot;@+id/selection&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;Spinner android:id=&quot;@+id/spinner&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:drawSelectorOnTop=&quot;true&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//SpinnerDemo.java&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.widget.ArrayAdapter;&lt;br /&gt;
import android.widget.Spinner;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.AdapterView;&lt;br /&gt;
&lt;br /&gt;
public class SpinnerDemo extends Activity implements AdapterView.OnItemSelectedListener {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;TextView selection;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;String[] items={&quot;lorem&quot;, &quot;ipsum&quot;, &quot;dolor&quot;, &quot;sit&quot;, &quot;amet&quot;,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;consectetuer&quot;, &quot;adipiscing&quot;, &quot;elit&quot;, &quot;morbi&quot;, &quot;vel&quot;,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;ligula&quot;, &quot;vitae&quot;, &quot;arcu&quot;, &quot;aliquet&quot;, &quot;mollis&quot;,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;etiam&quot;, &quot;vel&quot;, &quot;erat&quot;, &quot;placerat&quot;, &quot;ante&quot;,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;porttitor&quot;, &quot;sodales&quot;, &quot;pellentesque&quot;, &quot;augue&quot;, &quot;purus&quot;};&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@Override&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void onCreate(Bundle icicle) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;super.onCreate(icicle);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;setContentView(R.layout.spinner);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;selection=(TextView)findViewById(R.id.selection);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;Spinner spin = (Spinner) findViewById(R.id.spinner);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;spin.setOnItemSelectedListener(this);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;ArrayAdapter&amp;lt;String&amp;gt; aa=new ArrayAdapter&amp;lt;String&amp;gt;(this, android.R.layout.simple_list_item_1,items);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;spin.setAdapter(aa);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void onItemSelected(AdapterView parent, View v,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;int position, long id) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;selection.setText(items[position]);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void onNothingSelected(AdapterView parent) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;selection.setText(&quot;&quot;);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;ToggleButton&lt;/span&gt;&lt;br /&gt;
On/Off 스위치&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;DatePicker/TimePicker&lt;/span&gt;&lt;br /&gt;
날자/시간 선택&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;ProgressBar&lt;/span&gt;&lt;br /&gt;
진행상태 표시&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;SeekBar&lt;/span&gt;&lt;br /&gt;
사용자지정 진행상태 표시&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;RatingBar&lt;/span&gt;&lt;br /&gt;
별을 이용한 등급표시&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Chronometer&lt;/span&gt;&lt;br /&gt;
시간흐름 표시&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;AnalogClock&lt;/span&gt;&lt;br /&gt;
아날로그 시계 표시&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;DigitalClock&lt;/span&gt;&lt;br /&gt;
디지털 시계 표시&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;ImageView/ImageButton&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
TextView, Button의 이미지용 컨트롤이라고 보면 된다.&lt;br /&gt;
xml에서 참조할 때는 android:src 속성을 사용한다.&lt;br /&gt;
&lt;br /&gt;
ex) ImageView를 적용한 XML 파일&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ImageView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
android:id=&quot;@+id/icon&quot;&lt;br /&gt;
android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
android:layout_height=&quot;fill_parent&quot;&lt;br /&gt;
android:adjustViewBounds=&quot;true&quot;&lt;br /&gt;
android:src=&quot;@drawable/molecule&quot;&lt;br /&gt;
/&amp;gt;</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/1913151358181158366/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/11/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/1913151358181158366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/1913151358181158366'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/11/blog-post.html' title='자원요소-위젯'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-517824472486577886</id><published>2010-10-28T18:56:00.000-07:00</published><updated>2010-11-10T18:42:10.949-08:00</updated><title type='text'>자원요소-레이아웃</title><content type='html'>뷰에 배치된 위젯이 화면에 나타나는 방식을 지정한다.&lt;br /&gt;
&lt;br /&gt;
엄밀히 말하면 레이이웃은 사용자 UI를 Activity 클래스에 나타내는 아키텍처이다. 배치 구조를 정의하고 사용자에게 나타내는 모든 엘리먼트를 담고 있다. 레이아웃은 두 가지 방법으로 정의할 수 있다:&lt;br /&gt;
• XML 파일에서 UI 요소를 정의한다. 위젯이나 레이아웃 등과 같은 View 클래스 또는 그 서브클래스를 이용하여 정의하는 방법이다.&lt;br /&gt;
• 실행시에 레이아웃 엘리먼트를 인스턴스화한다. 애플리케이션에서는 프로그램으로 View 나 ViewGroup 객체를 생성(및 그 속성을 정의)할 수 있다.&lt;br /&gt;
&lt;br /&gt;
안드로이드 프레임웍은 UI를 구성하는데 이 중 한 가지나 두 가지를 합한 방식 모두를 지원한다. 예를 들어, 애플리케이션의 스크린 엘리먼트 등의 디폴트 레이아웃은 XML에 정의하고, 그 객체의 상태를 변경시키거나 객체를 추가하는 일은 코드 부분에 넣는 것어서 실행시에 나타나게 하는 것이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;주요 뷰 그룹(뷰그룹과 레이아웃 클래스는 유사 개념)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
주요 뷰 그룹 요약-다음에 열거하는 뷰 그룹 객체는 모두 자식UI엘리먼트를 갖고 있다. 어떤 것은 화면에 나타나는 UI에 대한 형태를 지정하고, 어떤 것은 자식 뷰들의 배치를 관리하는 구조만을 결정한다.&lt;br /&gt;
&lt;br /&gt;
FrameLayout: 한 개 객체만을 보여주는 뷰 프레임을 설정.&lt;br /&gt;
Gallery: 한정된 리스트 내의 이미지를 좌우로 스크롤해서 보여주는 프레임.&lt;br /&gt;
GridView: m개 칼럼, n개 로우를 스크롤 가능한 그리드로 보여줌.&lt;br /&gt;
LinearLayout: 자식 뷰들을 하나의 수평 또는 수직 화면으로 구성하는 레이아웃. 이 레이아웃은 화면 크기보다 윈도우의 크기가 크면 스크롤바를 생성한다.&lt;br /&gt;
ListView: 상하 스크롤 가능한 목록을 만들어준다.&lt;br /&gt;
RelativeLayout: 자식 객체의 상호 관계(B객체의 좌측에 A객체 배치) &amp;nbsp;또는 자식과 부보의 관계(부모의 위에 배치)형태로 뷰의 위치를 지정하도록 한다. &lt;br /&gt;
ScrollView: 목록이 아닌 객체에 대해서 상하 스크롤바가 생기도록 한다.&lt;br /&gt;
Spinner: 지정된 목록의 한 개 항목을 하나의 텍스트박스 형태로 표시한다. 수평 혹은 수직으로 스크롤할 수 있는 리스트박스와 유사하다.&lt;br /&gt;
SurfaceView: 그리기 화면에 대한 직접 액세스를 제공한다. 화면의 위에 자식 뷰를 얹을 수는 있지만, 위젯보다는 그림 픽셀을 그릴 필요가 있을 때 사용하도록 하는 목적으로 제공되는 기능이다.&lt;br /&gt;
TabHost: 탭 선택 형태를 제공하는 뷰그룹으로 탭을 클릭하면 애플리케이션이 다른 화면으로 변경되도록 하는 기능을 제공한다.&lt;br /&gt;
TableLayout: 지정된 행과 열을 구성하도록 하는 테이블 형태 레이아웃으로, 각 셀은 각각의 위젯을 가질 수 있다. 행의 크기를 가장 큰 셀의 크기에 맞춰진다. 셀 경계선은 나타나지 않는다.&lt;br /&gt;
ViewFlipper: 한 개 텍스트박스 안에 한 번에 하나의 항목을 보여주는 목록을 가진 객체. 슬라이드 쇼처럼 지정된 시간 간격마다 스와핑이 되도록 설정할 수 있다.&lt;br /&gt;
ViewSwitcher: ViewFlipper와 동일.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;FrameLayout&lt;/span&gt;&lt;br /&gt;
가장 단순한 형태의 레이아웃 객체이다. 기본적으로 스크린상의 빈 공간이며 나중에 하나의 객체로 화면을 채울 수 있다. 이 프레임 레아이웃의 모든 차일드 엘리먼트는 화면의 좌상단에 고정된다; 다른 위치를 지정할 수는 없다. 차일드 뷰들은 이전 뷰 위에 차례로 그려진다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;LinearLayout&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
LinearLayout은 모든 자식뷰들을 한 방향으로 배치한다. 하지만 기본 방향이나 여백을 다음 다섯 가지 프로퍼티를 통해 지정할 수 있다.&lt;br /&gt;
- orientation: android:orientation 프로퍼티를 horizontal이나 vertical 로 지정할 수 있다. 또는 코드에서 setOrientation() 메쏘드에서 HORIZONTAL/VERTICAL로 지정할 수 있다.&lt;br /&gt;
- fill model: pixel 수, wrap_content, fill_parent 등으로 설정.&lt;br /&gt;
- weight: widget의 중요도를 1,2 등으로 줄 수 있다.&lt;br /&gt;
- gravity:android:layout_gravity 프로퍼티를 left, center_horizontal, right로 줄 수 있다.&lt;br /&gt;
- padding:android:padding으로 전체 패딩을 지정한다. 하지만 각 영역별로 지정하려면 android:paddingLeft, android:paddingRight, android:paddingTop, android:paddingBottom을 사용한다.&lt;br /&gt;
&lt;br /&gt;
ex) 텍스트뷰, 버튼을 배치한 LinearLayout&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:orientation=&quot;vertical&quot; &amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;TextView android:id=&quot;@+id/text&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;wrap_content&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;Hello, I am a TextView&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;Button android:id=&quot;@+id/button&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;wrap_content&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;Hello, I am a Button&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;TableLayout&lt;/span&gt;&lt;br /&gt;
TableLayout은 그 자식들을 행과 열로 배치한다. 하지만 행,열, 또는 셀에 대한 경계선은 보여주지 않는다. 테이블은 빈 셀을 가질 수 있지만, HTML에서처럼 칼럼 영역을 넘어설 수는 없다.&lt;br /&gt;
&lt;br /&gt;
ex) 2x2 테이블 레이아웃&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;TableLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;android:stretchColumns=&quot;1&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;TableRow&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;TextView&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;@string/table_layout_4_open&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:padding=&quot;3dip&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;TextView&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;@string/table_layout_4_open_shortcut&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:gravity=&quot;right&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:padding=&quot;3dip&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/TableRow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;TableRow&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;TextView&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;@string/table_layout_4_save&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:padding=&quot;3dip&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;TextView&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;@string/table_layout_4_save_shortcut&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:gravity=&quot;right&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:padding=&quot;3dip&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/TableRow&amp;gt;&lt;br /&gt;
&amp;lt;/TableLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;RelativeLayout&lt;/span&gt;&lt;br /&gt;
RelativeLayout 은 자식뷰가 자신의 위치를 부모 또는 다른 뷰에 대한 상대적 위치로 지정한다. 그래서 두 엘리먼트를 오른쪽으로 또는 하나가 다른 뷰의 아래에 있도록, 화면의 중앙, 중앙 왼쪽 등으로 지정할 수 있다. 엘리먼트는 주어진 순서에 따라 그려지므로, 첫 번째 엘리먼트가 화면의 중앙에 그려진다면, 다른 엘리먼트는 중앙 엘리먼트에 대해 배치되므로 화면 중앙에 대한 상대적 위치로 그려진다. 또한, 이런 순서 때문에, 이 레이아웃을 정하는데 XML을 사용한다면, 참조할 엘리먼트는 (다른 뷰 객체를 배치하기 위해) 참조ID로 다른 뷰를 참조하기 전에 미리 XML 파일에 나타나 있어야 한다.&lt;br /&gt;
정의된 RelativeLayout의 파라메터는: width, height, below, alignTop, toLeft, padding[Bottom|Left|Right|Top], margin[Bottom|Left|Right|Top] 등이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex) 텍스트뷰, 버튼을 배치한 RelativeLayout&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;RelativeLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:background=&quot;@drawable/blue&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:padding=&quot;10px&quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;TextView android:id=&quot;@+id/label&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;Type here:&quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;EditText android:id=&quot;@+id/entry&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:background=&quot;@android:drawable/editbox_background&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_below=&quot;@id/label&quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;Button android:id=&quot;@+id/ok&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;wrap_content&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_below=&quot;@id/entry&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_alignParentRight=&quot;true&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_marginLeft=&quot;10px&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;OK&quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;Button android:layout_width=&quot;wrap_content&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_toLeftOf=&quot;@id/ok&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_alignTop=&quot;@id/ok&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;Cancel&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/RelativeLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;AbsoluteLayout&lt;/span&gt;&lt;br /&gt;
절대좌표 형태로 뷰의 위치를 지정하는 방식이다. 아주 쉽게 화면에 뷰를 배치할 수 있지만, 안드로이드 단말기의 해상도가 워낙 다양하므로 가급적 사용하지 않는 것이 좋다.&lt;br /&gt;
며칠 전 Google에서 AbsoluteLayout 엘리먼트를 deprecate 하겠다고 밝혔다. 즉, 이후 SDK 버전에서는 이 레이아웃을 사용할 수 없다는 의미이다. 역시, 사용하지 않는 것이 좋겠다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;TabHost&lt;/span&gt;&lt;br /&gt;
탭메뉴 형태의 화면을 만들 때 TabHost 를 이용한다.&lt;br /&gt;
&lt;br /&gt;
ex) 탭별 화면을 정적으로 구성할 경우의 TabHost&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;TabHost&lt;br /&gt;
&amp;nbsp;&amp;nbsp; xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;android:id=&quot;@android:id/tabhost&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;LinearLayout&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:orientation=&quot;vertical&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;TabWidget&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:id=&quot;@android:id/tabs&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;FrameLayout&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:id=&quot;@android:id/tabcontent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;TextView &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:id=&quot;@+id/textview1&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;this is a tab&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;TextView &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:id=&quot;@+id/textview2&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;this is another tab&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;TextView &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:id=&quot;@+id/textview3&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;this is a third tab&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/FrameLayout&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/TabHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex) 탭별 화면을 동적으로 구성할 경우의 TabHost&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;TabHost xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;android:id=&quot;@android:id/tabhost&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;LinearLayout&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:orientation=&quot;vertical&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:padding=&quot;5dp&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;TabWidget&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:id=&quot;@android:id/tabs&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;FrameLayout&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:id=&quot;@android:id/tabcontent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:padding=&quot;5dp&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/TabHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;nbsp;FrameLayout 내에 TextView 가 없으므로 화면을 나타내려면&amp;nbsp;코드 요소에서 intent를 사용하여 나타나도록 해야 한다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;ScrollView&lt;/span&gt;&lt;br /&gt;
ex) 스크롤뷰 설정 기본 예&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScrollView&lt;br /&gt;
xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
android:layout_height=&quot;wrap_content&quot;&amp;gt;&lt;br /&gt;
&amp;lt;TableLayout&lt;br /&gt;
android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
android:layout_height=&quot;fill_parent&quot;&lt;br /&gt;
android:stretchColumns=&quot;0&quot;&amp;gt;&lt;br /&gt;
&amp;lt;TableRow&amp;gt;&lt;br /&gt;
&amp;lt;View&lt;br /&gt;
android:layout_height=&quot;80px&quot;&lt;br /&gt;
android:background=&quot;#000000&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;TextView android:text=&quot;#000000&quot;&lt;br /&gt;
android:paddingLeft=&quot;4px&quot;&lt;br /&gt;
android:layout_gravity=&quot;center_vertical&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/TableRow&amp;gt;&lt;br /&gt;
&amp;lt;TableRow&amp;gt;&lt;br /&gt;
&amp;lt;View&lt;br /&gt;
android:layout_height=&quot;80px&quot;&lt;br /&gt;
android:background=&quot;#440000&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;TextView android:text=&quot;#440000&quot;&lt;br /&gt;
android:paddingLeft=&quot;4px&quot;&lt;br /&gt;
android:layout_gravity=&quot;center_vertical&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/TableRow&amp;gt;&lt;br /&gt;
&amp;lt;TableRow&amp;gt;&lt;br /&gt;
&amp;lt;View&lt;br /&gt;
android:layout_height=&quot;80px&quot;&lt;br /&gt;
android:background=&quot;#884400&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;TextView android:text=&quot;#884400&quot;&lt;br /&gt;
android:paddingLeft=&quot;4px&quot;&lt;br /&gt;
android:layout_gravity=&quot;center_vertical&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/TableRow&amp;gt;&lt;br /&gt;
&amp;lt;TableRow&amp;gt;&lt;br /&gt;
&amp;lt;View&lt;br /&gt;
android:layout_height=&quot;80px&quot;&lt;br /&gt;
android:background=&quot;#aa8844&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;TextView android:text=&quot;#aa8844&quot;&lt;br /&gt;
android:paddingLeft=&quot;4px&quot;&lt;br /&gt;
android:layout_gravity=&quot;center_vertical&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/TableRow&amp;gt;&lt;br /&gt;
&amp;lt;TableRow&amp;gt;&lt;br /&gt;
&amp;lt;View&lt;br /&gt;
android:layout_height=&quot;80px&quot;&lt;br /&gt;
android:background=&quot;#ffaa88&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;TextView android:text=&quot;#ffaa88&quot;&lt;br /&gt;
android:layout_gravity=&quot;center_vertical&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/TableRow&amp;gt;&lt;br /&gt;
&amp;lt;TableRow&amp;gt;&lt;br /&gt;
&amp;lt;View&lt;br /&gt;
android:layout_height=&quot;80px&quot;&lt;br /&gt;
android:background=&quot;#ffffff&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;TextView android:text=&quot;#ffffff&quot;&lt;br /&gt;
android:paddingLeft=&quot;4px&quot;&lt;br /&gt;
android:layout_gravity=&quot;center_vertical&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/TableRow&amp;gt;&lt;br /&gt;
&amp;lt;/TableLayout&amp;gt;&lt;br /&gt;
&amp;lt;/ScrollView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;GridView&lt;/span&gt;&lt;br /&gt;
ex) 그리드뷰 기본 설정 예&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout&lt;br /&gt;
xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
android:orientation=&quot;vertical&quot;&lt;br /&gt;
android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
android:layout_height=&quot;fill_parent&quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;TextView&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:id=&quot;@+id/selection&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;GridView&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:id=&quot;@+id/grid&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:layout_width=&quot;fill_parent&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:layout_height=&quot;fill_parent&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:verticalSpacing=&quot;35px&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:horizontalSpacing=&quot;5px&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:numColumns=&quot;auto_fit&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:columnWidth=&quot;100px&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:stretchMode=&quot;columnWidth&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;android:gravity=&quot;center&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/&amp;gt;&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Context;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.ViewGroup;&lt;br /&gt;
import android.widget.ArrayAdapter;&lt;br /&gt;
import android.widget.GridView;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.AdapterView;&lt;br /&gt;
&lt;br /&gt;
public class GridDemo extends Activity&lt;br /&gt;
implements AdapterView.OnItemSelectedListener {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;TextView selection;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;String[] items={&quot;lorem&quot;, &quot;ipsum&quot;, &quot;dolor&quot;, &quot;sit&quot;, &quot;amet&quot;,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;consectetuer&quot;, &quot;adipiscing&quot;, &quot;elit&quot;, &quot;morbi&quot;, &quot;vel&quot;,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;ligula&quot;, &quot;vitae&quot;, &quot;arcu&quot;, &quot;aliquet&quot;, &quot;mollis&quot;,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;etiam&quot;, &quot;vel&quot;, &quot;erat&quot;, &quot;placerat&quot;, &quot;ante&quot;,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;porttitor&quot;, &quot;sodales&quot;, &quot;pellentesque&quot;, &quot;augue&quot;, &quot;purus&quot;};&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void onCreate(Bundle icicle) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;super.onCreate(icicle);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;setContentView(R.layout.grid);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;selection=(TextView)findViewById(R.id.selection);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;GridView g=(GridView) findViewById(R.id.grid);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;g.setAdapter(new FunnyLookingAdapter(this,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;android.R.layout.simple_list_item_1,items));&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;g.setOnItemSelectedListener(this);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void onItemSelected(AdapterView parent, View v, int position, long id) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;selection.setText(items[position]);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void onNothingSelected(AdapterView parent) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;selection.setText(&quot;&quot;);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private class FunnyLookingAdapter extends ArrayAdapter {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;Context ctxt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;FunnyLookingAdapter(Context ctxt, int resource, String[] items) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;super(ctxt, resource, items);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;this.ctxt=ctxt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;public View getView(int position, View convertView,&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;ViewGroup parent) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;TextView label=(TextView)convertView;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;if (convertView==null) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;convertView=new TextView(ctxt);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;label=(TextView)convertView;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;label.setText(items[position]);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return(convertView);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;뷰그룹 객체의 속성 지정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Attribute&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
모든 View와 ViewGroup 객체는 자신의 다양한 XML 속성을 지원한다. 어떤 속성은 특정 View 객체에 한정되지만(예를 들어 TextView 는 textSize 속성을 지원), 이들 속성은 View 객체에서 상속된 것이고, 따라서 모든 View 객체의 공통속성들이 있다. 그리고, &quot;layout parameter&quot; 로 간주되는 속성이 있으며, 이것은 ViewGroup 객체에 의해 정의된 View 객체의 레이아웃 상의 특정 위치를 지정하는 속성이다.&lt;br /&gt;
&lt;br /&gt;
ID: 모든 뷰 객체는 xml 트리상에서 자신을 고유하게 식별하는 정수값 ID를 가질수 있다. XML 태그 안의 ID의 신택스는 다음과 같다:&lt;br /&gt;
android:id=&quot;@+id/my_button&quot;&lt;br /&gt;
문자열 시작 위치에 있는 @ 기호는 XML 해석기가 나머지 DI 문자열을 해석하고 그것을 ID 자원으로 가져가야 한다는 의미이다. + 기호는 이것이 새로운 자원이며 따라서 애플리케이션의 리소스(R.java 파일)에 생성하고 추가해야 한다는 의미이다. 그 외에도 안드로이드 프레임웍이 제공하는 많은 ID 자원들이 있다. 안드로이드 자원 ID를 참조할 때는 더하기 기호를 사용할 필요가 없고, 대신에 다음과 같이 안드로이드 패키지 네임스페이스를 추가해야 한다:&lt;br /&gt;
android:id=&quot;@android:id/empty&quot;&lt;br /&gt;
안드로이드 패키지 네임스페이스를 사용함으로써, 로컬 리소스 클래스가 아닌 android.R 리소스 클래스를 참조하게 된다.&lt;br /&gt;
뷰를 생성하고 애플리케이션에서 그것을 참조하려면 통상적인 패턴은:&lt;br /&gt;
1.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;레이아웃 파일에 뷰/위젯을 정의하고 거기에 고유한 ID를 할당한다:&lt;br /&gt;
2.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;Button android:id=&quot;@+id/my_button&quot;&lt;br /&gt;
3.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;wrap_content&quot;&lt;br /&gt;
4.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;@string/my_button_text&quot;/&amp;gt;&lt;br /&gt;
5.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;다음에 뷰 객체의 인스턴스를 생성하고 레이아웃에서 그것을 찾아낸다(보통 onCreate() method 안에서 코딩):&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Button myButton = (Button) findViewById(R.id.my_button);&lt;br /&gt;
ID는 전체 XML 트리 안에서 고유할 필요는 없지만, 검색하고 있는 트리 안(이것이 전체 트리가 될 수 있으므로, 가능하다면 완전히 고유하도록 정하는 것이 좋다)에서는 고유해야 한다.&lt;br /&gt;
&lt;br /&gt;
Layout Parameters: layout_something 형태의 XML 레이아웃 속성이 View에 대한 레이아웃 파라메터이다. 모든 ViewGroup 클래스는 ViewGroup.LayoutParams 를 상속하는 네스티드 클래스를 구현한다. 이 서브클래스에는 각 차일드 뷰의 크기와 위치를 정의하는 속성이 들어 있다. 각 부모 뷰 그룹은 각 자식 뷰의 레이아웃 파라메터를 결정한다.(레이아웃 파라메터 상속 그림 참조)&lt;br /&gt;
모든 LayoutParams 서브클래스는 값을 설정하는 자신의 신택스를 갖고 있다. 각 차일드 엘리먼트는 부모에게 맞는 LayoutParams를 정의해야 한다. 하지만 이것은 자신의 차일드를 위해 다른 LayoutParams로 정의할 수도 있다.&lt;br /&gt;
&lt;br /&gt;
모든 뷰 그룹에는 layout_width and layout_height이 포함되어 있고, 각 뷰는 이것을 정의해야 한다. 많은 LayoutParams에는 선택사항인 margin과 border도 포함되어 있다. 정확한 width, height 수치를 지정할 수도 있다. 부모와의 상대적 크기인 wrap_content, fill_parent 로 지정하는 것을 더 권장한다.&lt;br /&gt;
&lt;br /&gt;
ex) LayoutParams 속성 지정&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- res/main_screen.xml --&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:orientation=&quot;vertical&quot; &amp;nbsp; &amp;nbsp;// The object&#39;s own orientation property&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:padding=&quot;4&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Inherited View property&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:gravity=&quot;center&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// The object&#39;s own property&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_width=&quot;fill_parent&quot; &amp;nbsp;// Parent object&#39;s LinearLayout.LayoutParams.width&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;fill_parent&quot;&amp;gt; // Parent object&#39;s LinearLayout.LayoutParams.height&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;TextView android:layout_width=&quot;fill_parent&quot; &amp;nbsp; // TextView.LayoutParams.width&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:layout_height=&quot;wrap_content&quot; // TextView.LayoutParams.height&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:layout_weight=&quot;0&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TextView.LayoutParams.weight&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:paddingBottom=&quot;4&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TextView.paddingBottom&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:text=&quot;@string/redirect_getter&quot;/&amp;gt; // TextView.text&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;EditText android:id=&quot;@+id/text&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:layout_width=&quot;fill_parent&quot; &amp;nbsp; // EditText.LayoutParams.width&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:layout_height=&quot;wrap_content&quot; // EditText.LayoutParams.height&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:layout_weight=&quot;0&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// EditText.LinearLayoutParams.weight&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:paddingBottom=&quot;4&quot;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // EditText.paddingBottom&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;requestFocus /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/EditText&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;Button android:id=&quot;@+id/apply&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:layout_width=&quot;wrap_content&quot; &amp;nbsp;// Button.LayoutParams.width&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:layout_height=&quot;wrap_content&quot; // Button.LayoutParams.height&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:text=&quot;@string/apply&quot; /&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TextView.text&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Position&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
뷰의 표시영역은 사각형이다. 뷰는 왼쪽 최상단을 나타내는 로케이션과, 넓이와 높이를 나타내느 디멘전을 갖고 있다. 로케이션과 디멘전의 단위는 픽셀이다.&lt;br /&gt;
getLeft와 getTop 메쏘드를 사용하여 뷰의 위치를 알아낼 수 있다. getLeft는 사각형의 왼쪽 위치 즉 X좌표를 돌려주고, getTop은 사각형의 최상단, 즉 Y좌표를 돌려준다. 이들 메쏘드는 모두 부모 뷰에 대한 상대적 위치로 좌표를 돌려준다. 예를 들어 getLeft()가 20으로 나오면, 이것은 그 뷰가 부모 뷰의 왼쪽 끝에서 오른쪽으로 20 픽셀 이동한 위치에 있다는 의미이다.&lt;br /&gt;
이외에도 getRight, getBottom 등 유용한 메쏘드들이 있다. 사용예로는, getRight() 를 쓰면 getLeft() + getWidth() 를 계산한 것과 같은 결과를 받는다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Size, Padding, Margin&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
뷰의 크기는 넓이와 높이로 표현된다. 실제로 뷰는 넓이와 높이 값의 두 쌍을 갖고 있다.&lt;br /&gt;
첫번째 쌍은 측정 넓이와 높이라 한다. 이 디멘전은 그 뷰가 부모 뷰 안에서 얼마나 크게 나타날지를 정한다. 이 측정 디멘전은 getMeasuredWidth() 와 getMeasuredHeight()로 구할 수 있다.&lt;br /&gt;
두 번째 쌍은 단순한 넓이와 높이 또는 드로잉 넓이와 드로잉 높이이다. 이 디멘전은 화면에서의 실제 뷰의 크기를 정의한다. 이 값은 측정 넓이, 높이와 다를 수 있다. 이 값은 getWidth() 와 getHeight() 메쏘드로 구할 수 있다.&lt;br /&gt;
디멘전을 측정하기 위해 뷰는 패딩을 고려한다. 패딩은 뷰의 왼쪽,상단,우측,하단 부분에 대한 픽셀값으로 표현된다. 패딩은 뷰의 내용을 특정 픽셀만큼 떨어져서 표현할 때 사용할 수 있다. 예를 들어, 왼쪽 패딩 2 를 하면 뷰의 내용이 왼쪽 끝에서 2 픽셀만큼 떨어져서 나타난다. 패딩을 설정하려면 &amp;nbsp;setPadding(int, int, int, int) 메쏘드를 이용하고, getPaddingLeft(), getPaddingTop(), getPaddingRight(), getPaddingBottom() 메쏘드로 조회할 수 있다.&lt;br /&gt;
뷰는 패딩을 정할 수 있지만, 마진은 전혀 지원하지 않는다. 하지만 뷰 그룹은 지원한다.</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/517824472486577886/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_4162.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/517824472486577886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/517824472486577886'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_4162.html' title='자원요소-레이아웃'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-3283803877321109288</id><published>2010-10-28T18:12:00.001-07:00</published><updated>2010-10-28T18:14:01.859-07:00</updated><title type='text'>자원요소-기본자원</title><content type='html'>&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;기본자원에는 문자열, 문자열배열, 색상, 디멘젼, 단순표시물, 비트맵그래픽, 애니메이션 시퀀스, 메뉴파일, XML 파일, raw 파일, 레이아웃 파일, 스타일, 테마, Asset 자원, Searchable 등이 있다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;문자열&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;파일명(권장)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;/res/values/&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;strings.xml&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Strings를 리소스로 저장하고 참조할 수 있다. 스트링을 포맷팅하려면 세 가지 HTML tag를 사용할 수 있다: &amp;lt;b&amp;gt;, &amp;lt;i&amp;gt;, and &amp;lt;u&amp;gt;.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;스타일이 적용되지 않은 텍스트만을 얻으려면 CharSequence 객체에 toString() 메쏘드를 호출하면 된다. 문자열 자원을 수용하는 메쏘드를 만들려면 앞서 정의한 태그들을 처리할 수 있어야 한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;자바 코드로 이 자원에 접근하려면 Resources.getString() 이나 Resources.getText() 메쏘드를 사용한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Syntax&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;string name=string_name&amp;gt;string_value&amp;lt;/string&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resource reference name:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Java: R.string.some_name&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;XML: @[package:]string/some_name (where some_name is the name of a specific string)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 문자열 자원 정의 기본 예&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;string name=&quot;good_example&quot;&amp;gt;&quot;This&#39;ll work&quot;&amp;lt;/string&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;string name=&quot;good_example_2&quot;&amp;gt;This\&#39;ll also work&amp;lt;/string&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;string name=&quot;bad_example&quot;&amp;gt;This won&#39;t work!&amp;lt;/string&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;string name=&quot;bad_example_2&quot;&amp;gt;XML encodings won&amp;amp;apos;t work either!&amp;lt;/string&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 포맷된 문자열 정의&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;string name=&quot;simple_welcome_message&quot;&amp;gt;Welcome!&amp;lt;/string&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;string name=&quot;styled_welcome_message&quot;&amp;gt;We are &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;so&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; glad to see you.&amp;lt;/string&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) strings.xml에 정의된 문자열 자원을 참조&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;TextView android:layout_width=&quot;fill_parent&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:textAlign=&quot;center&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;@string/simple_welcome_message&quot;/&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;문자열 배열&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;파일명(권장)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;/res/values/&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;arrays.xml&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 문자열 배열 정의&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;array name=&quot;honorifics&quot;&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;item&amp;gt;Dr.&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;item&amp;gt;Mr.&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;item&amp;gt;Mrs.&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;item&amp;gt;Ms.&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/array&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;* 위 자원을 자바 코드에서 사용하려면&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;getResources.getStringArray(R.array.honorifics);&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;색상&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;파일명(권장)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;/res/values/&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;colors.xml&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;color drawables 와 color string 값을 저장하는데 사용하며, 이 자원에 접근하려면 각각 Resources.getDrawable() 와 Resources.getColor() 을 사용한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Syntax&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;color name=color_name&amp;gt;#color_value&amp;lt;/color&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resource reference name:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Java: R.color.some_name&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;XML: @[package:]color/some_name (some_name 은 특정 색상의 이름)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 색상 정의&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;color name=&quot;opaque_red&quot;&amp;gt;#f00&amp;lt;/color&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;color name=&quot;translucent_red&quot;&amp;gt;#80ff0000&amp;lt;/color&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 다른데서 정의된 색상을 참조&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;TextView android:layout_width=&quot;fill_parent&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:textAlign=&quot;center&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:textColor=&quot;@color/translucent_red&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:text=&quot;Some Text&quot;/&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;// 이것을 호출하는 Java 코드인 경우는 다음과 같다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;int color = getResources.getColor(R.color.opaque_red);&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;디멘젼&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;파일명(권장)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;/res/values/&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;dimen.xml&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Syntax&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;dimen name=dimen_name&amp;gt;dimen_value&amp;lt;/dimen&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resources.getDimension()&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resource reference name:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Java: R.dimen.some_name&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;XML: @[package:]dimen/some_name (여기서 some_name은 특정 &amp;lt;dimen&amp;gt; 엘리먼트의 이름)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;px : Pixels&amp;nbsp;실제화면의 픽셀을 말한다.&amp;nbsp;예:20 px&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;in : Inches&amp;nbsp;물리적길이&amp;nbsp;예:5in&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;mm : Millimeters&amp;nbsp;물리적길이&amp;nbsp;예:3mm&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Pt : Points&amp;nbsp;글자크기단위&amp;nbsp;예:14pt&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;dp : Density-independent Pixels &amp;nbsp;160dpi 화면을 기준으로 한 픽셀단위&amp;nbsp;예:8dp&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;sp : Scale-independent Pixels&amp;nbsp;가변글꼴 표시에 최적임&amp;nbsp;예:14sp&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 기본 디멘젼 정의&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;dimen name=&quot;one_pixel&quot;&amp;gt;1px&amp;lt;/dimen&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;dimen name=&quot;double_density&quot;&amp;gt;2dp&amp;lt;/dimen&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;dimen name=&quot;sixteen_sp&quot;&amp;gt;16sp&amp;lt;/dimen&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 디멘젼 자원 참조&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;// Example Java code:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;float dimen = Resources.getDimen(R.dimen.one_pixel);&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;// Example XML code:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;TextView android:layout_width=&quot;fill_parent&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:textSize=&quot;@dimen/sixteen_sp&quot;/&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;단순표시물&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;파일명(권장)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;/res/values/&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;drawables.xml&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;색상있는 사각형 등 PaintDrawable 객체를 자원으로 정의해서 사용할 수 있다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Syntax&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;drawable name=color_name&amp;gt;color_value&amp;lt;/drawable&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resource reference name:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Java: R.drawable.some_name&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;XML: @[package:]drawable/some_name (여기서 some_name은 특정 자원의 이름)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 단순표시물 정의&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;drawable name=&quot;solid_red&quot;&amp;gt;#f00&amp;lt;/drawable&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;drawable name=&quot;solid_blue&quot;&amp;gt;#0000ff&amp;lt;/drawable&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;drawable name=&quot;solid_green&quot;&amp;gt;#f0f0&amp;lt;/drawable&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;solid_red.xml 파일에 위 코드를 저장&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 단순표시물 참조&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;// Assign a PaintDrawable as the background to&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;// a TextView on the current screen.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Drawable redDrawable = Resources.getDrawable(R.drawable.solid_red);&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;TextView tv = (TextView)findViewByID(R.id.text);&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;tv.setBackground(redDrawable);&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Example XML code&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;TextView android:layout_width=&quot;fill_parent&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:layout_height=&quot;wrap_content&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:textAlign=&quot;center&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:background=&quot;@drawable/solid_red&quot;/&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;비트맵 그래픽&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리: /res/drawable/&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;지원형식: &amp;nbsp;9.png, png (preferred), jpg (acceptable), gif (discouraged)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;이 유형의 자원에 액세스하려면 Resources.getDrawable() 또는 mContext.getResources().getDrawable(R.drawable.imageId) 메쏘드를 사용한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resource reference name:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Java: R.drawable.some_file&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;XML: @[package:]drawable/some_file&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;참고) 이미지를 비트맵으로 변환하기 위해 비트 스트림으로 저장하려 한다면, 그 이미지를 res/raw/ 폴더에 저장하면 최적화되지 않은 채로 컴파일된다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;애니메이션 시퀀스&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;/res/anim/&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;rame by frame animation 또는 tweened animation 객체로 컴파일된 XML 파일을 저장한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resource reference name:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Java: R.anim.some_file&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;XML: @[package:]anim/some_file&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 트윈드 애니메이션 정의&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;set android:shareInterpolator=boolean&amp;gt; &amp;nbsp;// Only required if multiple tags are used.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;alpha android:fromAlpha=float&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:toAlpha=float &amp;gt; &amp;nbsp; |&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;scale android:fromXScale=float&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:toXScale=float&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:fromYScale=float&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:toYScale=float&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:pivotX=string&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:pivotY=string &amp;gt; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;translate android:fromX=string&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:toX=string&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:fromY=string&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:toY=string &amp;gt; &amp;nbsp; |&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;rotate android:fromDegrees=float&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:toDegrees=float&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:pivotX=string&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android:pivotY=string &amp;gt; |&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;interpolator tag&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;set&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/set&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;메뉴 파일&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리: /res/menu/&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resource reference name:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Java: R.menu.some_file&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 옵션메뉴 만들기&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;menu xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item android:id=&quot;@+id/new_game&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:title=&quot;New Game&quot; /&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item android:id=&quot;@+id/quit&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:title=&quot;Quit&quot; /&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/menu&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 그룹이 있는 옵션메뉴 만들기&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;menu xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item android:id=&quot;@+id/example_item&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:title=&quot;Example Item&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:icon=&quot;@drawable/example_item_icon&quot; /&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;group android:id=&quot;@+id/example_group&quot;&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;item android:id=&quot;@+id/example_item2&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:title=&quot;Example Item 2&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:icon=&quot;@drawable/example_item2_icon&quot; /&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/group&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item android:id=&quot;@+id/example_submenu&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:title=&quot;Example Sub Menu&quot; &amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;menu&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;item android:id=&quot;@+id/example_submenu_item&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:title=&quot;Example Sub Menu Item&quot; /&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/menu&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/menu&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;XML 파일&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;/res/xml/&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resources.getXML()&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Raw 파일&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;/res/raw/&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resources.openRawResource(R.raw.somefilename);&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;레이아웃 파일&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리: /res/layout/&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resource reference name:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Java: R.layout.some_file&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;XML: @[package:]layout/some_file&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;레이아웃 자원 참조 자바 코드:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp;setContentView(R.layout.main_screen);&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Syntax&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;ViewGroupClass xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android:id=&quot;@+id/string_name&quot; (attributes)&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;위젯 또는 기타 네스트된 ViewGroupClass&amp;gt;+&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;requestFocus/&amp;gt;(레이아웃 파일당 0또는 1개 지정가능하고, 어떤 엘리먼트든 할당 가능)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/ViewGroupClass&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;엘리먼트 설명&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;ViewGroupClass&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;이 파일의 루트 엘리먼트는 하나만 설정할 수 있다. 루트 엘리먼트는 다른 엘리먼트를 담고 있는 ViewGroup 클래스일 수도 있고, 한 개의 객체일 경우에는 위젯(또는 커스텀 위젯)이 될 수도 있다. 디폴트로, 엘리먼트로서 안드로이드 위젯 또는 ViewGroup 클래스명(대소문자 구분함)을 사용할 수 있다. 유효하지 않은 네스팅이 될 수도 있으니(예를 들면, &amp;lt;ListLayout&amp;gt; 안에 &amp;lt;TextView&amp;gt; 엘리먼트를 네스팅할 수 없다) 주의가 필요하다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;requestFocus&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;View 객체에 속하는 엘리먼트는 어떤 것이든 이 빈 엘리먼트를 포함시킬 수 있다. 그 의미는 화면 생성시 초기에 이 엘리먼트의 부모 태그에 포커스 주도록 하는 것이다. 파일당 한 개만 지정할 수 있다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;스타일&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;파일명(권장)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;/res/values/&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;styles.xml&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;스타일은 한 엘리먼트(예를 들어 TextView에 적용된 10 pt red Arial font)에 적용되는 한 가지 이상의 속성이다. 스타일은 레이아웃 XML 파일의 엘리먼트에 속성으로 적용될 수 있다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;테마&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;필수디렉토리&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;파일명(권장)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;/res/values/&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;themes.xml&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;테마는 전체 화면에 적용되는 한 가지 이상의 속성이다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;예를 들어 테마를 정의하여 윈도우 프레임의 색상과 패널의 전,후면, 그리고 메뉴의 문자 크기와 색상에 적용하여 애플리케이션의 액티비티에 반영되도록 할 수 있다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;스타일은 개별자원에만 지정할 수 있는 반면,&amp;nbsp;테마는 뷰 전체에 대해 지정하여 사용할 수 있다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;AndroidManifest.xml 파일의 활동요소(&amp;lt;activity&amp;gt;)의 android:theme 특성에 지정하여 사용한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;스타일/테마 작성 절차&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;1.res/values 디렉토리에 styles.xml 파일을 생성한다. 루트에 &amp;lt;resource&amp;gt; 노드를 추가한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;2.각 스타일 또는 테마에 &amp;lt;style&amp;gt; 요소를 고유한 이름을 주어 생성하고 부모 속성이 있다면 지정한다. 이름은 코드에서 참조할 때 사용하며, 부모 속성은 상속받을 스타일을 지정하는 것이다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;3.&amp;lt;style&amp;gt; 요소 안에, 포맷 값을 &amp;lt;item&amp;gt; 요소로 선언한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;4.그러면 이제 매니페스트 파일이나 애플리케이션 코드 등 다른 XML 자원에서 이 리소스를 참조할 수 있다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 테마 선언&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;lt;style name=&quot;CustomTheme&quot;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item name=&quot;android:windowNoTitle&quot;&amp;gt;true&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item name=&quot;windowFrame&quot;&amp;gt;@drawable/screen_frame&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item name=&quot;windowBackground&quot;&amp;gt;@drawable/screen_background_white&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item name=&quot;panelForegroundColor&quot;&amp;gt;#FF000000&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item name=&quot;panelBackgroundColor&quot;&amp;gt;#FFFFFFFF&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item name=&quot;panelTextColor&quot;&amp;gt;?panelForegroundColor&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item name=&quot;panelTextSize&quot;&amp;gt;14&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item name=&quot;menuItemTextColor&quot;&amp;gt;?panelTextColor&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;item name=&quot;menuItemTextSize&quot;&amp;gt;?panelTextSize&amp;lt;/item&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/style&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;/resources&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 테마를 매니페스트 파일이 등록&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;application ... android:theme=&quot;@style/CustomTheme&quot;&amp;gt; &amp;lt;!--&amp;nbsp;애플리케이션의 모든 액티비티 에 대해 이 테마가 적용됨 --&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 액티비티에 다이얼로그 테마 적용&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;lt;activity ... android:theme=&quot;@android:style/Theme.Dialog&quot;&amp;gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;ex) 프로그램 코드에 테마 적용&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;protected void onCreate(Bundle savedInstanceState) {&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;super.onCreate(savedInstanceState); ...&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;setTheme(android.R.style.Theme_Light);&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;setContentView(R.layout.linear_layout_3);&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;// setContentView(View)를 호출하기 전 또는 inflate(int,ViewGroup) 전에 setTheme을 설정해야 한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Searchable&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;디렉토리,파일명 : res/xml/searchable.xml&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;전체 시스템의 기능으로 검색이 나타나도록 하기 위해, 안드로이드 프레임워크는 검색결과가 나타나도록 하는 &amp;nbsp;API를 제공하고 있다. 이 API로 검색이 invoke되고 검색 다이얼로그가 나타나는 방법, 가용한 검색결과의 유형, 그리고 결과의 제시 방법을 설정할 수 있다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;안드로이드 검색 프레임워크를 사용하려면, 애플리케이션은 XML 리소스 형태로 검색 구성을 설정해야 한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Resource reference name:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Java: R.xml.filename.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;XML: @[package:]xml/filename (e.g., @xml/searchable).&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/3283803877321109288/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_28.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/3283803877321109288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/3283803877321109288'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_28.html' title='자원요소-기본자원'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-3445508334573479441</id><published>2010-10-27T22:21:00.000-07:00</published><updated>2010-10-28T18:13:44.798-07:00</updated><title type='text'>자원요소</title><content type='html'>안드로이드 프로그램은 크게 코드요소와 자원요소의 두 가지로 구분할 수 있다.&lt;br /&gt;
자원요소는 주로 XML 파일로 작성하며, 비디오, 오디오, 그림파일, 문서 파일 등 다양한 형태의 자료를 포함시킬 수 있다.&lt;br /&gt;
&lt;br /&gt;
안드로이드에서 사용하는 자원요소들은&lt;br /&gt;
- 기본자원&lt;br /&gt;
- 레이아웃&lt;br /&gt;
- 위젯&lt;br /&gt;
- Android Manifest&lt;br /&gt;
등이 있다.&lt;br /&gt;
&lt;br /&gt;
이들 자원에 대해 하나씩 살펴보려 한다.</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/3445508334573479441/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_27.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/3445508334573479441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/3445508334573479441'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_27.html' title='자원요소'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-6365152503473485431</id><published>2010-10-26T22:43:00.000-07:00</published><updated>2010-11-06T20:32:14.097-07:00</updated><title type='text'>안드로이드 설치</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;설치절차는&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
1. JDK 설치&lt;br /&gt;
2. 안드로이드 SDK 설치.&lt;br /&gt;
3. Eclipse 설치.&lt;br /&gt;
4. Eclipse 에 안드로이드 플러그인 설치&lt;br /&gt;
&lt;br /&gt;
의 순서로 진행된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;- 개발환경 요구사항&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
지원하는 운영체계&lt;br /&gt;
•Windows XP (32-bit) or Vista (32- or 64-bit) or Windows 7&lt;br /&gt;
•Mac OS X 10.4.8 or later (x86 only)&lt;br /&gt;
•Linux (tested on Linux Ubuntu Hardy Heron)&lt;br /&gt;
* 64 비트 판의 경우 32비트 애플리케이션을 구동할 수 있어야 한다. 32 비트 애플리케이션 지원을 추가하는 방법에 대해서는 Ubuntu Linux 애플리케이션 노트 참조.&lt;br /&gt;
&lt;br /&gt;
지원 개발 환경&lt;br /&gt;
•Eclipse IDE&lt;br /&gt;
&amp;nbsp;&amp;nbsp;◦Eclipse 3.4 (Ganymede) or 3.5 (Galileo)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;◦JDK 5 or JDK 6 (JRE 만으로는 충분하지 않음)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;◦Android Development Tools plugin (optional)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;◦Gnu Compiler for Java (gcj)와는 호환되지 않음.&lt;br /&gt;
•그 외 개발환경 또는 IDE&lt;br /&gt;
&amp;nbsp;&amp;nbsp;◦JDK 5 or JDK 6 (JRE 만으로는 충분하지 않음)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;◦Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows&lt;br /&gt;
&amp;nbsp;&amp;nbsp;◦Gnu Compiler for Java (gcj)와는 호환되지 않음.&lt;br /&gt;
&lt;br /&gt;
하드웨어 요구사항&lt;br /&gt;
• 기본 SDK 패키지로 600MB 디스크 공간이 요구되고, 각 플랫폼별로 SDK에 다운로드되는 라이브러리로 추가 100MB 이상 요구됨.&lt;br /&gt;
&lt;br /&gt;
지원 운영체제는 다음과 같다.&lt;br /&gt;
- Windows XP 또는 Vista&lt;br /&gt;
- Mac OS X 10.4.8 이후(x86만)&lt;br /&gt;
- 리눅스(Ubuntu 6.06 LTS, Dapper Drake 에서 시험했음)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;- JDK 설치&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
안드로이드 개발에 사용할 수 있는 Sun JDK 버전&lt;br /&gt;
- JDK 5&lt;br /&gt;
- JDK 6&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://java.sun.com/javase/downloads/index.jsp&quot;&gt;JDK 다운로드&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 된 JDK의 설치절차를 설명하면,&lt;br /&gt;
설치파일을 더블클릭하여 실행 한 후 Next를 눌러 다음 화면으로 넘어간다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCuL95vNlLflvayWCeeoT84jOQakwmiQvWUiI3Wn75qAqeRByYs56EwOznQs8MDhKoKMmwYzlBlDTE_jGQCLISfVOH5vvSArwTDg52alTs71AFPsoibou7G2YrPr90MdOyvFifUjymBBQu/s1600/jdk01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCuL95vNlLflvayWCeeoT84jOQakwmiQvWUiI3Wn75qAqeRByYs56EwOznQs8MDhKoKMmwYzlBlDTE_jGQCLISfVOH5vvSArwTDg52alTs71AFPsoibou7G2YrPr90MdOyvFifUjymBBQu/s320/jdk01.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;약관에 동의하며 Accept 버튼을 눌러 다음 화면으로 넘어간다.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX7MKUkhF868u3gW6EgnBb29w8m-y0B3XAsVIisXsEF-zOZo1b3b8MV1eaAyKp-d65wlpQaxmsR0PB_kWxXUiC1LSEeTBWdOjJVI1u8nxeffWhYn7Lx5wKDcB570j2z3hDEXNDQEkaSAz3/s1600/jdk02.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX7MKUkhF868u3gW6EgnBb29w8m-y0B3XAsVIisXsEF-zOZo1b3b8MV1eaAyKp-d65wlpQaxmsR0PB_kWxXUiC1LSEeTBWdOjJVI1u8nxeffWhYn7Lx5wKDcB570j2z3hDEXNDQEkaSAz3/s320/jdk02.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
설치 경로를 확인한 후 Next 버튼을 눌러 다음 화면으로 넘어간다.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwofbwfT6bIO0H8WrVBKnpnAWBEZPum99ABuZQAKSs0i_sxoxw04FM5CnsvgkEfpkD6QCcUmtINJ3119cl3xswD8sETRN19BpWLSF4bqkrA29GOtvuSqmRE37Ps7Zbx1KgvTa6K2mx1Fdd/s1600/jdk03.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwofbwfT6bIO0H8WrVBKnpnAWBEZPum99ABuZQAKSs0i_sxoxw04FM5CnsvgkEfpkD6QCcUmtINJ3119cl3xswD8sETRN19BpWLSF4bqkrA29GOtvuSqmRE37Ps7Zbx1KgvTa6K2mx1Fdd/s400/jdk03.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
설치 진행화면이 나오고 설치가 완료되면 Finish 버튼을 눌러 설치를 완료한다.&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;그 다음 할 일은 Path설정이다.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;[내 컴퓨터] -&amp;gt; 마우스 우클릭 -&amp;gt; 속성 -&amp;gt; 고급 -&amp;gt; 환경 변수 -&amp;gt; 시스템 변수 -&amp;gt; Path 항목에 설치된 JDK의 bin 폴더 경로를 추가해준다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFNvD8HyLLW1GvtAgw_GbJJrMF6XDIxVh9SOtitN0ivxqAgPEjTxGtwIgJqiB48Q6YhNRj9APiQThP_XSsZgEsUcg9wr5G9dBuKfGiQ924np8_aRXmnfdc6s5tQKElm6tpl3nuJP_lak4I/s1600/jdk04.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;271&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFNvD8HyLLW1GvtAgw_GbJJrMF6XDIxVh9SOtitN0ivxqAgPEjTxGtwIgJqiB48Q6YhNRj9APiQThP_XSsZgEsUcg9wr5G9dBuKfGiQ924np8_aRXmnfdc6s5tQKElm6tpl3nuJP_lak4I/s400/jdk04.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Path 설정을 마치면 JDK는 성공적으로 설치한 것이다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;확인을 위하여 커맨드 창(실행-&amp;gt;cmd)에서 java의 버전을 확인하는 java -version 명령을 실행해본다.&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9iSw1itAHLleHrQgguBfhkJqoOYsc49P_A1gjtuULFLZrDW_x4eXQrCfWOlMYgG8N4yLeWVOJM8kNldWqTLPBLzsZ8YK6npFHaehvMZpgtnIDQHiEiVbc12UhLIftAReS4HRYxvZ9Y80j/s1600/jdk05.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9iSw1itAHLleHrQgguBfhkJqoOYsc49P_A1gjtuULFLZrDW_x4eXQrCfWOlMYgG8N4yLeWVOJM8kNldWqTLPBLzsZ8YK6npFHaehvMZpgtnIDQHiEiVbc12UhLIftAReS4HRYxvZ9Y80j/s400/jdk05.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;- SDK 및 안드로이드 플러그인 설치&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #494c52; font-family: Arial; font-size: 10px; line-height: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black; font-family: Gulim; font-size: medium; line-height: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;- 설치 파일:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://developer.android.com/sdk/installing.html&quot;&gt;http://developer.android.com/sdk/installing.html&lt;/a&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #494c52; font-family: Arial; font-size: 10px; line-height: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black; font-family: Gulim; font-size: medium; line-height: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;- API 소개:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://developer.android.com/reference/packages.html&quot;&gt;http://developer.android.com/reference/packages.html&lt;/a&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #494c52; font-family: Arial; line-height: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black; font-family: Gulim; line-height: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;다운 받은 &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black; font-family: Gulim; line-height: normal;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;android-sdk_r04-windows.zip&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black; font-family: Gulim; line-height: normal;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black; font-family: Gulim; line-height: normal;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;파일의 압축을 원하는 곳에 푼다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;보통&lt;span lang=&quot;EN-US&quot;&gt;&amp;nbsp;c:\android-sdk-windows &lt;/span&gt;라는&lt;span lang=&quot;EN-US&quot;&gt; path&lt;/span&gt;에 압축을 푼다&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;맑은 고딕&#39;; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;앞의&lt;span lang=&quot;EN-US&quot;&gt; JDK &lt;/span&gt;설치하고&lt;span lang=&quot;EN-US&quot;&gt; Path&lt;/span&gt;를 설정 했듯이&lt;span lang=&quot;EN-US&quot;&gt; android sdk&lt;/span&gt;도 압축을 푼 디렉토리의 하위&lt;span lang=&quot;EN-US&quot;&gt; tools &lt;/span&gt;디렉토리를&lt;span lang=&quot;EN-US&quot;&gt; path&lt;/span&gt;항목에 추가 시켜 준다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;이것은 나중에&lt;span lang=&quot;EN-US&quot;&gt; tools&lt;/span&gt;에 있는 여러 유틸리티들을 간편하게 실행하기 위한 것이다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghwJny-neH7w9msRs8Jf4K6oDPDf3EgSN-O4desbThMIPpFpqTjw5ChEJN6vBVE5DN7RA208PbTBchk9hb30hOelUC5tLvci74mKc0z6FaJpoaGcFaNmv33VlbRWiQ0NnvhSD5h6vMRc5p/s1600/sdk01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghwJny-neH7w9msRs8Jf4K6oDPDf3EgSN-O4desbThMIPpFpqTjw5ChEJN6vBVE5DN7RA208PbTBchk9hb30hOelUC5tLvci74mKc0z6FaJpoaGcFaNmv33VlbRWiQ0NnvhSD5h6vMRc5p/s400/sdk01.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
이클립스 다운로드:&amp;nbsp;&lt;a href=&quot;http://www.eclipse.org/downloads/&quot;&gt;http://www.eclipse.org/downloads/&lt;/a&gt;&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;다운 받은&lt;span lang=&quot;EN-US&quot;&gt; Eclipse &lt;/span&gt;압축파일&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;eclipse-java-galileo-SR1-win32.zip&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;을 원하는 위치에 압축을 푼다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;필자의 경우&lt;span lang=&quot;EN-US&quot;&gt; c:\eclipse&lt;/span&gt;에 압축을 풀었다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;eclipse.exe &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;파일을 실행 시켜보면 아래와 같이&lt;span lang=&quot;EN-US&quot;&gt; workspace &lt;/span&gt;경로를 묻는 다이얼로그가 나타난다&lt;span lang=&quot;EN-US&quot;&gt;.&amp;nbsp;&lt;/span&gt;밑에 체크 박스를 체크하여 다음 실행시 부터는&lt;span lang=&quot;EN-US&quot;&gt; workspace&lt;/span&gt;를 묻지 않게 할 수 있다&lt;span lang=&quot;EN-US&quot;&gt;.&amp;nbsp;workspace&lt;/span&gt;는&lt;span lang=&quot;EN-US&quot;&gt; eclipse&lt;/span&gt;에서 프로젝트를 생성하는 공간이라고 생각하면 된다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
&lt;/span&gt;임의대로&lt;span lang=&quot;EN-US&quot;&gt; workspace &lt;/span&gt;경로를 지정해준다&lt;span lang=&quot;EN-US&quot;&gt;.&amp;nbsp;( &lt;/span&gt;기본설정은&lt;span lang=&quot;EN-US&quot;&gt; c:\Documents And Settings\&lt;/span&gt;사용자이름&lt;span lang=&quot;EN-US&quot;&gt;\workspace &lt;/span&gt;이다&lt;span lang=&quot;EN-US&quot;&gt;. )&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEQgs24gXnZzH3gbPEeN2uOYL0OlabWyAgKoR2si38FA7wA5agVGVffi4OdaYH-uuQU3cqCXRloAFfwl5rPhnS-E-MmhboP8DdmhEESTmJggEmPW4WUYHWhBQ3bq1WshtLkJ_k7EJG_Cmn/s1600/sdk02.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;162&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEQgs24gXnZzH3gbPEeN2uOYL0OlabWyAgKoR2si38FA7wA5agVGVffi4OdaYH-uuQU3cqCXRloAFfwl5rPhnS-E-MmhboP8DdmhEESTmJggEmPW4WUYHWhBQ3bq1WshtLkJ_k7EJG_Cmn/s400/sdk02.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;workspace &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;경로를 지정한 후 아래와 같은 화면이 나타난다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
&lt;/span&gt;빨간색 네모칸의 버튼을 클릭하여&lt;span lang=&quot;EN-US&quot;&gt; eclipse &lt;/span&gt;작업화면&lt;span lang=&quot;EN-US&quot;&gt;(Workbench)&lt;/span&gt;으로 넘어간다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg5soQWTA-_QXMo8pQdHJ4NdIWebkrVWjuVEC7yJaZSVDTvVbjPKXmix3lBqJ8lnsIO-Ya4ODFpqcg6f8AaklWCHKykSXUaAFAmHUoqSF-56t5XKidPP8GT5pvuAcEO6GzWHYXe2L1W6-z/s1600/sdk03.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;238&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg5soQWTA-_QXMo8pQdHJ4NdIWebkrVWjuVEC7yJaZSVDTvVbjPKXmix3lBqJ8lnsIO-Ya4ODFpqcg6f8AaklWCHKykSXUaAFAmHUoqSF-56t5XKidPP8GT5pvuAcEO6GzWHYXe2L1W6-z/s320/sdk03.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;ADT(Android Development Tools) Plugin&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;을 설치 해야한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
Eclipse&lt;/span&gt;메뉴 중 &lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;Help-&amp;gt;Install New Software&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;를 선택한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYE0-gHTFh3vWIfD73jmwVuBcPnrHgXZvGS911aTCDKuUgl04xFLFLX-GLJSFFopkKt82PunIzYI_wJotA2eg0szOF4CnBr2T-_czMeOngjNsLcASXBFeHp7gcVscdAkBxBG2aF2E9TIsV/s1600/sdk04.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;297&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYE0-gHTFh3vWIfD73jmwVuBcPnrHgXZvGS911aTCDKuUgl04xFLFLX-GLJSFFopkKt82PunIzYI_wJotA2eg0szOF4CnBr2T-_czMeOngjNsLcASXBFeHp7gcVscdAkBxBG2aF2E9TIsV/s400/sdk04.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;Add &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;버튼을 클릭하고 나오는&lt;span lang=&quot;EN-US&quot;&gt; &#39;Add Site&#39; &lt;/span&gt;다이얼로그에서 아래 그림과 같이 입력하고&lt;span lang=&quot;EN-US&quot;&gt; OK &lt;/span&gt;버튼을 클릭한다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;FR&quot; style=&quot;color: #333333;&quot;&gt;( Location : &lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;FR&quot; style=&quot;color: #333333;&quot;&gt;https://dl-ssl.google.com/android/eclipse/&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;FR&quot; style=&quot;color: #333333;&quot;&gt; )&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIXljBECFQhwdRb0rSN6lWpYkezoys3xmWvxQVxquHVt847DknGsJ1X5JIQjMz9LCuSzMWi1NwWz_e7KEKXxHKtmmA6mnn2DBMTty75SvNAUvDzUCic7cQw1QCs2I_lSSVqHD6KcNcjP9a/s1600/sdk05.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;341&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIXljBECFQhwdRb0rSN6lWpYkezoys3xmWvxQVxquHVt847DknGsJ1X5JIQjMz9LCuSzMWi1NwWz_e7KEKXxHKtmmA6mnn2DBMTty75SvNAUvDzUCic7cQw1QCs2I_lSSVqHD6KcNcjP9a/s400/sdk05.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;위&lt;span lang=&quot;EN-US&quot;&gt; URL&lt;/span&gt;에서 설치할 수 있는 툴 목록을 가져온다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
Android DDMS, Android Development Tools &lt;/span&gt;두개의 툴 모두 선택한 후&lt;span lang=&quot;EN-US&quot;&gt; Next &lt;/span&gt;버튼을 클릭한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlYE5tqCpdTvd3mlS_Mb70F7yHd9smPlDHyeYg8u27m9c01iidLIMcpwJbuQYwB1EnLXI7odpekj61MCvpEUgRL4NTamoQNk_SfQcpIlTLJSfAAXiJfGSE5MzkkzuWpRWv85NQ2IZlmEZn/s1600/sdk06.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;343&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlYE5tqCpdTvd3mlS_Mb70F7yHd9smPlDHyeYg8u27m9c01iidLIMcpwJbuQYwB1EnLXI7odpekj61MCvpEUgRL4NTamoQNk_SfQcpIlTLJSfAAXiJfGSE5MzkkzuWpRWv85NQ2IZlmEZn/s400/sdk06.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;툴의 의존성을 체크 한 후 문제가 없다면 계속 진행한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
Next&lt;/span&gt;버튼을 눌러&lt;span lang=&quot;EN-US&quot;&gt; License&lt;/span&gt;관련 화면이 나오고 빨간색 테두리의&lt;span lang=&quot;EN-US&quot;&gt; license&lt;/span&gt;에 동의 한다는 메시지를 클릭한 후&lt;span lang=&quot;EN-US&quot;&gt; Finish &lt;/span&gt;버튼을 클릭하여 툴을 설치한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;설치 도중 아래와 같이&lt;span lang=&quot;EN-US&quot;&gt; Warning &lt;/span&gt;메시지가 나올 수 있다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
&lt;/span&gt;서명되지 않은 컨텐츠 어쩌고라는 내용인데 상관하지말고&lt;span lang=&quot;EN-US&quot;&gt; OK&lt;/span&gt;버튼을 눌러 설치를 계속 진행한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguAliC5nbKBDsPKqrgojuI0jMtttiKRkckHWJUimWgpl4ctsRrxGxHQOi3rWJjj2g56ReRtKEiX_rww6Z1BOD7ZDEH5xY0O2er3M2Ty4Leu9xThbQJqBTwpIPHQbgSpEZb0t-WwrS4XDKL/s1600/sdk07.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;121&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguAliC5nbKBDsPKqrgojuI0jMtttiKRkckHWJUimWgpl4ctsRrxGxHQOi3rWJjj2g56ReRtKEiX_rww6Z1BOD7ZDEH5xY0O2er3M2Ty4Leu9xThbQJqBTwpIPHQbgSpEZb0t-WwrS4XDKL/s400/sdk07.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;설치가 완료되면 아래와 같이&lt;span lang=&quot;EN-US&quot;&gt; eclipse&lt;/span&gt;를 재시작하라고 메시지가 나온다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
Yes &lt;/span&gt;버튼을 클릭하여 재시작 한다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;잠시후에 자동으로&lt;span lang=&quot;EN-US&quot;&gt; eclipse&lt;/span&gt;가 실행되니&lt;span lang=&quot;EN-US&quot;&gt; eclipse&lt;/span&gt;를 수동으로 실행시키지 않아도 된다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7ozjT8kWJWHIUVbkKa2H4dxKlh7F3OWaWXmAgdlaH-72AZFr0y8ZwtnqGiyxH8qBdYirGNKL-3rbN74yx-yX7VwCwA9Ij1jSpFbB3QOSKAgsa0HfrvIp7Xtrixcg5e6I0YBdy6ITpRfdn/s1600/sdk08.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;122&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7ozjT8kWJWHIUVbkKa2H4dxKlh7F3OWaWXmAgdlaH-72AZFr0y8ZwtnqGiyxH8qBdYirGNKL-3rbN74yx-yX7VwCwA9Ij1jSpFbB3QOSKAgsa0HfrvIp7Xtrixcg5e6I0YBdy6ITpRfdn/s400/sdk08.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #00456a;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이제 이미 설치해 둔&lt;span lang=&quot;EN-US&quot;&gt; Android SDK&lt;/span&gt;의 경로를 설정해야 한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
Eclipse &lt;/span&gt;메뉴 중 &lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;Window-&amp;gt;Preferences&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;를 클릭하여 나타난 창에서&lt;span lang=&quot;EN-US&quot;&gt; Android&lt;/span&gt;를 선택한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
SDK Location &lt;/span&gt;항목의&lt;span lang=&quot;EN-US&quot;&gt; Browse &lt;/span&gt;버튼을 클릭하여 설치 해 둔&lt;span lang=&quot;EN-US&quot;&gt; SDK &lt;/span&gt;경로를 선택한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWSU-a72z4258vkvfmok_luOAzJBwiDN3Nacl-TEdscmZntQCGn02siQdKzBq-6GNCc8gwimizJXEmHYIdwi43sbSkgAz5In4PUUDIf0L0TiVY3c7nij3lhLyrvLu7fRcrbwvfcAxhhewp/s1600/sdk09.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWSU-a72z4258vkvfmok_luOAzJBwiDN3Nacl-TEdscmZntQCGn02siQdKzBq-6GNCc8gwimizJXEmHYIdwi43sbSkgAz5In4PUUDIf0L0TiVY3c7nij3lhLyrvLu7fRcrbwvfcAxhhewp/s400/sdk09.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이제&lt;span lang=&quot;EN-US&quot;&gt; Android SDK Component&lt;/span&gt;를 설치해야 한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
&lt;/span&gt;아래 화면의 빨간색 테두리 안에 있는 아이콘을 클릭하거나&lt;span lang=&quot;EN-US&quot;&gt; &lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;Windows-&amp;gt;Android SDK and AVD Manager&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;메뉴를 선택하여&lt;span lang=&quot;EN-US&quot;&gt; Android SDK and AVD Manager &lt;/span&gt;창을 오픈한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_hM77-9oz4m1SsdGnVrjJFWiti41i6ZxILOkn1tzGxG1OK5MQSnBmKfnLadOtncIVZEkBH3vpPjAl-0mwNt1qJ4TUQislaykuqRxfOYVZufORjTnmAaYKoZm3Qu-X8S6OHQViy1JbFc0A/s1600/sdk10.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;298&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_hM77-9oz4m1SsdGnVrjJFWiti41i6ZxILOkn1tzGxG1OK5MQSnBmKfnLadOtncIVZEkBH3vpPjAl-0mwNt1qJ4TUQislaykuqRxfOYVZufORjTnmAaYKoZm3Qu-X8S6OHQViy1JbFc0A/s400/sdk10.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;Available Packages&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;에서 빨간색 테두리의 항목을 체크하고&lt;span lang=&quot;EN-US&quot;&gt; Install Selected&lt;/span&gt;를 클릭하여 모든 항목을 설치한다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;꼭 모든 항목을 설치할 필요는 없지만 안드로이드 디바이스들의 버전들이 각각 틀리기 때문에 특정 버전을 타겟으로 하여 개발하고자 한다면 필요로 하기때문에 모든 항목을 설치하기를 권장한다&lt;span lang=&quot;EN-US&quot;&gt;.(2010년 10월 현재 안드로이드 2.2(프로요)가 발매되어 API 8, Version 2.2 까지 다운로드 가능하다.)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4i6aXIoiakMDO9GlK99pJYVN6AZQa-m7k0wU4lHrDohXIArHhHCHrxBUqJnZTBzWVfZSJ4AHqulWIV-HGCe1topT-XlbcqwdbBPlDPaLEAuwMU6jj-o1YKw9d80trWwzGhYLMvwDDwqnp/s1600/sdk11.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;230&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4i6aXIoiakMDO9GlK99pJYVN6AZQa-m7k0wU4lHrDohXIArHhHCHrxBUqJnZTBzWVfZSJ4AHqulWIV-HGCe1topT-XlbcqwdbBPlDPaLEAuwMU6jj-o1YKw9d80trWwzGhYLMvwDDwqnp/s400/sdk11.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;아래 화면과 같이 다시한번 설치 할것인지 확인하는 창이 표시된다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
Accept All &lt;/span&gt;라디오 버튼을 체크하고&lt;span lang=&quot;EN-US&quot;&gt; Install Accepted &lt;/span&gt;버튼을 클릭하여 설치한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
&lt;/span&gt;이때 시간이 꽤 걸린다&lt;span lang=&quot;EN-US&quot;&gt;. 1&lt;/span&gt;시간 정도 지나면 설치가 완료된다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt0CuBd7uOjj0IiDyrGCsP96W575HuGiQH94jgP7bkokpUNexjpSR3V-cyY1zEk1pqW8vuL84hmUMM5cKD0wROvBauKodP8V1V7PUIKPQ6VzESZgzSubdd6LqNe097rB8XD-MRZn-gLDXb/s1600/sdk12.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;266&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt0CuBd7uOjj0IiDyrGCsP96W575HuGiQH94jgP7bkokpUNexjpSR3V-cyY1zEk1pqW8vuL84hmUMM5cKD0wROvBauKodP8V1V7PUIKPQ6VzESZgzSubdd6LqNe097rB8XD-MRZn-gLDXb/s400/sdk12.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;설치가 마무리되고 &lt;span lang=&quot;EN-US&quot;&gt;Installed Packages &lt;/span&gt;에서 설치된&lt;span lang=&quot;EN-US&quot;&gt; Packages&lt;/span&gt;를 확인할 수 있다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg-GDpYLzB-LSv7Pt-Of3khe4Oru3sLBeOMsYGtFUj0n-crTd8HwszqD20lnHJMpcvungI6c5M9jBRjgWSpQ_V96wdxuPiRKSwiojRYXptdVzvi2DY8Z7LT_pwmVe3DlmW6Lkkzsc1NvzJ/s1600/sdk13.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;231&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg-GDpYLzB-LSv7Pt-Of3khe4Oru3sLBeOMsYGtFUj0n-crTd8HwszqD20lnHJMpcvungI6c5M9jBRjgWSpQ_V96wdxuPiRKSwiojRYXptdVzvi2DY8Z7LT_pwmVe3DlmW6Lkkzsc1NvzJ/s400/sdk13.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;Virtual Devices&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;에서&lt;span lang=&quot;EN-US&quot;&gt; AVD(Android Virtual Device)&lt;/span&gt;를 하나 만들어준다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
AVD&lt;/span&gt;가 곧&lt;span lang=&quot;EN-US&quot;&gt; Emulator&lt;/span&gt;이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;br /&gt;
&lt;/span&gt;빨간색 테두리의&lt;span lang=&quot;EN-US&quot;&gt; New &lt;/span&gt;버튼을 클릭하여&lt;span lang=&quot;EN-US&quot;&gt; Create new AVD &lt;/span&gt;창을 띄운다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;br /&gt;
Name, Target, SD Card&lt;/span&gt;용량&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;해상도&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;하드웨어 속성을 설정 할 수 있다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br /&gt;
&lt;/span&gt;기본적으로&lt;span lang=&quot;EN-US&quot;&gt; Name&lt;/span&gt;과&lt;span lang=&quot;EN-US&quot;&gt; Target&lt;/span&gt;을 설정한 뒤&lt;span lang=&quot;EN-US&quot;&gt; Create AVD &lt;/span&gt;버튼을 클릭하여&lt;span lang=&quot;EN-US&quot;&gt; AVD&lt;/span&gt;를 생성한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGLI-sRbgIRQyUJyV-O093x0bWszFV8zTdTl6D05HbAtAA9nGHV9rde5FK-SaTthZk-jVqtZsqG_hLc4cLXGfB0GzkXPZ70IwblwU5AlvmCbxtuyQdDCK1tHXDYSV14Np-4YM8LgWp1u7l/s1600/sdk14.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;303&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGLI-sRbgIRQyUJyV-O093x0bWszFV8zTdTl6D05HbAtAA9nGHV9rde5FK-SaTthZk-jVqtZsqG_hLc4cLXGfB0GzkXPZ70IwblwU5AlvmCbxtuyQdDCK1tHXDYSV14Np-4YM8LgWp1u7l/s400/sdk14.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;left&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;AVD &lt;/span&gt;생성 결과 다이얼로그가 나타나면,&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;font: normal normal normal 7pt/normal &#39;Times New Roman&#39;;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;생성된&lt;span lang=&quot;EN-US&quot;&gt; AVD&lt;/span&gt;를 선택한 후&lt;span lang=&quot;EN-US&quot;&gt; Start&lt;/span&gt;버튼을 클릭하여&lt;span lang=&quot;EN-US&quot;&gt; AVD &lt;/span&gt;구동하여 보자&lt;span lang=&quot;EN-US&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;처음&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt; AVD&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;구동하면 약간의 시간이 걸린다&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;개발 시 한 번 실행시켜두고 끄지않고&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt; Build&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;하면서 확인해보는 것이 좋다&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;아래는&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt; AVD&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;구동 화면이다&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #333333;&quot;&gt;.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoURqusw89vgGDtVDj-B_L6il9GvSTW7Rr2ds2IfsatNpWfZ5zDs-PL5XRz3WXhurs1EbCXc8h6wtyuq9QNPIoBQE9NEwYGswhIXhMCH9Kl6pW7Pr707ItuJ_xbYC7HwqxmafrkxHNeAso/s1600/sdk15.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;278&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoURqusw89vgGDtVDj-B_L6il9GvSTW7Rr2ds2IfsatNpWfZ5zDs-PL5XRz3WXhurs1EbCXc8h6wtyuq9QNPIoBQE9NEwYGswhIXhMCH9Kl6pW7Pr707ItuJ_xbYC7HwqxmafrkxHNeAso/s400/sdk15.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이후 어플리케이션을 만들고 그것을 에뮬레이터에서 실행하면, 바로 위 화면에서 작성한 애플리케이션이 실행되게 된다.</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/6365152503473485431/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_5762.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/6365152503473485431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/6365152503473485431'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_5762.html' title='안드로이드 설치'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCuL95vNlLflvayWCeeoT84jOQakwmiQvWUiI3Wn75qAqeRByYs56EwOznQs8MDhKoKMmwYzlBlDTE_jGQCLISfVOH5vvSArwTDg52alTs71AFPsoibou7G2YrPr90MdOyvFifUjymBBQu/s72-c/jdk01.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-2060495767228430595</id><published>2010-10-26T20:50:00.000-07:00</published><updated>2010-11-06T20:30:45.493-07:00</updated><title type='text'>애플리케이션 기본 개념</title><content type='html'>&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;- 안드로이드 애플리케이션 프레임웍&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; android.*: 안드로이드 응용프로그램 기본요소&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;com.google.android.maps: Google 지도 인터페이스(API 키 필요)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;dalvik.*: 디버깅 등을 위한 Dalvik 가상기계 지원&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;java.*: 핵심 클래스들과 네트워킹,보안,수학 등을 위한 일반 유틸리티&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;javax.*: 암호화 지원&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;junit.*: 단위검사 지원&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;org.apache.http.*: HTTP 프로토콜 지원&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;org.json: JSON(JavaScript Object Notation) 지원&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;org.w3c.com: DOM 코어(XML, HTML)을 위한 W3C Java 바인딩&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;org.xml.sax.*: XML 지원을 위한 SAX(Simple API for XML)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;org.xmlpull.*: 고성능 XML 파싱&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;- 안드로이드 개발도구&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;에뮬레이터: 컴퓨터상에서 스마트폰의 행태를 구현해 놓은 것이 에뮬레이터이며, SDK 설치후 마지막으로 띄운 것이다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Dalvik 디버그 모니터 서비스(DDMS): 안드로이드 기기(에뮬레이터든 실제 하드웨어이든)에 접근해서 프로세스,스레드,힘,프로세스를 디버거에 붙이는 등의 작업이 가능.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;안드로이드 디버그 브리지(ADB): JDK, 디버거와 기기(또는 에뮬레이터)간의 브리지 개념이다. &amp;nbsp;DDMS와 안드로이드 플러그인 모두 이 ADB를 통해 기기와 상호작용한다. 스트레스 테스트를 위한 Application Exerciser Monkey, 로깅시스템(logcat) 등의 기능도 지원한다.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;패키징 도구(aapt: Android Asset Packaging Tool)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Draw Nine-patch: 9x9 PNG 이미지 생성&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-large;&quot;&gt;- 안드로이드 기본 구동원리&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
안드로이드 애플리케이션은 자바 언어로 작성된다. 컴파일된 자바 코드-애플리케이션에 필요한 데이터와 리소스 파일과 함께-는 aapt 툴로 묶여서 안드로이드 패키지(.apk로 끝나는 아카이브 파일)가 된다. 이 파일이 애플리케이션을 배포하고 이동 기기에 설치하는 수단이다; 사용자는 이 파일을 기기에 다운로드한다. 하나의 .apk 파일에 있는 모든 코드를 하나의 애플리케이션으로 간주한다.&lt;br /&gt;
&lt;br /&gt;
다음과 같은 여러 면에서 각 안드로이드 애플리케이션은 자신만의 세계를 가지고 있다:&lt;br /&gt;
• 모든 애플리케이션은 자신만의 리눅스 프로세스에서 실행된다. 안드로이드는 애플리케이션 코드가 실행될 필요가 있을 때 프로세스를 시작하고, 더이상 필요하지 않거나 다른 애플리케이션이 시스템 자원을 필요로 할 때 그 프로세스를 끝낸다.&lt;br /&gt;
• 각 프로세스는 자신만의 자바 가상머신을 갖고 있어서, 애플리케이션은 다른 애플리케이션 코드와는 독립된 상태로 실행된다.&lt;br /&gt;
• 디폴트로, 각 애플리케이션은 고유한 리눅스 사용자 ID를 갖고 있다. 그 사용자, 즉 그 애플리케이션만이 애플리케이션을 볼 수 있는 퍼미션을 가진다--하지만 권한을 다른 애플리케이션에 줄 수 있는 수단도 있다. 두 애플리케이션이 같은 사용자 ID를 갖는 것이 가능하며, 그 경우 서로의 파일을 볼 수 있다. 시스템 리소스의 측면에서는, 같은 ID를 가진 애플리케이션이 같은 리눅스 프로세스를 써서 같은 VM을 공유할 수도 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
애플리케이션의 기본 개념을 구성하는 핵심 요소는 다음과 같은 네 가지가 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;- 애플리케이션 컴포넌트&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
시스템이 실행할 수 있는 컴포넌트는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
액티비티: 단말기 화면에 보여지는 사용자 인터페이스. 보통 Activity 클래스의 서브클래스로 작성한다.&lt;br /&gt;
&lt;br /&gt;
서비스: 화면에 나타나지 않고 지정된 시간 동안 백그라운드에서 실행된다. Service 클래스의 서브클래스로 작성한다.&lt;br /&gt;
&lt;br /&gt;
브로드캐스트 수신자: 외부의 방송을 수신하고 그에 반응하는 작업을 한다. 대부분 방송 송신은 시스템 코드-예를 들면 시간대역 변경, 배터리 낮음, 사진 찍혔음 등-에서 발생한다. 모든 수신자는 BroadcastReceiver 클래스의 서브클래스로 작성한다.&lt;br /&gt;
&lt;br /&gt;
컨텐트 제공자: 애플리케이션 데이터를 다른 애플리케이션이 사용할 수 있도록 한다. 데이터는 파일시스템, SQLite 데이터베이스 또는 다른 저장소에 저장되어 있을 수 있다. ContentProvider 클래스로 제공할 데이터를 정의하고, ContentResolver 클래스로 제공자가 제공하는 자료를 받는다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;- 액티비티와 태스크&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
태스크는 사용자가 애플리케이션이라고 생각하는 것이다. 이 태스크는 연결되어서 스택에 정렬된 액티비티의 집합이다. 스택상의 루트 액티비티는 태스크를 시작한 액티비티-보통 사용자가 애플리케이션 론처에서 실행한 액티비티-이다. 스택의 최상위에 있는 액티비티는 사용자가 현재 사용하는 액티비티이다. 실행 중인 액티비티가 새로운 액티비티를 실행시키면, 새로운 액티비티가 스택에 들어간다. 이전 액티비티는 스택에 남아 있다. 이 상황에서 사용자가 BACK 키를 누르면, 현재 액티비티는 스택에서 튀어나가고, 이전 액티비티가 다시 실행 액티비티가 된다.&lt;br /&gt;
앞서 설명한 것이 액티비티와 태스크의 기본 작동방식이다. 하지만 그 방식의 거의 모든 부분을 변경할 수 있다. 태스크와 액티비티의 연관관계, 태스크 내에서 액티비티의 행동방식은 액티비티를 시작시킨 인텐트 객체와 매티페스트에 있는 그 액티비티의 &amp;lt;activity&amp;gt; 엘리먼트에 설정된 속성간의 상호작용에 의해 제어된다. 따라서 요청자나 응답자나 일어나는 일에 관여할 수 있다.&lt;br /&gt;
&lt;br /&gt;
주요 인텐트 플래그로는:&lt;br /&gt;
FLAG_ACTIVITY_NEW_TASK&lt;br /&gt;
FLAG_ACTIVITY_CLEAR_TOP&lt;br /&gt;
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED&lt;br /&gt;
FLAG_ACTIVITY_SINGLE_TOP&lt;br /&gt;
&lt;br /&gt;
주요&amp;lt;activity&amp;gt; 속성으로는:&lt;br /&gt;
taskAffinity&lt;br /&gt;
launchMode&lt;br /&gt;
allowTaskReparenting&lt;br /&gt;
clearTaskOnLaunch&lt;br /&gt;
alwaysRetainTaskState&lt;br /&gt;
finishOnTaskLaunch&lt;br /&gt;
&lt;br /&gt;
등이 있다. 이들 플래그와 속성이 무엇을 하는지, 어떻게 상호작용하는지, 고려사항은 어떤 것이 있는지는 다음 장에서 설명한다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;- 프로세스와 쓰레드&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
애플리케이션의 첫 번째 컴포넌트가 실행될 때, 안드로이드는 하나의 쓰레드에서 하나의 리눅스 프로세스를 실행시킨다. 디폴트로, 모든 컴포넌트는 그 프로세스와 쓰레드에서 실행된다.&lt;br /&gt;
그러나, 컴포넌트가 서로 다른 프로세스에서 실행되고, 특정 프로세스가 추가된 쓰레드에서 실행되도록 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;- 컴포넌트 생명 주기&lt;/span&gt;&lt;br /&gt;
애플리케이션 컴포넌트는 생명주기를 갖고 있다--인텐트에 반응하여 안드로이드 인스턴스가 생성될 때 시작하여 인스턴스가 소멸될 때 종료된다. 그 사이에, 활성-비활성 상태를 오가며, 액티비티인 경우 화면에 나타나고 사라지는 상태를 반복한다. 이런 생명주기를 갖는 컴포넌트는 액티비티, 서비스, 브로드캐스트 수신자 등이 있다.&lt;br /&gt;
&lt;br /&gt;
생명주기 다이어그램은 다음과 같다.(http://developer.android.com 참조)&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://developer.android.com/images/activity_lifecycle.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;http://developer.android.com/images/activity_lifecycle.png&quot; width=&quot;489&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/2060495767228430595/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_5966.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/2060495767228430595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/2060495767228430595'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_5966.html' title='애플리케이션 기본 개념'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-4947999748914036178</id><published>2010-10-26T20:04:00.000-07:00</published><updated>2010-11-07T16:23:31.781-08:00</updated><title type='text'>안드로이드는 무엇인가?</title><content type='html'>안드로이드(Android)는 휴대전화기를 비롯한 스마트폰 등, 모바일 디바이스를 위한 운영체제와 미들웨어 그리고 핵심 어플리케이션을 포함하고 있는 소프트웨어 스택이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;안드로이드의 특징&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
안드로이드는 이동통신 기기를 위한 소프트웨어 집합으로 운영체제,미들웨어,키 애플리케이션으로 구성된다. 안드로이드 SDK에는 자바 프로그래밍 언어를 사용하여 안드로이드 플랫폼에서 애플리케이션 개발을 하는데 필요한 툴과 API 들이 들어 있다. 주요 특징은 다음과 같다.&lt;br /&gt;
• 애플리케이션 프레임웍- 컴포넌트의 재사용 및 재배치 가능&lt;br /&gt;
• 달빅 가상 머신 - 모바일 기기에 최적화된 실행 엔진&lt;br /&gt;
• 통합 브라우저 - 오픈소스 WebKit 엔진에 기반&lt;br /&gt;
• 최적화 그래픽 - 2D 그래픽 라이브러리; OpenGL ES 1.0 스펙 기반 3D 그래픽&lt;br /&gt;
• SQLite - 구조화된 데이터 저장소&lt;br /&gt;
• Media 지원 - 오디오,비디오,정지화상포맷(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)&lt;br /&gt;
• GSM 통신(하드웨어에 따라 다름)&lt;br /&gt;
• Bluetooth, EDGE, 3G, WiFi (하드웨어에 따라 다름)&lt;br /&gt;
• Camera, GPS, compass, and accelerometer(하드웨어에 따라 다름)&lt;br /&gt;
• 풍부한 개발 환경 - 기기 에뮬레이터, 디버깅 툴, 메모리 및 성능 프로파일링, Eclipse IDE 플러그인&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;안드로이드 아키텍처&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
(http://developer.android.com 참조)&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://developer.android.com/images/system-architecture.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;285&quot; src=&quot;http://developer.android.com/images/system-architecture.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;-Applications&lt;/span&gt;&lt;br /&gt;
이메일 클라이언트, SMS 프로그램, 달력, 지도, 브라우저, 컨택트 등의 핵심 애플리케이션을 제공한다. 모든 애플리케이션은 Java 언어로 작성되어 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;-Application Framework&lt;/span&gt;&lt;br /&gt;
서비스 및 시스템으로 제공되는 프레임워크:&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;A rich and extensible set of Views: 리스트,그리드,텍스트박스,버튼, 그리고 브라우저에 이르기까지 애플리케이션을 만드는데 사용.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Content Providers: 다른 애플리케이션의 데이터에 접근하거나 자신의 데이터를 공유하는데 사용.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;A Resource Manager: 문자열,그래픽,레이아웃 파일 등 비코드 자원을 액세스하는데 사용.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;A Notification Manager: 상태바에 알림내용을 표시하는데 사용.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;An Activity Manager: 애플리케이션의 생애주기를 관리하고 메뉴이동시 이전화면으로 돌아갈 수 있도록 지원.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;-Libraries&lt;/span&gt;&lt;br /&gt;
안드로이드에는 시스템의 여러 컴포넌트가 사용하는 C/C++ 라이브러리 세트들이 포함되어 있다. 사용자들은 안드로이드 어플리케이션 프레임웍을 통해 이들 라이브러리들을 이용할 수 있다. 핵심 라이브러리들은 다음과 같다:&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;System C library - BSD 기반 표준 C 시스템 라이브러리(libc)를 적용한 것이며, 리눅스 기반 임베드 기기에 최적화되어 있다.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Media Libraries - PacketVideo의 OpenCORE 기반 라이브러리; 여러 인기있는 오디오 및 비디오 포맷의 저장, 재생을 지원하고, MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 등 정적 이미지 파일도 지원한다.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Surface Manager - 디스플레이용 서브시스템에 대한 액세스 관리 및 복수 애플리케이션들의 2D, 3D 그래픽 레이어 처리 지원&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LibWebCore - 안드로이드 브라우저 및 내장 가능 웹 뷰를 지원하는 강력한 최신 웹 브라우저.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SGL - 2D 그래픽 엔진&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;3D libraries - OpenGL ES 1.0 APIs 기반 라이브러리; 하드웨어 3D 가속 및 최적화 소프트웨어 3D 래스터링 지원.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;FreeType - 비트맵 및 벡터 폰트 렌더링&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SQLite - 어느 어플리케이션에서나 사용 가능한 경량의 강력한 관계형 데이터베이스.&lt;br /&gt;
&lt;br /&gt;
-Android Runtime&lt;br /&gt;
모든 안드로이드 애플리케이션은 자신만의 프로세스로 달빅 가상 머신상의 하나의 인스턴스로서 구동된다. 달빅은 기기가 여러 VM들을 효율적으로 구동하도록 작성되어 있다. 달빅 VM(가상머신)은 최소의 메모리로 작동할 수 있도록 최적화된 달빅 실행 파일(.dex)을 실행시킨다. VM은 레지스터 기반이고, 자바 컴파일러가 컴파일하고 &quot;dx&quot; 툴로 .dex 포맷으로 변환된 클래스를 실행시킨다.&lt;br /&gt;
달빅VM은 쓰레딩이나 저수준 메모리 관리와 같은 기반 기능 지원시에는 Linux 커널에 의존한다.&lt;br /&gt;
&lt;br /&gt;
-Linux Kernel&lt;br /&gt;
안드로이드는 Linux 버전 2.6에 의존하여 보안,메모리관리,프로세스관리,네트웍 스택,드라이버 모델 등의 핵심 시스템 서비스를 제공한다. 이 커널은 또한 하드웨어와 소트트웨어 스택 사이의 추상 계층 역할을 한다.</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/4947999748914036178/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_6548.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/4947999748914036178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/4947999748914036178'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_6548.html' title='안드로이드는 무엇인가?'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-2091377075385119270</id><published>2010-10-26T19:47:00.000-07:00</published><updated>2010-10-26T19:47:47.162-07:00</updated><title type='text'>안드로이드의 정의</title><content type='html'>스마트폰의 OS 중 하나.&lt;br /&gt;
Java를 기본 프로그램 언어로 하여 스마트폰 프로그램 개발에 적합한 프레임워크로 구성.&lt;br /&gt;
버전 1.0부터 시작하여 2010년 2월 현재 2.1까지 출시되어 있다.&lt;br /&gt;
&lt;br /&gt;
안드로이드는 개발자들이 자바(Java) 언어로 어플리케이션을 작성 할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다. 또한 안드로이드 SDK를 통해 어플리케이션을 개발하기 위해 필요한 각종 도구들과 API를 제공한다.&lt;br /&gt;
&lt;br /&gt;
안드로이드는 리눅스 커널 위에서 동작하며, 다양한 안드로이드 시스템 컴포넌트에서 사용되는 C/C++ 라이브러리들을 포함하고 있다.&lt;br /&gt;
&lt;br /&gt;
안드로이드는 기존의 자바 가상 머신 과는 다른 가상 머신인 달빅 가상 머신을 통해 자바로 작성된 어플리케이션을 별도의 프로세스에서 실행하는 구조로 되어있다.&lt;br /&gt;
&lt;br /&gt;
2005년 안드로이드 사를 구글에서 인수한 후 2007년 11월, 안드로이드 플랫폼을 휴대전화용 OS로서 무료 공개한다고 발표한 후 48개의 하드웨어, 소프트웨어, 통신 회사가 모여 만든 OHA(Open Handset Alliance)에서 공개 표준을 위해 개발하고 있다. 구글은 안드로이드의 모든 소스 코드를 오픈 소스 라이센스인 아파치 라이센스로 배포하고 있다</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/2091377075385119270/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_26.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/2091377075385119270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/2091377075385119270'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post_26.html' title='안드로이드의 정의'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643157414319607888.post-2454935132473831682</id><published>2010-10-26T19:46:00.000-07:00</published><updated>2010-10-27T21:20:01.642-07:00</updated><title type='text'>안드로이드의 모든 것에 대해 연재를 시작합니다.</title><content type='html'>그 동안 모아 놓았던 안드로이드 관련 내용 및 앞으로 수집/공부/개발하는 내용을 연재합니다.</content><link rel='replies' type='application/atom+xml' href='http://hifive42.blogspot.com/feeds/2454935132473831682/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/2454935132473831682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643157414319607888/posts/default/2454935132473831682'/><link rel='alternate' type='text/html' href='http://hifive42.blogspot.com/2010/10/blog-post.html' title='안드로이드의 모든 것에 대해 연재를 시작합니다.'/><author><name>wawaguru</name><uri>http://www.blogger.com/profile/18302799383272054812</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>