29
아아아아아 LifecareScienceLAB Android Seminar 4 th class Android Software Development 2011/05/11 – p.m. 06:00 – 아아아 409 아 아아아아아

LifecareScienceLAB Android Seminar 4 th class

  • Upload
    ivo

  • View
    87

  • Download
    4

Embed Size (px)

DESCRIPTION

아주대학교. LifecareScienceLAB Android Seminar 4 th class. Android Software Development 2011/05/11 – p.m. 06:00 – 팔달관 409 호. Review. Activity Intent. Activity LifeCycle. Activity 간의 통신. CommActivity.java Activity. main.xml View. ActEdit.java Activity. sub.xml View. - PowerPoint PPT Presentation

Citation preview

Page 1: LifecareScienceLAB Android  Seminar 4 th  class

아주대학교

LifecareScienceLABAndroid Seminar 4th class

• Android• Software Development

2011/05/11 – p.m. 06:00 – 팔달관 409 호

아주대학교

Page 2: LifecareScienceLAB Android  Seminar 4 th  class

Review

Activity Intent

Page 3: LifecareScienceLAB Android  Seminar 4 th  class

Activity LifeCycle

Page 4: LifecareScienceLAB Android  Seminar 4 th  class

Activity 간의 통신

CommActivity.-java

Activity

ActEdit.javaActivity

main.xmlView

sub.xmlView

Page 5: LifecareScienceLAB Android  Seminar 4 th  class

Activity 간의 통신CommActivity.java

ActivityActEdit.java

Activity

new intent+Caller, +Callee

getIntent

putExtra+TextIn

startActivityForRe-sult

getStringExtraTextIn

new intent

putExtra+TextOut

setResut

onActivityResult

getStringExtraTextOut

TextIn

TextOut

Page 6: LifecareScienceLAB Android  Seminar 4 th  class

Toast

작은 팝업 대화상자 초보자들에게 디버깅용 , 학습용으로 아주

용이한 출력 방법 변수 값을 수시로 찍어볼 때 등

Toast.makeText(ToastTest.this, " 잠시 나타나는 메시지 ", Toast.LENGTH_SHORT).show();

Page 7: LifecareScienceLAB Android  Seminar 4 th  class

Log

개발자를 위한 디버깅용 메시지 Eclipse 를 통해서만 확인 가능

LogCat 을 이용하여 확인 할 수 있다 . 다양한 메시지 필터

Log.v : verbose Log.i : information Log.w : warning Log.e : error Log.d : debugging

Log.x(String tag, String msg) tag : 사용자 정의 메시지 분류 msg : 출력할 메시지

Page 8: LifecareScienceLAB Android  Seminar 4 th  class

Contents List

Android• Option• Databases

• File I/O• Preference

Software Development• Team Presentation

Page 9: LifecareScienceLAB Android  Seminar 4 th  class

아주대학교

ANDROID

• Option• Database

File I/OPreference

Page 10: LifecareScienceLAB Android  Seminar 4 th  class

Option Menu

JAVA 로 구현 XML 로 구현

Page 11: LifecareScienceLAB Android  Seminar 4 th  class

JAVA 로 구현한 Option

다음과 같은 순서로 동작한다 . 1. MENU 버튼을 누르면 액티비티의 onCre-

ateOptionMenu 메서드로 메뉴를 생성하고 보여준다 .

2. 아에템을 선택하면 액티비티의onOptionItemSelected메서드로 기능을 수행한다 .

1

2

Page 12: LifecareScienceLAB Android  Seminar 4 th  class

JAVA 로 구현한 Option

1. MENU 버튼을 누르면 액티비티의 onCreateOptionMenu 메서드로 메뉴를 생성하고 보여준다 .

boolean onCreateOptionMenu(Menu menu) menu : 빈 메뉴객체 , 여기에 add 로 항목 추가 MenuItem add(int groupId, int itemId, int order, CharSe-

quence title) groupId : 항목의 그룹을 구성할 때 지정 , NONE(0) itemId : 항목의 고유한 ID 로 중복되지 않아야 한다 . order : 메뉴의 순서 , NONE(0) 이면 추가한 순서대로 나타난다 . title : 메뉴항목의 캡션 문자열 , int titleRes 로 대체 가능

SubMenu addSubMenu(CharSequence title) 서브메뉴 추가 서브메뉴에도 항목 추가 가능 : add

Page 13: LifecareScienceLAB Android  Seminar 4 th  class

JAVA 로 구현한 Option

1. MENU 버튼을 누르면 액티비티의 onCreateOption-Menu 메서드로 메뉴를 생성하고 보여준다 .

add 로 생성된 MenuItem 들의 각종 설정을 변경할 수 있다 . MenuItem setIcon(int iconRes) MenuItem setTitle(CharSequence title) MenuItem setVisible(boolean visible) MenuItem setAlphabeticShortcut(char alphaChar) MenuItem setNumericShortcut(char numericChar) MenuItem setCheked(boolean cheaked) MenuItem setEnable(boolean enabled)

Page 14: LifecareScienceLAB Android  Seminar 4 th  class

JAVA 로 구현한 Option

2. 아에템을 선택하면 액티비티의 onOption-ItemSelected 메서드로 기능을 수행한다 .

boolean onOptionItemSelected(MenuItem item) item : 선택된 메뉴에 대한 정보를 담고있다 . 예제에서는 item.getItemId() 로 itemId 로

