Presentation is loading. Please wait.

Presentation is loading. Please wait.

08. 파일 처리 제목. 08. 파일 처리 제목 파일 처리 방식을 익힌다. SD카드의 파일 처리 방식을 배운다. 커스텀뷰의 작성법을 살펴본다.

Similar presentations


Presentation on theme: "08. 파일 처리 제목. 08. 파일 처리 제목 파일 처리 방식을 익힌다. SD카드의 파일 처리 방식을 배운다. 커스텀뷰의 작성법을 살펴본다."— Presentation transcript:

1

2 08. 파일 처리 제목

3 파일 처리 방식을 익힌다. SD카드의 파일 처리 방식을 배운다. 커스텀뷰의 작성법을 살펴본다.

4

5 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 개요 앱을 종료했다가 다음에 다시 실행할 때 사용한 곳부터 이어서 작업을 하고 싶은 경우가 있다. 이럴 때 내장 메모리에 파일을 저장하고 읽어오는 방식이 쓰인다. 내장 메모리의 저장 위치는 /data/data/패키지명/files 폴더

6 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 간단한 예제 (1/2)

7 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 간단한 예제 (2/2)

8 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 [실습8-1] 간단 일기장 만들기 (1/7)
날짜를 선택하고 그 날짜에 일기가 없으면 새로 쓰고, 그 날짜에 쓴 일기가 있다면 일기를 보여주는 앱을 만들자. 프로젝트 정보 프로젝트 이름 : Project8_1 패키지 이름 : com.cookandroid.project8_1 빌드 SDK : Goolge API 15 또는 16 Minimum Required SDK : API 15 또는 16 액티비티이름 : Project8_1Activity 레이아웃 이름 : main 타이틀 : Project8_1

9 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 [실습8-1] 간단 일기장 만들기 (2/7) 화면 디자인
데이트피커, 에디트텍스트, 버튼을 한 개씩 생성한다. 각 위젯의 id는 datePicker1, edtDiary, btnWrite로 한다.

10 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 [실습8-1] 간단 일기장 만들기 (3/7)
Java 코딩 1 : 위젯 변수 선언 3개 위젯에 대응할 위젯 변수 3개 파일이름을 지정할 문자열 변수 1개 위젯 변수에 main.xml의 위젯을 대입

11 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 [실습8-1] 간단 일기장 만들기 (4/7)
Java 코딩 2 : 데이트피커 설정 Calendar 클래스를 이용해서 오늘 날짜의 연월일을 구한 후에 데이트피커를 초기화 데이트피커의 날짜가 변경되면, 변경된 날짜에 해당하는 일기파일(연_월_일.txt)의 내용을 에디트텍스트에 보여줌

12 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 [실습8-1] 간단 일기장 만들기 (5/7) Java 코딩 3
현재 날짜의 파일(연_월_일.txt)을 읽어 일기의 내용을 반환하는 readDiary( ) 메소드를 완성

13 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 [실습8-1] 간단 일기장 만들기 (6/7) Java 코딩 4
제일 아래 버튼을 클릭했을 때 동작하는 내용을 onCreate( ) 내부에 완성

14 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 [실습8-1] 간단 일기장 만들기 (7/7) 프로젝트 실행
프로젝트를 실행 후, 몇 개 날짜에 일기를 쓰고 DDMS에서 확인

15 1. 파일 처리 기본 ▶ 내장 메모리 파일 처리 [직접 풀어보기 8-1]
[실습 8-1]을 처음 실행하면 해당 날짜의 일기가 있어도 나오지 않는다. 처음 실행할 때부터 실행한 날짜의 일기가 있으면 에디트텍스트에 일기를 보여주고 버튼을 <수정하기>로 만들자. 일기가 없으면 에디트텍스트에 “일기 없음”이라는 힌트가 나오고 버튼은 <새로 저장>이 되도록 하자.

16 1. 파일 처리 기본 ▶ raw 폴더 파일 처리 raw폴더 파일 처리 개요
프로젝트의 /res/raw 폴더에 필요한 파일을 저장해서 사용하는 방법. Java 소스에서 openRawResource() 메소드를 사용해서 접근할 수 있으며, InputStream 클래스를 사용 프로젝트의 /res/raw 폴더는 프로젝트에 포함된 폴더이므로 읽기 전용으로만 사용 가능 예제를 위해서 res 폴더 아래 raw 폴더를 생성해 놓고, 아무 내용이나 입력한 *.txt 파일을 하나 복사한다.

17 1. 파일 처리 기본 ▶ raw 폴더 파일 처리 예제

18 2. 파일 처리 응용 개요 MP3 파일을 SD카드에 저장하여 음악플레이어에서 실행할 때.
AVD의 가상의 SD카드는 이클립스 메뉴 [Windows]-[AVD Manager]를 실행한 후 확인할 수 있다. (1장에서 생성했음)

19 2. 파일 처리 응용 ▶ SD카드의 파일 간단히 읽기 SD카드 파일 읽기 준비
내장 메모리에서 파일을 읽을 때와 별 차이가 없음. 먼저 DDMS에서 /mnt/sdcard 폴더에 적당한 텍스트 파일을 하나 올려(Push) 놓는다.

20 2. 파일 처리 응용 ▶ SD카드의 파일 간단히 읽기 SD 카드 파일 읽기 예제

