2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.

Similar documents
9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

[ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 <LinearLayout 2 ~~~~ 중간생략 ~~~~ 3 android:orientation="vertical" > 4 <ImageView

리니어레이아웃 - 2 -

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

2 Application Name: Day10_yhg <LinearLayout android:layout_weight="3" > /> an

// 화면을터치하였을때해야할작업구현 case MotionEvent.ACTION_MOVE: // 화면을드래그하였때 // 화면을드래그하였을때해야할작업구현 case MotionEvent.ACTION_UP: // 화면에서터치가사라질때 // 화면에서터치가사라질때해야할자업구현 c

( )부록

13ÀåÃß°¡ºÐ

01장

03장

학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다.

어댑터뷰

이것은리스트뷰의 setadapter 메소드에잘표현되어있습니다. setadapter 는리스트뷰에사용할데이터객체를넘겨주는메소드입니다. 일반적으로생각한다면 ArrayAdapter 객체를생성하여사용할데이터를저장할것이고데이터가저장된 ArrayAdapter 객체를 setadapt

슬라이드 1

PowerPoint 프레젠테이션

Daum 카페

안드로이드2_14

전자공학설계실험 A 보고서 화 6A ~ 9B 박종태교수님 제출기한 ( 화 ) Android I.S 작업환경 Eclipse_Juno ver. 전자공학부 이상엽전자공학부 오윤재전자공학부

¾Èµå·ÎÀÌµå ³¹Àå-Åë.PDF

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

01 [ 일기장 ] 애플리케이션프로젝트작성 - [MyDiary] 앱 Mobile Apps >> [MyDiary] 앱프로젝트구조설계 일기장애플리케이션인 [MyDiary] 앱은메인화면과일기장의내용을작성하는화면으로이루어져있다. 화면이 2개라는것은액티비티가 2개이고액티비티에대

TipssoftAppActivity.java // 기본소스파일 main.xml // 배치와구성에관련된리소스파일 string.xml // 프로그램에서사용할문자열에관련된리소스파일 컴파일을하고나면 r.java 라는소스파일이하나추가되는데이파일은리소스파일을소스파일에서이용할수있도

문서의 제목 나눔고딕B, 54pt

(Microsoft PowerPoint - Ch06.ppt [\310\243\310\257 \270\360\265\345])

슬라이드 1

50_1953.pdf

슬라이드 1

[ 정보 ] 과학고 R&E 결과보고서 Monte Carlo Method 를이용한 고교배정시뮬레이션 연구기간 : ~ 연구책임자 : 강대욱 ( 전남대전자컴퓨터공학부 ) 지도교사 : 최미경 ( 전남과학고정보 컴퓨터과 ) 참여학생 : 박진명 ( 전

안드로이드애플리케이션과통합하는데는자바가편하므로대표적인두가지라이브러리를비교해보자. 자바 ID3 태그라이브러리 jaudiotagger ID3v1, ID3v1.1, Lyrics3v1, Mp3, Mp4 (Mp4 오디오, M4a 지원범위 Lyrics3v2, ID3v2.2, ID

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다.

헬로, 안드로이드 11 주차 위치파악하기와감지하기 강대기동서대학교컴퓨터정보공학부

뷰그룹 ( 레이아웃 ) 레이아웃이름 ( 클래스이름 ) FrameLayout LinearLayout 설명단일객체를표현하기위한프레임. 왼쪽상단에하나의뷰를배치하기때문에나중 에그린객체만보여준다. 수평또는수직으로자손의뷰를배치. 뷰가들어갈만한공간이없을때는자동으로 스크롤바가나타난다

슬라이드 1

슬라이드 1

Microsoft PowerPoint - DoItAndroid_PART02_01_기본위젯과레이아웃_Rev.1.0 [호환 모드]

<BFF8B5E5B7CEC0CCB5E5322E687770>

Cluster management software

Cluster management software

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0)

PowerPoint 프레젠테이션

헬로, 안드로이드 13 주차 SQL 활용하기 (2) 강대기동서대학교컴퓨터정보공학부

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint Presentation

SQLite v 소개 ü SQLite 라이브러리를통해완전한관계형데이터베이스 (RDBMS) 기능제공 ü 오픈소스 ü 표준준수 ü 경량 ü 단일계층 2

XML Parser

PowerPoint Presentation

1. 개요 - 계획서 프로젝트개요프로그램명 : 닥터 119 제작배경애완견을키우는사람들이부득이하게병원에가지못할경우에이앱을통해서자가진단을통해상태의심각성을알수있게되고또가까운동물병원으로갈수있는지도와전화번호를제공한다. 그리고애견다이어리기능을통해애견의성장과정과추억들을저

학습목표 텍스트파일을다룰수있다. 스트림읽기, 쓰기를안다. 2

구글안드로이드프로그래밍액티비티, 인텐트수신자, 그리고서비스 안드로이드애플리케이션의구성요소에는액티비티, 인텐트수신자, 서비스, 컨텐트제공자가있다. 이번호에서는사용자인터페이스를위한액티비티와백그라운드서비스를위한인텐트수신자, 그리고서비스의라이프사이클과활용법에대해살펴보도록하자.

OpenCV와 함께하는 컴퓨터 비전 프로그래밍 캠프

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

PowerPoint 프레젠테이션

Android Master Key Vulnerability

<4D F736F F F696E74202D20446F E64726F69645F F30335FB4D9BEE7C7D1C0A7C1ACB0FAC0CCBAA5C6AEC8B0BFEBC7CFB1E25F52657

PowerPoint Presentation

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

PowerPoint 프레젠테이션

슬라이드 1

PowerPoint 프레젠테이션

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

오핀 (OFIN) SDK Guide Fintech Mobile SDK Guide - Android V 1.0 OPPFLIB 1

학습목표 인텐트로다른액티비티나프로그램을실행시킬수있다. 웹뷰를통해웹화면을액티비티화면의일부로구성할수있다. 자바스크립트를통해안드로이드프로그램을호출하는방법을안다. 안드로이드응용프로그램에서웹서비스를이용하는방법을안다.

헬로, 안드로이드 7 주차 멀티미디어 강대기동서대학교컴퓨터정보공학부

레이아웃 (Layout)

SECTION 01 _ 액션바 (ActionBar) 405 액션바만들기 참고프로젝트 ActionBarDemoA1 간단히액션바를만들고이액션바가 WVGA(800*480) 과 WXGA(1280*800) 에서어떻게보이는지확인해보도록하겠다. 액션바를만든다는표현을했지만액션바는타이

Microsoft PowerPoint - 04-UDP Programming.ppt

12 주차 인텐트

02 C h a p t e r Java

JAVA PROGRAMMING 실습 09. 예외처리

콘텐츠 PowerPoint 디자인

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

쉽게 풀어쓴 C 프로그래밍

RDS_MAN_NO 도로구간일련번호 NUMBER(12) BSI_INT_SN 기초구간일련번호 NUMBER(10) EQB_MAN_SN 건물군일련번호 NUMBER(10) BULD_SE_CD 건물구분코드 VARCHAR2(1) BULD_MNNM 건물본번 NUMBER(5) BUL

I II III IV V. 16 A. 17 B. 18

Microsoft PowerPoint 웹 연동 기술.pptx

Design Issues

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint Presentation

PowerPoint Presentation

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

rmi_박준용_final.PDF

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Network Programming

변수이름 변수값 PATH ;C:\Program Files\Java\jdk1.8.0_45\bin CLASSPATH.;C:\Program Files\jdk1.8.0_45\lib\tools.jar JAVA_HOME C:\Program Files\Java\jdk1.8.0_45

1. 화면전환 [ 그림 1] 화면전홖에대한상태도 [ 그림 1] 은게임전반적이화면전홖에대한상태도입니다. 이에대한설명은아래와같습니다. Intro: 게임이시작될때보여주는화면. 화면이보여지고난뒤 2초후면 Main으로이동합니다. 실제게임에서는필요한데이터등을로딩하는동안보여주는형식

PowerPoint 프레젠테이션

한이음 IT 멘토링프로젝트 Android App 개발가이드 (2) - Google Maps 와 GPS 를연동한 Android App 개발 - Ver 1.02 (Update )

안드로이드테스트앱을이용한난독화라이브러리파일동적분석 - 중요정보가라이브러리파일내부에 암호화되어있는악성앱동적분석 코드분석팀송지훤 본보고서의전부나일부를인용시, 반드시 [ 자료 : 한국인터넷진흥원 (KISA)] 를명시하

Microsoft PowerPoint - 03-TCP Programming.ppt

gnu-lee-oop-kor-lec10-1-chap10

목차 1. Samsung In-App Purchase 소개 다운로드 IAP 3.0 Helper & Sample IAP 3 제약사항 IAP 3 개발모드 지원상품타입 IAP 3

<4D F736F F F696E74202D205BC3D6C1BE5D3133C1D6C2F720B8AEBDBAC6AEBAE420B0ADC0C7C0DAB7E12D >

Microsoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드]

Network Programming

슬라이드 1

Transcription:

10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 4 android:layout_height="match_parent" 5 android:orientation="vertical" - 2 -

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 android:padding="10dp" tools:context=".memoryactivity" > <TextView android:gravity="center" android:text=" 사용자정보입력 " /> <LinearLayout > <TextView android:layout_width="wrap_content" android:text=" 사용자이름 : " /> <EditText android:id="@+id/edtname" android:layout_width="0dp" android:layout_weight="1" /> </LinearLayout> <LinearLayout > <TextView android:layout_width="wrap_content" android:text=" 이메일 : " /> <EditText android:id="@+id/edtemail" android:layout_width="0dp" android:layout_weight="1" /> </LinearLayout> <Button android:id="@+id/btnwrite" android:text=" 내장메모리에파일쓰기 " /> <Button android:id="@+id/btnread" - 3 -

46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 android:text=" 내장메모리에서파일읽기 " /> <TextView android:layout_margintop="10dp" android:gravity="center" android:text=" 파일에서읽어온내용출력 " /> <TextView android:id="@+id/tvtext" android:background="#cccccc" android:textcolor="#ff0000" android:textsize="20dp" /> </LinearLayout> [ 예제 10-2]MemoryActivity.xml 1 package com.example.memory; 2 3 import java.io.fileinputstream; 4 import java.io.fileoutputstream; 5 import java.io.ioexception; 6 7 import android.app.activity; 8 import android.content.context; 9 import android.os.bundle; 10 import android.view.view; 11 import android.widget.button; 12 import android.widget.edittext; 13 import android.widget.textview; 14 import android.widget.toast; 15 16 public class MemoryActivity extends Activity { - 4 -

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 EditText edtname, edtemail; Button btnwrite, btnread; TextView tvtext; @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); settitle(" 간단파일처리 "); edtname = (EditText) findviewbyid(r.id.edtname); edtemail = (EditText) findviewbyid(r.id.edtemail); btnwrite = (Button) findviewbyid(r.id.btnwrite); btnread = (Button) findviewbyid(r.id.btnread); tvtext = (TextView) findviewbyid(r.id.tvtext); btnwrite.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { // TODO Auto-generated method stub try { FileOutputStream outfs = openfileoutput("memory.txt", Context.MODE_WORLD_WRITEABLE); String str = " 사용자이름 : " + edtname.gettext().tostring() + "\n이메일: " + edtemail.gettext().tostring(); outfs.write(str.getbytes()); outfs.close(); Toast.makeText(getApplicationContext(), " 사용자정보가 memory.txt에저장되었습니다.", 0).show(); } catch (IOException e) { } } }); btnread.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { - 5 -

57 // TODO Auto-generated method stub 58 try { 59 FileInputStream infs = openfileinput("memory.txt"); 60 byte[] txt = new byte[50]; 61 infs.read(txt); 62 String str = new String(txt); 63 tvtext.settext(str); 64 infs.close(); 65 } catch (IOException e) { 66 Toast.makeText(getApplicationContext(), " 파일이없습니다 ", 0).show(); 67 } 68 } 69 }); 70 } 71 } 39~50행내장메모리에파일쓰기를 try-catch 문으로구현한다. 40~41행 memory.txt에쓰기모드로파일을연다. 42~43행파일에쓰려는사용자정보를문자열로만든다. 44행문자열을파일에쓴다. 이때문자열을 getbytes() 메소드를이용해 byte[] 형으로변경해야한다. 45행파일을닫는다. 46~47행파일이저장되었다는것을토스트로알려준다. 58~67행내장메모리로부터파일읽어오기를 try-catch 문으로구현한다. 59행내장메모리의 /data/data/ 패키지명 /files/memory.txt 파일을읽어온다. 60~62행 byte[] 형변수로파일로부터데이터를읽어와서, 문자열로변경한다. 63행텍스트뷰에읽어온문자열을출력한다. 64행파일을닫는다. 66행읽어오려는파일이없으면토스트를띄운다. - 6 -

[ 그림 10-2] 내장메모리파일처리실행결과 [ 그림 10-3] DDMS 실행 [ 그림 10-4] 파일확인 1-7 -

[ 그림 10-5] 파일확인 2-8 -

[ 그림 10-6] PC 에파일저장 4 SD카드파일처리 1) 학습하기 - 9 -

[ 그림 10-7] AVD 의가상 SD 카드확인 2) 활동하기 활동개요 활동과정 - 10 -

