안녕하세요.

Android 싸이트에 있는 Notepad 영문버전을 한글로 변환한 것입니다.

http://www.coremodeling.com/android/tutorial/notepad/notepad2.htm


Android Notepad Tutorial 한글 문서[자바모델링]

  • 작성자 : 고덕한(javamodeling@gmail.com)
  • 소속 : 자바모델링(http://www.javamodeling.com)
  • 작성일자 : 2010년 06월 04일

영문으로 되어 있는 Android 의 Notepad Tutorial 을 한글 문서로 변환하여 개발자들이 손쉽게 Android Application 을 작성하는데 쉽게 이해할 수 있도록 작성한다.
영문으로 된 내용을 기반으로 단계별로 작성을 해 나갈것이다.

0. Preparing for the Exercise

이 Notepad 를 작성하기 위해서 Eclipse 를 사용할 것이며, 기본적으로 Android 를 개발하기 위한 환경설정이 되어 있다는 가정하에 이 예제를 작성한다.

이 Notepad 를 위해서 기본적인 설정파일과 클래스를 제공하고 있다. 아래의 절차대로 진행하면 된다.

  • 압축된 파일(zip)을 다운로드 한다. Project exercises archive(.zip)
  • 다운로드한 파일을 적절한 디렉토리에 압축을 푼다.
  • NotepadCodeLab 디렉토리를 살펴본다.

2. Notepad Exercise 2

이번 문서에서는 note 를 생성하고 수정하기 위해서 별도의 Activity 를 추가할 것이다. 또한 note 를 삭제하도록 할 것이다.

  • 새로운 Activity 를 생성하고, AndroidManifest.xml 에 추가하는 방법
  • startActivityForResult() 를 사용하여 비동기로 다른 Activity 를 호출하는 방법
  • 객체를 Activity 사이에 서로 전송하기
  • 좀 더 복잡한 스크린 layout 사용 방법, context 메뉴 생성하는 방법

2.1 Step 1

Notepad 의 어플리케이션을 개발하기 위한 기본 환경설정과 코드를 포함하고 있는 소스를 다운로드 받는다.(위의 내용 참고)

File -> New -> Android Project 를 선택하고, Create project from existing source 를 선택한다.

그리고 Locationn 에서 Browse 버튼을 클릭하여, 다운로드해서 압축을 푼 디렉토리에서 Notepadv2 디렉토리를 선택한다. 그러면 자동으로 Project name 이 입력이 된다.

Build Target 은 설정된 AVD 중에서 적절한 것을 선택한다. Application Name 과 Package name 은 자동으로 입력이 되며, Min SDK Version 에 선택된 Build Target 에 맞게 버전 번호를 입력한다.

 

그리고 Finish 버튼을 클릭하면 프로젝트가 생성이 된다.

2.2 Step 2

사용자가 각각의 note 를 삭제할 수 있도록 context menu 를 생성한다.

ListView 에 있는 각각의 목록을 context menu 에 등록하기 위해서 registerForContextMenu() 메소드를 onCreate() 메소드에 추가하여 호출한다.

 

그리고 conCreateContextMenu() 메소드를 아래와 같이 구현한다. ContextMenu 에 Delete 메뉴를 추가하는 코드

 

2.3 Step 3

Context Menu 를 등록했기에, menu 가 클릭되었을때 동작하기 위한 코드를 구현

onContextItemSelected() 를 아래와 같이 구현

 

2.4 Step 4

createNote() 메소드 구현

Note 를 새로 만들기 위해서 별도의 NoteEdit 클래스를 사용하기 위한 Intent 를 생성. startActivityForResult() 를 Intent 로 호출

 

2.5 Step 5

onListItemClick() 메소드 구현

항목이 클릭되었을 때, 클릭된 항목의 note 값을 설정해서 다른 Activity(NoteEdit) 으로 보낸다.

Intent.putExtra() 를 사용하여, id, title, body 값을 전송한다.

2.6 Step 6

onActivityResult() 메소드 구현

createNote() 와 onListItemClick() 에서 비동기로 다른 Activity 를 호출했다. 호출하고 난 후에 처리하기 위한 기능을 onActivityResult() 메소드에서 정의한다.

2.7 Step 7

note_edit.xml 파일은 NoteEdit 클래스에서 note 를 작성할 때 사용되는 layout 이다.

 

 

2.8 Step 8

NoteEdit 클래스 생성

File -> New -> Class 메뉴를 선택, android.app.Activity 를 상속받는 NoteEdit 클래스 생성.

 

2.9 Step 9

onCreate() 메소드 구현.

아래와 같이 구현한다.

 

2.10 Step 10

onClick() 메소드 구현

사용자가 confirm 버튼을 클릭했을 때 처리하기 위한 기능. 새로운 note 를 작성하고, 그 내용을 Notepadv2 클래스로 전송하기 위한 내용

 

2.11 Step 11

NoteEdit 클래스를 AndroidManifest.xml 파일에 등록

Android 에서 새로 등록된 Activity 에 대해서 알기 위해서, 반드시 AndroidManifest.xml 파일에 등록을 해야 함

Application tab 을 선택, Add 버튼 클릭하고, Activity 선택, Name : NoteEdit 선택

 

2.12 Step 12

Notepadv2 프로젝트를 선택하고, 오른쪽 마우스 클릭한 다음, Run As -> Android Application 을 선택하여 실행한다.