선택된 메뉴를 구분한다 .

Page 15: LifecareScienceLAB Android  Seminar 4 th  class

JAVA 로 구현한 Option

실습 “OptionMenu” Project Load

Page 16: LifecareScienceLAB Android  Seminar 4 th  class

XML 로 구현한 Option

다음과 같은 순서로 동작한다 . 1. MENU 버튼을 누르면 액티비티의 onCre-

ateOptionMenu 메서드로 생성된 메뉴를 불러오고 보여준다 .

2. 아에템을 선택하면 액티비티의onOptionItemSelected메서드로 기능을 수행한다 .

1

2

Page 17: LifecareScienceLAB Android  Seminar 4 th  class

XML 로 구현한 Option

[res] – [menu] – [menu.xml] 디렉터리와 파일 생성을 해야 한다 .

menu.xml 파일에는 항목들이 미리 설정되어 있어야 한다 .

onCreateOptionMenu 에서는 getMenuIn-flater() 메서드로 menu.xml 파일을 불러온다 .

onOptionItemSelected 에서는 menu.xml 파일에 정의된 항목의 ID 로 선택된 메뉴를 구분한다 .

Page 18: LifecareScienceLAB Android  Seminar 4 th  class

Database

SD card 에서 File I/O 를 이용한 파일 관리 Preference 를 이용한 데이터 관리

Database

Page 19: LifecareScienceLAB Android  Seminar 4 th  class

File I/O

1. SD card 의 경로를 설정한다 . 2. 파일명을 설정한다 . 3. 파일을 연다 .

FileOutputStream openFileOutput(String name, int mode)

FileInputStream openFileInput(String name)

4. 작업을 한다 . read() write()

5. 파일을 닫는다 . close()

Page 20: LifecareScienceLAB Android  Seminar 4 th  class

File I/O

SD card 의 상태 확인하기 Environment.getExternalStorageState();

MEDIA_MOUNTED, MEDIA_UNMOUNTED

디렉터리 경로 생성 File dir = new File([SD 카드의 경로 ]+"/dir"); dir.mkdir();

생성된 경로에 파일 생성 File file = new File([SD 카드의 경로 ]+"/dir/

file.txt");

Page 21: LifecareScienceLAB Android  Seminar 4 th  class

File I/O Stream

파일에 내용 쓰기 FileOutputStream fos = new

FileOutputStream(file); fos.write( 저장할 문자열 );

파일로부터 내용 읽기 FileInputStream fis = new FileInputStream (file); byte[] data = new byte[fis.available()]; while (fis.read(data) != -1) {;}

사용한 파일 닫기 fis.close(); fos.close();

Page 22: LifecareScienceLAB Android  Seminar 4 th  class

File I/O Buffer

Buffer 를 사용한 File I/O import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;

Page 23: LifecareScienceLAB Android  Seminar 4 th  class

File I/O Buffered-Writer

BufferedWriter 사용File root = Environment.getExternalStorageDirectory().getAbsoluteFile();if(root.canWrite()){

File file = new File(root, [ 경로 + 이름 ]);Wtry {

FileWriter writer = new FileWriter(file,true);BufferedWriter out = new BufferedWriter(writer);out.write([ 저장할 문자열 ]);out.close();

} catch (IOException e) {e.printStackTrace();

}}

Page 24: LifecareScienceLAB Android  Seminar 4 th  class

File I/O Buffere-dReader

BufferedReader 사용File root = Environment.getExternalStorageDirectory().getAbsoluteFile();if(root.canRead()){

File file = new File(root, [경로 + 이름]);FileReader reader;try {

reader = new FileReader(file);BufferedReader in = new BufferedReader(reader);String massage = in.readLine();in.close();

} catch (FileNotFoundException e) {e.printStackTrace();

} catch (IOException e) {e.printStackTrace();

}}

Page 25: LifecareScienceLAB Android  Seminar 4 th  class

Preference

응용프로그램의 설정 정보를 영구적으로 저장하는 장치이다 .

1MB 미만의 저용량 데이터 저장에 유용하다 .

Page 26: LifecareScienceLAB Android  Seminar 4 th  class

Preference Import

사용하는 라이브러리 import android.content.SharedPreferences;

선호설정 생성 SharedPreferences.Editor preEditor; settingActivity = getSharedPreferences(“str", 0);

설정 값 가져오기 int settingActivity.getInt(String key, int defValue) String settingActivity.getString(String key, String def-

Value) boolean settingActivity.getBoolean(String key, boolean

defValue)

Page 27: LifecareScienceLAB Android  Seminar 4 th  class

Preference Export

사용하는 라이브러리 import android.content.SharedPreferences;

선호설정 생성 SharedPreferences settingActivity; preEditor = settingActivity.edit();

설정 값 내보내기 preEditor.putInt(String key, int Value) preEditor.putString(String key, String Value) preEditor.putBoolean(String key, boolean Value) preEditor.commit() preEditor.remove() preEditor.clear()

Page 28: LifecareScienceLAB Android  Seminar 4 th  class

아주대학교

SOFTWARE DEVELOP-MENT

• Team Presentation

Page 29: LifecareScienceLAB Android  Seminar 4 th  class

Team Presentation

구현 1 주차 서승환 / 이영권 이기영 / 최성원

설계 김영식 / 임동진

주제선정 및 분석 권만석 / 정선홍 김유성 / 김재호 서우람 / 유영욱