[ 예제 10-3]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 4 android:layout_height="match_parent" 5 android:orientation="vertical" 6 tools:context=".sdcardactivity" > 7 <TextView 8 9 10 android:gravity="center" 11 android:text=" 학생정보입력 " /> 12 <LinearLayout 13 14 > 15 <TextView 16 android:layout_width="wrap_content" 17 18 android:text=" 학번 : " /> 19 <EditText 20 android:id="@+id/edtstnum" 21 android:layout_width="0dp" 22 23 android:layout_weight="1" /> 24 </LinearLayout> 25 <LinearLayout 26 27 > 28 <TextView 29 android:layout_width="wrap_content" - 11 -

30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 android:text=" 이름 " /> <EditText android:id="@+id/edtname" android:layout_width="0dp" android:layout_weight="1" /> </LinearLayout> <Button android:id="@+id/btnwrite" android:text="sd카드에파일쓰기 " /> <Button android:id="@+id/btnread" android:text="sd카드에서파일읽기 " /> <TextView android:layout_margintop="10dp" android:gravity="center" android:text=" 파일에서읽어온내용출력 " /> <TextView android:id="@+id/tvtext" android:background="#cccccc" android:textcolor="#ff0000" android:textsize="20dp" /> </LinearLayout> - 12 -

[ 예제 10-4]SDCardActivity.xml 1 package com.example.sdcard; 2 3 import java.io.fileinputstream; 4 import java.io.fileoutputstream; 5 import java.io.ioexception; 6 7 import android.app.activity; 8 import android.content.context; 9 import android.os.bundle; 10 import android.view.view; 11 import android.widget.button; 12 import android.widget.edittext; 13 import android.widget.textview; 14 import android.widget.toast; 15 16 public class SDCardActivity extends Activity { 17 18 EditText edtname, edtstnum; 19 Button btnwrite, btnread; 20 TextView tvtext; 21 String SDPath; 22 23 @Override 24 protected void oncreate(bundle savedinstancestate) { 25 super.oncreate(savedinstancestate); 26 setcontentview(r.layout.main); 27 edtname = (EditText) findviewbyid(r.id.edtname); 28 edtstnum = (EditText) findviewbyid(r.id.edtstnum); 29 btnwrite = (Button) findviewbyid(r.id.btnwrite); 30 btnread = (Button) findviewbyid(r.id.btnread); 31 tvtext = (TextView) findviewbyid(r.id.tvtext); 32 33 SDPath = Environment.getExternalStorageDirectory().getAbsolutePath(); 34 35 btnwrite.setonclicklistener(new View.OnClickListener() { 36 37 @Override 38 public void onclick(view v) { 39 // TODO Auto-generated method stub - 13 -

40 File dir = new File(SDPath + "/dir"); 41 dir.mkdir(); 42 File file = new File(SDPath + "/sdcard.txt"); 43 try { 44 FileOutputStream outfs = new FileOutputStream(file); 45 String str = " 학번 : " + edtstnum.gettext().tostring() 46 + "\n이름: " + edtname.gettext().tostring(); 47 outfs.write(str.getbytes()); 48 outfs.close(); 49 Toast.makeText(getApplicationContext(), 50 " 학생정보가 sdcard.txt에저장되었습니다.", 0).show(); 51 } catch (IOException e) { 52 } 53 } 54 }); 55 56 btnread.setonclicklistener(new View.OnClickListener() { 57 58 @Override 59 public void onclick(view v) { 60 // TODO Auto-generated method stub 61 try { 62 FileInputStream infs = new FileInputStream(SDPath + "/dir/sdcard.txt"); 63 byte[] txt = new byte[50]; 64 infs.read(txt); 65 String str = new String(txt); 66 tvtext.settext(str); 67 infs.close(); 68 } catch (IOException e) { 69 Toast.makeText(getApplicationContext(), " 파일이없습니다 ", 0).show(); 70 } 71 } 72 }); 73 } 74 } 33행 SD카드의절대경로를얻어와서 SDPath에대입한다. 40~41행 SD카드에 [dir] 폴더를생성한다. 42, 44행 [mnt]-[sdcard]-[dir] 폴더에 "sdcard.txt" 파일을생성하고쓰기위해연다. 62행 [mnt]-[sdcard]-[dir] 폴더에 "sdcard.txt" 파일을읽기위해파일을연다. - 14 -

[ 그림 10-8] SDCard 파일쓰기권한퍼미션설정 - 15 -

[ 그림 10-9] SDCard 파일처리실행결과 [ 그림 10-10] [mnt]-[sdcard] 폴더에 [dir] 폴더와 sdcard.txt 파일생성 - 16 -

5 배운내용정리 6 학습확인하기 7 지식창고 참고문헌 참고사이트 - 17 -

- 18 -