CHAP 3. 첫번째 애플리케이션 예제 #1: text 문자를 출력 예제 #2: UI를 XML로 표현 – main.xml

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

Android Tutorial 안드로이드 SDK 설치 및 기초 프로그래밍 강좌입니다 서울대학교 네트워크 융합 및 보안 연구실 권 윤
CHAP. 2 안드로이드 개발 도구 설치. © 2012 생능출판사 All rights reserved 개발 과정의 개요.
Unlocking Android 안드로이드 패키지 (1/2) 2 Unlocking Android 안드로이드 패키지 (2/2) 3.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
그림으로 쉽게 설명하는 안드로이드 프로그래밍
액티비티와 리소스.
CHAP 19. 구글맵.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Power Java 제3장 이클립스 사용하기.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
최윤정 Java 프로그래밍 클래스 상속 최윤정
Java Seminar 6.
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
첫 번째 애플리케이션 첫째 마당 - Chapter 03 Do It! 안드로이드 앱 프로그래밍 Jun. 2013
02. 처음으로 만드는 안드로이드 응용 프로그램 제목. 02. 처음으로 만드는 안드로이드 응용 프로그램 제목.
Power Java 제2장 자바 개발 도구.
CHAP 24. nfc와 앱위젯.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
CHAP 11. 액티비티와 인텐트.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
Chap08 다중 스레드 8.1 스레드 개요 8.2 Thread 클래스와 스레드 생명주기 8.3 스레드 생성과 사용
Visual Basic .NET 처음 사용하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
WinCE Device Driver 실습 #3
Power Java 제14장 배치 관리자.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
10장. 예외처리.
자바 5.0 프로그래밍.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
CHAP 12. 리소스와 보안.
[INA470] Java Programming Youn-Hee Han
Method & library.
자바응용.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
CHAP 3. 첫번째 애플리케이션.
CHAP 5. 레이아웃.
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
자바 5.0 프로그래밍.
CHAP 21. 전화, SMS, 주소록.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
OpenCV 설정 2.21 만든이 딩딩.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
15강_액티비티 액티비티란? 새로운 액티비티로 전환 생명주기 화면방향(Orientation)
Power Java 제14장 배치 관리자.
Platform Builder 사용법.
CHAP 5. 메뉴와 대화상자.
JAVA 프로그래밍 16장 JNLP.
BoardGame 보드게임 따라가기.
20 XMLHttpRequest.
Presentation transcript:

CHAP 3. 첫번째 애플리케이션 예제 #1: text 문자를 출력 예제 #2: UI를 XML로 표현 – main.xml 예제 #3: string을 resource로 표현 – string.xml -> 코드 독립성/유지보수

마법사를 이용한 예제 프로그램 [File]->[New]->[Android Application Project] 메뉴 응용프로그램 이름 프로젝트 이름 페키지 이름 애플리케이션이 실행될 수 있는 최소 SDK 버전 컴파일 버전 장치의 죄대 SDK 버전

마법사를 이용한 예제 프로그램

아이콘 지정 대화 상자

액티비티 종류 지정

액티비티 이름

코드 입력

애플리케이션 실행

에뮬레이터 동작

애플리케이션 실행 화면

애플리케이션의 구성

패키지 폴더의 설명

실제 장치와의 연결 USB 드라이버 설치: 이클립스가 실제장치를 인식함. 삼성 통합 USB 드라이버 http://www.samsung.com/sec/support/pcApplica tion/USB/ Android 장치에서 "USB 디버깅"을 항목을 켠다. 환경설정>개발자옵션>USB 디버깅 애플리케이션 실행시: 이클립스에서 실행하기를 원 하는 장치 선택 - Device Chooser 화면

USB 디버깅

실제 장치에서 실행하기

