440 likes | 664 Views
Android 4 장 애플리케이션 작성. UNS lab 김 선필 spchap@gmail.com. Hello, World. 프로젝트 생성. File New Project. 프로젝트 생성. Application name Appear on the device Package name Package namespace of the project source code Create Activity Stub class name generated Min SDK Version
E N D
Android 4장애플리케이션 작성 UNS lab 김 선필 spchap@gmail.com
프로젝트 생성 File New Project
프로젝트 생성 • Application name • Appear on the device • Package name • Package namespace of the • project source code • Create Activity • Stub class name generated • Min SDKVersion • Minimum API level required • by the app
액티비티 src Now.java
액티비티 분석 Now.java 코드를 변경 WHY?
액티비티 분석 Now.java 코드를 변경
액티비티 분석 Now.java 코드를 변경
액티비티 분석 Now.java 코드를 변경
Android 5장XML 레이아웃 UNS lab 김 선필 spchap@gmail.com
XML? extensible markup language License – Free Platform - Independent 세계적 표준 언어 하나의 XML데이터를 다른 형태로 표현 ex) html , txt , wml , pdf등 5. XML은 구조적v데이터를 쉽게 표현
Android레이아웃 • Instantiate layout elements at runtime • 코딩을 통해 layout과 버튼 등의 객체를 구성 • 절차적 디자인 방식 • Declare UI elements in XML • XML을 이용해서 layout 구성 • 선언적 디자인 방식 • 선언 후에는 runtime에 각 객체를 조정할 수 있음 • 선언적 방식의 장점 • 애플리케이션의 외형과 동작을 구분할 수 있음 • 코드와 디자인의 분리 • 자바 코드에 비해 짧고 이해하기 쉬움
XML 기반 레이아웃 각 위젯이 서로 연결되고 포함되는 관계를 XML 형태로 정의 안드로이드는XML 레이아웃을 리소스 파일로 인식하기 때문에 XML 레이아웃 파일은 안드로이드 내부의 res/layout 디렉토리에 보관 각 XML 레이아웃 파일에 정의된 element 트리구조를 보면 실제 화면에 나타나는 위젯과 컨테이너의 구조를 그대로 나타냄 android:textStyle=“bold” Hello World Hello World
XML로레이아웃을 지정하는 이유 Eclipse 나 DroidDraw같은 GUI 화면 디자인 프로그램에서 화면을 좀 더 쉽게 생성하고 관리하겠다는 목표 1. 애플리케이션의 외형과 동작을 구분할 수 있음 ex) 코드와 디자인의 분리 2. 자바 코드에 비해 짧고 이해하기 쉬움 3. 자바로 작성된 기능에 오류가 생기는 문제를 예방 4. 구성된 화면을 쉽게 가져와 사용할 수 있음 DroidDraw : http://droiddraw.org/
XML 레이아웃 파일 구조 버튼에 대한 화면 구성 내역을 XML로 표현 Android attribute를 사용하겠다는 namespace 선언 • android:id • 6장에서 설명 • android:text • 버튼이 처음 생성됐을 때 • android:layout_width • android:layout_height • 7장에서 설명
XML 레이아웃 파일 구조 버튼에 대한 화면 구성 내역을 XML로 표현
XML 레이아웃 파일 구조 nowredux.xml NowRedux.xml
Element ID 자바 코드에서 호출해 사용하려는 모든 element에는 반드시 Android:id속성으로 id를 지정해야 함.
자바 코드와 연결하는 방법 R.java
자바 코드와 연결하는 방법 @+id를 지정한 항목을 찾아 오려면 Java 코드에서 findViewById() 메소드를 사용
자바 코드와 연결하는 방법 Java 코드 (src) R.java 리소스 (res)
Android 6장기본 위젯 UNS lab 김 선필 spchap@gmail.com
레이블 안드로이드SDK에서 Label은 TextView 클래스로 구현 하지만 안드로이드activity를 작성할 때는 XML layout을 작성 TextView클래스 속성 1. android:typeface속성 : 글꼴의 종류를 지정 2. android:textStyle속성 : 글꼴 속성을 지정 (ex : bold, italic) 3. android:textColor속성 : 글꼴의색깔을 16진수 RGB 포맷으로 지정
이미지 • Activity에 이미지 파일을 간단하게 올릴 수 있는 두가지 위젯을 제공 • ImageView – 이미지를 넣을 수 있는 TextView클래스 • ImageButton – 이미지를 넣을 수 있는 Button 클래스 • ImageView와 ImageButton모두 XML layout file에서 • Android:src속성에 어떤 이미지 파일을 사용할지 지정 • res/drawable • Uri를 알고 있다면 setImageURI() 메소드 사용
입력필드 • 안드로이드SDK에서입력필드는 EditText클래스로 구현 • EditText– TextView클래스의 하위 클래스 EditText클래스 속성 1. android:autoText속성 : 자동 철자 교정 기능 사용할 것인지 지정 2. android:capitalize속성: 첫 글자를 대문자로 자동 변경할지를 지정 3. android:digits속성 : 특정 숫자만 입력받을 수 있게 제한 여부 4. android:singleLine속성 : 한줄짜리OR 여려줄 5. android:numeric속성 : 숫자만 입력 받음 6. android:password속성 : 암호 입력창
입력필드- 실행화면 AutoCompleteTextView클래스 – 텍스트를 입력하는 동안 완성된 단어를 보여줌
체크박스 • 체크되지 않은 상태 • 체크된 상태 • 안드로이드SDK에서체크박스를 CheckBox클래스로 구현 • CheckBox클래스는 TextView클래스의 하위 클래스 CheckBox클래스 속성 isChecked() 체크박스가 현재 체크된 상태인지를 확인 setChecked() 체크 박스의 체크 상태를 직접 지정 Toggle() 체크 박스의 체크 상태를 변경
라디오 버튼 체크박스와 비슷함 여러 개의 RadioButton인스턴스를 RadioGroup인스턴스로 묶어 사용 RadioButton클래스 속성 Check() 메소드: 특정 ID의 라디오 버튼을 체크 가능 clearCheck() 메소드: 특정 ID의 라디오 버튼의 체크 상태를 품 getCheckedRadioButtonId() 메소드: 선택된라디오 버튼 ID 알아냄
뷰 모든 위젯은View 클래스를 상속 받고 있음