21 2. 파일 처리 응용 ▶ SD카드에 폴더 및 파일 생성하기
개요 SD카드의 파일을 좀 더 정밀하게 처리하기 위해서는 Environment 클래스의 정적 메소드를 이용해 SD카드의 동작 여부 및 관련 폴더 경로를 구한다. AndroidManifest.xml 파일에 SD카드에 쓰기가 가능하도록 퍼미션을 지정해주어야 한다.

22 2. 파일 처리 응용 ▶ SD카드에 폴더 및 파일 생성하기

23 2. 파일 처리 응용 ▶ 특정 폴더의 하위 폴더 및 파일 목록
예제

24 2. 파일 처리 응용 [실습8-2] 간단 이미지 뷰어 만들기 (1/10)
SD카드의 특정 폴더의 이미지 파일을 보여주는 간단한 이미지 뷰어를 만들자. 프로젝트 정보 프로젝트 이름 : Project8_2 패키지 이름 : com.cookandroid.project8_2 빌드 SDK : Goolge API 15 또는 16 Minimum Required SDK : API 15 또는 16 액티비티이름 : Project8_2Activity 레이아웃 이름 : main 타이틀 : Project8_2

25 2. 파일 처리 응용 [실습8-2] 간단 이미지 뷰어 만들기 (2/10) 커스텀 위젯 생성
커스텀 위젯을 직접 만들어 main.xml에 넣어 사용.

26 2. 파일 처리 응용 [실습8-2] 간단 이미지 뷰어 만들기 (3/10) 커스텀 위젯 Java 코드 1 자동완성된 코드

27 2. 파일 처리 응용 [실습8-2] 간단 이미지 뷰어 만들기 (4/10)
커스텀 위젯 Java 코드 2 : onDraw( ) 메소드를 오버라이드

28 2. 파일 처리 응용 [실습8-2] 간단 이미지 뷰어 만들기 (5/10) Java 코딩 1 : 위젯 변수 선언
3개 위젯에 대응할 위젯 변수 3개 파일이름을 지정할 문자열 변수 1개 위젯 변수에 main.xml의 위젯을 대입

29 2. 파일 처리 응용 [실습8-2] 간단 이미지 뷰어 만들기 (6/10) 화면 디자인 가로 레이아웃에 버튼 2개를 생성
앞에서 생성한 커스텀 위젯인 myPictureView를 생성 위젯의 이름은 btnPrev, btnNext, myPictureView1

30 2. 파일 처리 응용 [실습8-2] 간단 이미지 뷰어 만들기 (7/10) 그림 파일을 SD 카드에 복사

31 2. 파일 처리 응용 [실습8-2] 간단 이미지 뷰어 만들기 (8/10) Java 코딩 1
main.xml의 3개 위젯에 대응할 위젯 변수 3개 SD카드에서 읽어올 이미지 파일 배열과 파일명 문자열 변수 위젯 변수에 main.xml 위젯 대입

32 2. 파일 처리 응용 [실습8-2] 간단 이미지 뷰어 만들기 (9/10) Java 코딩 2
SD카드의 /mnt/sdcard/pictures 폴더에서 파일을 읽어오고, 첫 번째 파일을 커스텀 위젯에 출력

33 2. 파일 처리 응용 [실습8-2] 간단 이미지 뷰어 만들기 (10/10) Java 코딩 3
버튼을 클릭하면 동작하는 리스너를 정의

34 2. 파일 처리 응용 [직접 풀어보기 8-2] [실습 8-2]를 다음과 같이 수정하자.
버튼 사이에 “현재그림번호/전체그림개수” 텍스트뷰가 나타나도록 한다. 토스트 메시지를 없애고, 첫 번째 그림인데 <이전 그림>을 클릭하면 마지막 그림이, 마지막 그림인데 <다음 그림>을 클릭하면 첫 번째 그림이 나오도록 한다.

35 내장 메모리에서 파일을 사용하는 일반적인 절차
내장메모리의 경로는 /data/data/패키지명/files 폴더 프로젝트의 /res/raw 폴더에 필요한 파일을 저장해서 사용할 수 있으나, 읽기전용으로만 가능 DDMS(Dalvik Debug Monitoring Service)는 AVD나 실제 안드로이드폰 내의 폴더와 파일을 접근하는 기능을 제공

36 SD카드의 기본적인 경로는 "/sdcard"를 사용하며, DDMS에서는 "/mnt/sdcard"에 접근하면 된다.
SD카드의 파일을 좀 더 정밀하게 처리하기 위해서는 Environment 클래스의 정적 메소드를 이용해야 한다. SD카드에 쓰기 위해서는 AndroidManifest.xml에 퍼미션을 추가해야 한다. 지정한 폴더의 하위 폴더 및 파일의 목록은 File.listFiles() 메소드를 사용한다. 커스텀 위젯을 만들려면 먼저 Java코드로 작성한 후에, main.xml에서 <패키지명.클래스명> 형식을 사용하면 된다.

37


Download ppt "08. 파일 처리 제목. 08. 파일 처리 제목 파일 처리 방식을 익힌다. SD카드의 파일 처리 방식을 배운다. 커스텀뷰의 작성법을 살펴본다."

Similar presentations


Ads by Google