자동 생성된 코드를 수정 (예제 #1) “자바” 과목에서 학습하였던 친근한 방식으로 화면 을 생성하여 보자. 코드를 사용하여서 사용자 인터페이스(UI)를 생성하 여 본다.

수정된 소스 onCreate() : chap 11 Android는 onCreate()를 호출하여 액티비티 객체 생성 딱 한번만 실행되는 초기화 코드 포함

TIP 필요한 패키지를 가장 쉽게 프로젝트에 추가하는 방 법은 Ctrl-Shift-O 를 누르는 것이다. -> 이클립스가 자동으로 필요한 패키지를 찾아서 import 문을 추가하여 준다. 앞으로는 무조건 소스만 입력한 후에 Ctrl-Shift-O를 눌러보자.

실행 화면

package kr.co.company.hello; 클래스 이름의 충돌을 막기위해 도안됨 일반적으로 인터넷의 도메인 이름을 역순으로 사용

import android.app.Activity;

public class MainActivity extends Activity { ... } 클래스의 정의 Activity로부터 상속 받았으므로 액티비티가 된다. 액티비티는 안드로이드에서 애플리케이션을 구성하 는 4가지의 컴포넌트 중의 하나이다.

@Override 어노테이션의 하나 어노테이션은 컴파일러에게 추가적인 정보를 주는 것 어노테이션은 컴파일러에게 추가적인 정보를 주는 것 @Override은 메소드가 부모 클래스의 메소드를 재 정의(오버라이드)하였다는 것을 나타낸다.

public void onCreate() { … } 모든 초기화와 사용자 인터페이스 설정이 여기에 들 어간다. ->Chap 11. 일시 중단되었던 앱을 다시 실행시키면 이전 상태에 서 실행됨 ->매개변수: savedInstanceState

super.onCreate(…); 부모 클래스인 Activity 클래스의 onCreate()를 호출

TextView tv = new TextView(this); TextView는 안드로이드에서 제공하는 UI의 컴포넌 트 객체로서 와 같이 화면에 텍스트를 표 시할 때, 사용한다.

setContentView(tv); 액티비티의 화면을 tv로 설정

복습 package kr.co.company.hello; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello, world!"); setContentView(tv); }

안드로이드 애플리케이션의 실행이 시작되는 곳 안드로이드에는 main()이 없음. 액티비티별로 실행된다. 액티비티 중에서는 onCreate() 메소드가 가장 먼저 실행된다.

XML을 이용해서 사용자 인터페이스 기술 (예제#2) 사용자 인터페이스 작성 방법 코드를 사용하는 방법(기존의 자바) XML을 사용하는 방법(안드로이드 선호 방법) 안드로이드에서는 UI 화면의 구성을 XML을 이용하 여서 선언적으로 나타내는 방법을 선호 애플리케이션의 외관과 애플리케이션의 로직을 서로 분리 빠르게 UI를 구축

일반적인 애플리케이션 작성 절차 사용자 인터페이스 작성(XML) 자바 코드 작성(JAVA) 매니페스트 파일 작성(XML)

XML을 이용한 사용자 인터페이스 작성 앞에서 코드로 작성하였던 UI를 XML로 표현하면 TextView tv = new TextView(this); tv.setText("Hello, world!");

XML을 이용한 사용자 인터페이스 작성 UI 컴포넌트 들은 XML의 하나의 엘리먼트로 표현된 다. TextView 컴포넌트는 <TextView ... /> 엘리먼트로 표현된다.

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="fill_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 파일의 위치 (/res/layout/main.xml)

XML UI 파일과 Java코드와의 연결

자동 생성되는 R.java에 리소스 ID값 정의

코드에서 리소스를 참조하는 방법 앱에서 사용하는 resource들은 R 클래스에 정의됨 다시 각 타입별로 내부 클래스가 정의되어 있고 각 각의 resource는 이 클래스 안에서 상수 ID가 부여됨 attr/dimen/drawable/id/layout/menu/string

리소스 (예제 #3) Android에서는 레이아웃, 이미지, 문자열 들을 리소 스로 취급 drawable: 이미지 layout: layout (UI) values: 문자열 등 Android에서는 가능하면 앱에서 사용하는 리소스들 을 코드 바깥에 위치시킴

코드와 리소스를 분리하는 이유 안드로이드가 탑재된 장치들이 다양해지면서 언어 나 화면 크기에 따라서, 리소스를 다르게 하는 것이 필요 코드는 프로그래머가 작성, UI는 디자이너가 작성 독립성: 개발/유지보수

문자열 리소스 문자열도 XML로 기술하는 것이 바람직하다. android:text=“Hello. World!” 대신에 android:text=“@string/hello_world” //@ 는resource폴더 참조

실습 (p. 88 – Hello3) Hello3 애플리케이션 생성 /res/layout/main.xm에서 android:text 변경 /res/values/string.xml 화면에 나오는 문자열을 한글로 변경한다. 문자열을 리소스로 기술한다. app_name/hello_world값 변경

매니페스트 파일

매니페스트 파일 적재목록: 애플리케이션에 적재된 모든 컴포넌트를 기술함. AndroidManifest.xml Android에게 애플리케이션의 컴포넌트들을 알려줌 으로써 다른 애플리케이션이 내 컴포넌트를 실행할 수 있게함 -> intent (chap 11)

매니페스트 파일의 분석

Summary 디버깅 : p.98 ~ 이클립스 사용팁: p.101 ~ 애플리케이션은 컴포넌트들의 조합으로 만들어진다. 코드와 리소스는 철저하게 분리된다. 코드와 리소스는 개발 도구에 의하여 자동으로 생성 되는 R.java에 의하여 서로 연결된다.