CHAP 3. 첫번째 애플리케이션
애플리케이션의 구성
패키지 폴더의 설명
자동 생성된 소스 관찰
자동 생성된 소스 관찰
자동 생성 앱의 실행 결과
package kr.co.company.hello; 일반적으로 인터넷의 도메인 이름을 역순으로 사용
import android.support.v7.app.ActionBar…
public class MainActivity extends ActionBarActivity { ... } 클래스의 정의 Activity로부터 상속받았으므로 액티비티가 된다. 액티비티는 안드로이드에서 애플리케이션을 구성하 는 4가지의 컴포넌트 중의 하나이다.
@Override 어노테이션의 하나 어노테이션은 컴파일러에게 추가적인 정보를 주는 것 어노테이션은 컴파일러에게 추가적인 정보를 주는 것 @Override은 메소드가 부모 클래스의 메소드를 재 정의(오버라이드)하였다는 것을 나타낸다.
public void onCreate() { … } 모든 초기화와 사용자 인터페이스 설정이 여기에 들 어간다.
super.onCreate(savedInstanceState); 위의 문장은 부모 클래스인 ActionBarActivity 클래 스의 onCreate()를 호출하는 문장
setContentView(R.layout.activity_main); R.layout.activity_main은 activity_main.xml 파일을 나타낸다.
자동 생성된 소스 변경
버튼의 텍스트 변경
onClick 속성 변경
소스 추가
변경된 앱 실행
TIP 필요한 패키지를 가장 쉽게 프로젝트에 추가하려면 [File]->[Settings]->[Editor]->[General]->[Auto Import]로 가서 “Add unambigious imports on the fly” 옵션과 "Optimize imports on the fly“ 옵션을 체크하면 된다.
안드로이드 애플리케이션의 실행이 시작되는 곳 안드로이드에는 main()이 없음. 액티비티별로 실행된다. 액티비티 중에서는 onCreate() 메소드가 가장 먼저 실행된다.
XML을 이용하여서 사용자 인터페이스 기술 사용자 인터페이스 작성 방법 코드를 사용하는 방법(기존의 자바) XML을 사용하는 방법(안드로이드 선호 방법) 안드로이드에서는 UI 화면의 구성을 XML을 이용하 여서 선언적으로 나타내는 방법을 선호 애플리케이션의 외관과 애플리케이션의 로직을 서로 분리 빠르게 UI를 구축
일반적인 애플리케이션 작성 절차 사용자 인터페이스 작성(XML) 자바 코드 작성(JAVA) 매니페스트 파일 작성(XML)
XML을 이용한 사용자 인터페이스 작성 코드로 작성된 UI를 XML로 표현해보면 TextView tv = new TextView(this); tv.setText("Hello, world!");
XML을 이용한 사용자 인터페이스 작성 UI 컴포넌트들은(코드에서는 클래스로 표현) XML의 하나의 요소로 표현된다. TextView 컴포넌트는 <TextView ... /> 요소로 표현 된다. (코드에서는 TextView tv … 클래스로 표현)
XML 파일의 분석 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/textview" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Hello, world!" />
<TextView>의 속성 설명
XML 시작 태그로 시작되어 종료 태그로 끝나는 논리적인 구성 요소를 요소(element) <Greeting>Hello, world.</Greeting>가 요소 속성(attribute)는 요소의 속성으로서 “이름/값”의 쌍으로 구성 <img src="madonna.jpg" alt='by Raphael'/>에서는 img 요소는 src와 alt라는 2개의 속성을 가진다.
XML 파일의 위치
XML파일과 코드와의 연결
실행 결과
코드에서 리소스를 참조하는 방법
리소스 안드로이드에서 레이아웃, 이미지, 문자열 들을 리소 스로 취급
코드와 리소스를 분리하는 이유 안드로이드가 탑재된 장치들이 다양해지면서 언어 나 화면 크기에 따라서, 리소스를 다르게 하는 것이 필요
문자열 리소스 문자열도 XML로 기술하는 것이 바람직하다. 영어 버전, 한국어 버전, …
매니페스트 파일
매니페스트 파일의 분석
여러 가지 형식의 앱
실행 결과
Summary 애플리케이션은 컴포넌트들의 조합으로 만들어진다. 코드와 리소스는 철저하게 분리된다. 코드와 리소스는 개발 도구에 의하여 자동으로 생성 되는 R.java에 의하여 서로 연결된다.