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

Size: px
Start display at page:

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

Transcription

1 Chapter 03 일기장앱개발 일기장애플리케이션프로젝트를작성할수있다. 일기장애플리케이션의화면을작성할수있다. 일기장애플리케이션의로직을작성할수있다. { 프로젝트작성하기 Step 1 - [MyDiary] 앱 [ 일기장 ] 애플리케이션프로젝트작성 >> >> Step 2 [ 일기장 ] 애플리케이션의화면설계 Step 3 [ 일기장 ] 애플리케이션의로직작성 이장에서는 [ 일기장 ] 애플리케이션프로젝트를작성하고화면을설계하고프로그래밍로직 코드를작성한다. 234 Part Ⅱ 모바일앱프로젝트실무

2 01 [ 일기장 ] 애플리케이션프로젝트작성 - [MyDiary] 앱 Mobile Apps >> [MyDiary] 앱프로젝트구조설계 일기장애플리케이션인 [MyDiary] 앱은메인화면과일기장의내용을작성하는화면으로이루어져있다. 화면이 2개라는것은액티비티가 2개이고액티비티에대응되는화면의뷰 ( 레이아웃리소스 ) 도 2개라는것을의미한다. MyDiary 메인화면 내용작성화면 화면의내용 ( 레이아웃리소스 ) 화면의내용 ( 레이아웃리소스 ) 액티비티 액티비티 [MyDiary] 앱프로젝트의개괄적인구조 이두개의화면은단지만드는것에서끝나는것이아니라화면전환이필요하고매니페스트 파일에추가한액티비티도등록해야한다. 따라서애플리케이션프로젝트를만들려면기본적 으로다음과같은작업들이필요하다. 필요한화면의수만큼화면을표시하는액티비티와화면의내용인뷰 ( 레이아웃리소스 ) 가필요하다. 작성 저장 삭제 activity_main.xml 일기목록 activity_work.xml Main Activity Work Activity [MyDiary] 앱프로젝트의액티비티와뷰 Chapter 03 일기장앱개발 235

3 화면간에전환 ( 이동 ) 이필요하다. 화면간의전환은인텐트를사용한다. 메인화면에서내용작성화면으로이동, 내용작성화면에서메인화면으로이동은 Intent 객체를생성하고 startactivity(intent 객체 ) 메서드를사용한다. Intent it = new Intent(this, WorkActivity.class); //Intent 객체생성 startactivity(it); //WorkActivity 로화면이동 추가한액티비티는매니페스트에등록한다. 액티비티가추가된경우, 추가된액티비티에대한정보를 [AndroidManifest.xml] 파일 </application> 위에 <activity> 태그를사용해서작성한다. ~ 생략 <activity android:name= WorkActivity ></activity> </application> 2 개의화면밖에되지않지만, 안드로이드앱을구현하기위해서는안드로이드화면전환 외에도, 파일읽고쓰기위한입출력스트림과저장소를사용하기위한저장기법이추가되어 야한다. 내부저장소를사용한파일입출력스트림을사용한다. // 파일출력스트림 FileOutputStream out = openfileoutput(fname, Context.MODE_PRIVATE) FileInputStream in = openfileinput(fname); // 파일입력스트림 [MyDiary] 앱프로젝트만들기 안드로이드스튜디오에서일기장애플리케이션인 [MyDiary] 앱프로젝트를작성한다. 안드로이드스튜디오는 [ 시작 ]-[ 모든프로그램 ]-[Android Studio]-[Android Studio] 메뉴를선택해서실행한다. 236 Part Ⅱ 모바일앱프로젝트실무

4 실습 01 일기장앱작성하기 [MyDiary] 앱프로젝트를만들어보자. 01 >> 안드로이드스튜디오에서 [File]-[New Project...] 메뉴를선택한다. [MyDiary] 앱프로젝트작성 1 02 >> [Create New Project] 창에서 [New Project] 화면이표시되면 [Application Name] 항목에 MyDiary 입력, [Company Domain] 항목에 test.work 를 03 >> [Target Android Devices] 화면이표시되 면 [Phone and Tablet] 항목이선택된것을확인 하고 [Next] 버튼을클릭한다. 입력하고 [Next] 버튼을클릭한다. ❶ 클릭 ❷ 클릭 [MyDiary] 앱프로젝트작성 2 [MyDiary] 앱프로젝트작성 3 Chapter 03 일기장앱개발 237

5 04 >> [Add an activity to Mobile] 화면이표시되 면기본값인 [Blank Activity] 를선택하고 [Next] 버튼을클릭한다. 05 >> [Customize the Activity] 화면이표시되 면기본값을그대로사용하고 [Finish] 버튼을클릭 한다. [MyDiary] 앱프로젝트작성 4 [MyDiary] 앱프로젝트작성 5 06 >> 프로젝트가생성되면다음과같은화면이표시된다. 238 Part Ⅱ 모바일앱프로젝트실무 [MyDiary] 앱프로젝트작성 6

6 실습 02 이미지를 [MyDiary] 앱프로젝트로가져오기 앱아이콘으로사용할이미지파일을 [MyDiary] 앱으로가져오는것을실습한다. 01 >> 탐색기에서부록 CD 의 [image] 버튼에있는 app_icon.png 파일을 [app]-[res]-[mipmap] 에붙여넣기한다. 02 >> [Choose Destination Directory] 창이표시되면 [~\mipmap-mdpi] 를선택하고 [OK] 버튼을클릭한다. ❶ 클릭 ❷ 클릭 03 >> [Copy] 창이표시되면 [OK] 버튼을클릭한다. 04 >> [app]-[res]-[mipmap] 에파일이가져오기된것을볼수있다. Chapter 03 일기장앱개발 239

7 실습 03 문자열리소스추가하기 문자열리소스인 [strings.xml] 에문자열등록을실습한다. 01 >> 프로젝트의 [app]-[res]-[values]-[strings.xml] 을더블클릭해서연다. 02 >> 다음과같이변경후저장한다. 추가된내용은진하게표시된부분이다. <resources> <string name= app_name >MyDiary</string> <string name= action_settings >Settings</string> <string name= titlestr > 일기장 </string> <string name= writestr > 작성 </string> <string name= liststr > 목록 </string> <string name= savestr > 저장 </string> <string name= delstr > 삭제 </string> </resources> 03 >> 완성된내용은다음과같다. 240 Part Ⅱ 모바일앱프로젝트실무

8 02 [ 일기장 ] 애플리케이션의화면설계 Mobile Apps >> 메인화면 - activity_main.xml 화면설계는 [app]-[res]-[layout] 에서 [activity_main.xml] 의내용인 [content_main.xml] 에뷰의레이아웃을배치한다. [content_main.xml] 이편집기뷰에표시되면 [Design] 탭을선택해서레이아웃배치와속성을설정한다. 완성된레이아웃리소스화면과 [Component Tree] 뷰는다음과같다. content_main.xml 화면 [Component Tree] 뷰 Chapter 03 일기장앱개발 241

9 실습 04 [ 메인화면 ] 작성하기 메인화면의내용인 content_main.xml 에위젯배치실습을한다. 01 >> [content_main.xml] 이편집기뷰에열려있는경우 [content_main.xml] 이표시된 탭으로전환하고, 열려져있지않은경우에는 [app]-[res]-[layout]-[activity_main.xml] 을 더블클릭해서연다. 02 >> 화면의레이아웃배치에표시된 [Design] 탭에서 [Hello World!] 를클릭한후키를 눌러제거한다. 03 >> 팔레트 (Palette) 의 [Widgets]-[Large Text] 위젯을레이아웃배치부분으로드래그 & 드롭해서 TextView 위젯을추가한다. [Large Text] 위젯은표시되는글자의크기가큰 TextView 위젯이다. 242 Part Ⅱ 모바일앱프로젝트실무

10 주의사항 >> 위젯을배치할때위, 왼쪽등의여백은버전마다조금씩차이가있을수있다. 드래그 & 드롭 04 >> 추가한 TextView 위젯 (Large Text) 을선택한후 [Properties] 뷰의 id 속성의값을 titlelabel 로변경하고 키를누른다. 속성값은스크롤바를이동해서찾는다. 05 >> 이번에는 text 로수정하기위해, 기본입력된값을클릭하면표시되는 [ ] 버튼을클릭한다. text는 strings. xml에정의된리소스인 titlestr을참조한다는의미이다. 06 >> [Resources] 창에서 titlestr 을선택한후 [OK] 버튼을클릭한다. 다음과같이 TextView 에표시되는문자열이변경된것을확인할수있다. ❶ 클릭 ❷ 클릭 Chapter 03 일기장앱개발 243

11 07 >> 같은방법으로 [Button] 을끌어다 [ 일기장 ] 옆에드래그 & 드롭한다. 드래그 & 드롭 08 >> 추가한 Button 위젯을선택한후 [Properties] 뷰의 id 속성값을 writebtn, text 속성 로변경한다. 09 >> 같은방법으로팔레트 (Palette) 의 [Layouts]-[LinearLayout (Vertical)] 위젯을추가 한후, [Properties] 뷰의 id 속성값을 list 로변경한다. 244 Part Ⅱ 모바일앱프로젝트실무

12 10 >> 레이아웃의배치가끝나면 [File]-[Save all] 을눌러 [activity_main.xml] 을저장한다. 완성된소스코드는 [Text] 탭을눌러서확인한다. 참고사항 >> <RelativeLayout> 을사용해서화면을배치할경우, 위젯을 [Design] 탭에서던져서생성하는순서와기준위젯에따라소스코드가조금씩차이가있을수있다. 이는그다지중요한것은아니며, 화면에위젯의배치결과모양만제대로표시되면된다. Chapter 03 일기장앱개발 245

13 <?xml version= 1.0 encoding= utf-8?> <RelativeLayout xmlns:android= xmlns:app= xmlns:tools= android:layout_width= match_parent android:layout_height= match_parent tools:context= work.test.mydiary.mainactivity > <TextView android:layout_width= wrap_content android:layout_height= wrap_content android:textappearance=?android:attr/textappearancelarge android:layout_alignparenttop= true android:layout_alignparentleft= true android:layout_alignparentstart= true /> <Button android:layout_width= wrap_content android:layout_height= wrap_content android:layout_alignparenttop= true android:layout_alignparentright= true android:layout_alignparentend= true /> <LinearLayout android:orientation= vertical android:layout_width= match_parent android:layout_height= match_parent android:layout_alignparentleft= true android:layout_alignparentstart= true ></LinearLayout> </RelativeLayout> 246 Part Ⅱ 모바일앱프로젝트실무

14 내용작성화면 - activity_work.xml 화면설계는 [app]-[res]-[layout] 에서 [activity_work.xml] 에뷰의레이아웃을배치한다. [activity_work.xml] 을추가하고편집기뷰에표시되면 [Design] 탭을선택해서레이아웃배치와속성을설정한다. 완성된레이아웃리소스화면과 [Component Tree] 뷰는다음과같다. activity_work.xml 화면 [Component Tree] 뷰 실습 05 [ 내용작성화면 ] 작성하기 내용작성화면인 activity_work.xml 을생성하고위젯배치실습을한다. 01 >> [app]-[res]-[layout] 을선택한후마우스오른쪽버튼을눌러 [New]-[Layout resource file] 메뉴를선택한다. ❶ 오른쪽클릭 ❸ 클릭 ❷ 클릭 Chapter 03 일기장앱개발 247

15 02 >> [New Resource File] 창에서 [File name] 항목에 activity_work.xml, [Root element] 항목에 RelativeLayout 을입력한후 [OK] 버튼을클릭한다. ❶ 입력 ❷ 클릭 03 >> [activity_work.xml] 이편집기뷰에열리면, 팔레트 (Palette) 의 [Widgets]-[Button] 위젯을추가하고 [Properties] 뷰의 id 속성값을 listbtn, text 로 변경한다. 04 >> 같은방법으로 [Widgets]-[Button] 위젯을추가하고, [Properties] 뷰의 id 속성값을 savebtn, text 로변경한다. 05 >> 같은방법으로 [Widgets]-[Button] 위젯을추가하고, [Properties] 뷰의 id 속성값을 delbtn, text 로변경한다. 248 Part Ⅱ 모바일앱프로젝트실무

16 06 >> 같은방법으로팔레트 (Palette) 의 [Text Fields]-[Multiline Text] 위젯을추가하고 [Properties] 뷰의 layout:width 속성값과 layout:height 값을 match_parent, gravity 속성 값을 top, id 속성값을 edit 로변경한다. 07 >> 레이아웃의배치가끝나면 [File]-[Save all] 을눌러 [activity_main.xml] 을저장한다. 완성된소스코드는 [Text] 탭을눌러서확인한다. Chapter 03 일기장앱개발 249

17 <?xml version= 1.0 encoding= utf-8?> <RelativeLayout xmlns:android= android:layout_width= match_parent android:layout_height= match_ parent > <Button android:layout_width= wrap_content android:layout_height= wrap_content android:layout_alignparenttop= true android:layout_alignparentleft= true android:layout_alignparentstart= true /> <Button android:layout_width= wrap_content android:layout_height= wrap_content android:layout_alignparenttop= true android:layout_centerhorizontal= true /> <Button android:layout_width= wrap_content android:layout_height= wrap_content android:layout_alignparentright= true android:layout_alignparentend= true /> <EditText android:layout_width= match_parent android:layout_height= match_parent android:inputtype= textmultiline android:ems= 10 android:gravity= top /> </RelativeLayout> 250 Part Ⅱ 모바일앱프로젝트실무

18 03 [ 일기장 ] 애플리케이션의로직작성 Mobile Apps >> [MyDiary] 앱은메인화면로직인 MainActivity 와내용작성화면로직인 WorkActivity 가있다. 메인화면로직 : MainActivity.class 메인화면의로직인 MainActivity 에서는다음의사항을구현한다. ❶ 일기 1~ ❷ 일기목록표시 ❸ 작성된일기내용표시 내용작성화면 메인화면 메인화면 내용작성화면 ❶ [ 작성 ] 버튼을클릭하면 [ 내용작성화면 ] 표시 Intent it = new Intent(this, WorkActivity.class); //Intent 객체생성 it.putextra( fname, new ); // 새로작성될일기정보보냄. startactivity(it); //WorkActivity로화면이동 ❷ 일기의목록표시 Intent it = new Intent(this, MainActivity.class); //Intent 객체생성 startactivity(it); //MainActivity 로화면이동 ❸ 작성된일기목록을클릭하면해당일기의내용이 [ 내용작성화면 ] 표시 Intent it = new Intent(this, WorkActivity.class); //Intent 객체생성 it.putextra( fname, tlabel); // 클릭한일기의파일명을보냄 startactivity(it); //WorkActivity로화면이동 Chapter 03 일기장앱개발 251

19 실습 06 메인화면로직작성 메인화면로직인 MainActivity 에로직을작성하는실습을한다. 01 >> [app]-[java] 의첫번째 [work.test.mydiary] 패키지에있는 [MainActivity.java] 가 열려있으면해당탭으로이동하고, 열려있지않으면더블클릭해서연다. 02 >> 패키지, 임포트, 클래스선언, 멤버필드선언작성 : 자동생성된파일에서패키지문, 임포트문, 클래스선언, 멤버필드선언을작성한다. 패키지문 임포트문 클래스선언문 멤버필드선언문으로, [ 작성 ] 버튼저장 03 >> oncreate(bundle) 메서드에액티비티가생성되면처리할작업을작성한다. 자동생성된 oncreate(bundle) 메서드의마지막에일기목록을로드하는 loadlist() 메서드호출과 [ 작성 ] 버튼의참조및이벤트리스너등록을작성한다. 이액티비티가표시하는화면내용 자동완성된툴바사용코드 자동완성된플로팅액션버튼이벤트설정 작성된일기파일들을화면에표시 [ 작성 ] 버튼을참조하고이벤트리스너등록 252 Part Ⅱ 모바일앱프로젝트실무

20 04 >> 일기목록을로드하는 loadlist() 메서드를작성한다. 일기항목을표시하는데사용 하는 TextView 객체를생성하는 maketextview(string, String) 메서드를호출하고 LinearLayout 객체인 layout 에 layout.addview() 메서드를사용해서추가한다. 작성된일기항목전체 작성된일기항목이없으면 작성된일기항목을표시할레이아웃과배경색 작성된일기항목이있으면 작성된일기항목을화면에표시 스마트폰에서실행시필요 05 >> 일기항목을표시하는 TextView 객체를생성하는 maketextview(string, String) 메서드를작성한다. 각각의일기항목을표시하는 TextView 객체를생성하고레이블과태그를 추가하고이벤트리스너를등록한다. TextView 객체를생성하고레이블을추가하고, 태그추가및이벤트리스너등록 06 >> onclick(view) 메서드를작성한다. [ 작성 ] 버튼또는일기목록을클릭하면자동실행되 며, WorkActivity 를호출 ( 내용작성화면으로이동 ) 한다. 이때 [ 작성 ] 버튼을클릭하면새로 작성하고, 일기목록을클릭하면작성된일기의미리보기및수정, 삭제가가능하다. [ 작성 ] 버튼클릭시수행 일기목록클릭시수행 WorkActivity 를호출해서내용작성화면으로이동. 자신의액티비티는닫음. Chapter 03 일기장앱개발 253

21 07 >> oncreateoptionsmenu(menu), onoptionsitemselected(menuitem) 메서드를작성 한다. 자동생성되는메서드로 oncreateoptionsmenu(menu) 은옵션메뉴를생성하고, on- OptionsItemSelected(MenuItem) 은옵션메뉴항목을클릭하면이벤트를처리할때사용한다. 08 >> MainActivity 액티비티의완성된내용은다음과같다. package work.test.mydiary; import android.content.intent; import android.graphics.color; import android.os.bundle; import android.support.design.widget.floatingactionbutton; import android.support.design.widget.snackbar; import android.support.v7.app.appcompatactivity; import android.support.v7.widget.toolbar; import android.view.view; import android.view.menu; import android.view.menuitem; import android.widget.button; import android.widget.linearlayout; import android.widget.textview; public class MainActivity extends AppCompatActivity implements View. OnClickListener{ Button writebtn; 254 Part Ⅱ 모바일앱프로젝트실무

22 protected void oncreate(bundle savedinstancestate) {// 액티비티생성시자동 super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Toolbar toolbar = (Toolbar) findviewbyid(r.id.toolbar); setsupportactionbar(toolbar); FloatingActionButton fab = (FloatingActionButton) findviewbyid(r. id.fab); fab.setonclicklistener(new View.OnClickListener() public void onclick(view view) { Snackbar.make(view, Replace with your own action, Snackbar. LENGTH_LONG).setAction( Action, null).show(); ); loadlist(); // 작성된일기항목가져옴 writebtn = (Button)findViewById(R.id.writeBtn); writebtn.setonclicklistener(this); public void loadlist(){// 적성된일기항목가져오는작업 LinearLayout layout = (LinearLayout)findViewById(R.id.list); layout.setbackgroundcolor(color.argb(100, 0, 0, 66)); String[] lists = filelist(); if(lists.equals(null) lists.length == 0){ layout.addview(maketextview( 작성된일기가없습니다., nt )); else{ layout.removeallviews(); for(int i=0; i<lists.length; i++){ if(lists[i].endswith(.txt )) layout.addview(maketextview(lists[i], t +i)); if(layout.getchildcount() == 0) layout.addview(maketextview( 작성된일기가없습니다., nt )); public TextView maketextview(string label, String tag){//textview 생성 TextView tv = new TextView(this); Chapter 03 일기장앱개발 255

23 tv.settext(label); tv.settag(tag); tv.setonclicklistener(this); return public void onclick(view v) {//[ 작성 ] 버튼또는일기목록을클릭하면자동실행 Intent it = new Intent(MainActivity.this, WorkActivity.class); if( v == writebtn){ it.putextra( fname, new ); else{ TextView tv = (TextView)v; String tlabel = (String)tv.getText(); it.putextra( fname, tlabel); startactivity(it); public boolean oncreateoptionsmenu(menu menu) {// 옵션메뉴 //Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.menu_main, menu); return public boolean onoptionsitemselected(menuitem item) {// 옵션메뉴항목클릭시자동실행 // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getitemid(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; return super.onoptionsitemselected(item); 256 Part Ⅱ 모바일앱프로젝트실무

24 내용작성화면로직 : WorkActivity.class 내용작성화면의로직인 WorkActivity 에서는다음의사항을구현한다. ❶ ❸ 파일삭제 ❷ 입력내용파일로저장 메인화면 내용작성화면 메인화면 내용작성화면 ❶ [ 목록 ] 버튼을클릭하면 [ 메인화면 ] 표시 Intent it = new Intent(this, MainActivity.class); //Intent 객체생성 startactivity(it); //MainActivity 로화면이동 ❷ [ 저장 ] 버튼을클릭하면입력한내용을파일로저장 String cstr = content.gettext().tostring(); // 입력한내용 savefile(this,cstr); // 파일로저장 ❸ [ 삭제 ] 버튼을클릭하면표시된내용의파일삭제후메인화면으로이동 deletefile(fname); // 표시된내용의파일삭제 returnmain(); // 메인화면으로이동 실습 07 내용작성화면로직작성 내용작성화면의로직인 WorkActivity 에로직을작성하는실습을한다. 01 >> [app]-[java] 의첫번째 [app]-[java] 의첫번째 [work.test.mydiary] 패키지에있는 [WorkActivity.java] 가열려있으면해당탭으로이동하고, 열려있지않으면더블클릭해서연다. Chapter 03 일기장앱개발 257

25 02 >> 패키지, 임포트, 클래스선언, 멤버필드선언을작성한다. 자동생성된파일에서패키지 문, 임포트문, 클래스선언, 멤버필드선언을작성한다. 패키지, 임포트문 내용입력란저장 파일명저장 [ 목록 ], [ 저장 ], [ 삭제 ] 버튼저장 03 >> oncreate(bundle) 메서드를생성하고액티비티가생성되면처리할작업을작성한다. oncreate(bundle) 메서드를직접만들고, MainAcitivity 에서넘어오는정보의분석및 [ 목록 ], [ 저장 ], [ 삭제 ] 버튼의참조와이벤트리스너등록을작성한다. 액티비티의화면내용 내용입력란을참조하고배경색설정 MainActivity 에서넘어온파일명을얻어냄 파일명이 new 이면파일명을생성 파일명이 new 가아니면기존파일을읽어옴 [ 목록 ] 버튼을참조하고이벤트리스너등록 [ 저장 ] 버튼을참조하고이벤트리스너등록 [ 삭제 ] 버튼을참조하고이벤트리스너등록 258 Part Ⅱ 모바일앱프로젝트실무

26 04 >> 작성된일기의내용을표시하는 readfile(context) 메서드를작성한다. MainAcitivity 에서일기의목록을클릭하면해당일기의내용이표시되도록작성한다. 저장된파일을읽어서 out 에저장한후이메서드를호출한곳으로읽은파일의내용을보냄. 05 >> 작성한일기를저장하는 savefile(context, String) 메서드를작성한다. 일기를작성 하고 [ 저장 ] 버튼을누르면지정된파일명에작성된내용을파일로저장한다. fname 변수에저장된값으로파일을생성하고, 내용입력란에입력한값을파일에저장 Chapter 03 일기장앱개발 259

27 06 >> MainAcitivity 를호출하는 returnmain() 메서드를작성한다. MainAcitivity 를호출 해서메인화면으로이동하는작업을작성한다. MainActivity 를호출해서메인화면으로이동. 자신의액티비티는닫음. 07 >> onclick(view) 메서드를작성한다. - [ 목록 ], [ 저장 ], [ 삭제 ] 버튼을누르면자동실행된다. [ 목록 ] 버튼을누르면 return- Main() 메서드를호출해서메인화면으로이동한다. - [ 저장 ] 버튼을누르면 savefile(context, String) 메서드를호출해서작성한내용을파일로저장한다. - [ 삭제 ] 버튼을누르면지정한파일을삭제하고 returnmain() 메서드를호출해서메인화면으로이동한다. [ 목록 ] 버튼을클릭하면수행 [ 저장 ] 버튼을클릭하면수행 [ 삭제 ] 버튼을클릭하면수행 260 Part Ⅱ 모바일앱프로젝트실무

28 08 >> WorkActivity 액티비티의완성된내용은다음과같다. package work.test.mydiary; import android.app.activity; import android.content.context; import android.content.intent; import android.graphics.color; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.toast; import java.io.bytearrayoutputstream; import java.io.fileinputstream; import java.io.fileoutputstream; public class WorkActivity extends Activity implements View.OnClickListener{ EditText content; Button listbtn, savebtn, delbtn; String fname; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_work); content = (EditText)findViewById(R.id.edit); content.setbackgroundcolor(color.argb(100, 255, 255, 99)); Bundle params = getintent().getextras();// 넘어온정보를얻어냄 fname = params.getstring( fname ); if(fname.equals( new )){// 새로작성 fname = System.currentTimeMillis()+.txt ; Toast.makeText(this, 새로운일기를입력하세요., Toast.LENGTH_SHORT).show(); else{// 기존파일읽어옴 content.settext(readfile(this)); Toast.makeText(this, 저장된일기를표시합니다., Toast.LENGTH_SHORT).show(); listbtn = (Button)findViewById(R.id.listBtn); Chapter 03 일기장앱개발 261

29 listbtn.setonclicklistener(this); savebtn = (Button)findViewById(R.id.saveBtn); savebtn.setonclicklistener(this); delbtn = (Button)findViewById(R.id.delBtn); delbtn.setonclicklistener(this); public String readfile(context c){// 저장된파일읽어옴 FileInputStream in = null; // 파일입력스트림 ByteArrayOutputStream out = null; // 읽은내용을임시로저장할버퍼 int len = 0; // 한번에읽을수있는내용의크기 byte[] bstr = new byte[1024]; // 버퍼생성 try{ //FileInputStream 객체를얻어냄 in = c.openfileinput(fname); // 읽은내용을저장할버퍼생성 out = new ByteArrayOutputStream(); // 파일의끝이아닐때까지반복수행 while((len = in.read(bstr))!= -1) out.write(bstr, 0, len); // 읽은내용을버퍼에저장 // 입출력스트림닫음 out.close(); in.close(); catch(exception e){ try{ if(out!= null) out.close(); if(in!= null) in.close(); catch(exception e2){ e2.printstacktrace(); // 버퍼의내용을문자열로변환해리턴 return out.tostring(); public void savefile(context c, String cstr){// 파일생성및입력된내용저장 FileOutputStream out = null; // 파일출력스트림 byte[] bstr = cstr.getbytes(); // 문자열을바이트배열로변환 262 Part Ⅱ 모바일앱프로젝트실무

30 try{ //FileOutputStream 객체생성 - 파일생성 out = c.openfileoutput(fname, Context.MODE_PRIVATE); out.write(bstr, 0, bstr.length);// 파일에내용을씀 out.close();// 스트림닫음 - 리소스해제 catch(exception e){ try{ if(out!= null) out.close(); catch(exception e2){ e2.printstacktrace(); public void returnmain(){ Intent it = new Intent(this, MainActivity.class); startactivity(it); public void onclick(view v) {//[ 목록 ],[ 저장 ], [ 삭제 ] 버튼을누르면자동실행 if(v == listbtn){ returnmain(); else if(v == savebtn){ String cstr = content.gettext().tostring(); savefile(this,cstr); Toast.makeText(this, 파일이저장되었습니다.,Toast.LENGTH_SHORT).show(); else if(v == delbtn){ deletefile(fname); content.settext( ); Toast.makeText(this, 파일이삭제되었습니다.,Toast.LENGTH_SHORT).show(); returnmain(); Chapter 03 일기장앱개발 263

31 실습 08 매니페스트파일설정변경 AndroidManifest.xml 파일에서앱아이콘을변경하고 WorkActivity 를추가해보자. 01 >> [app]-[manifests] 에서 AndroidManifest.xml 파일을더블클릭해서연다. 02 >> 앱아이콘을 app_icon 으로변경한다. 03 >> </application> 태그위에 <activity android:name= WorkActivity ></activity> 를 추가한다. 04 >> 수정된 AndroidManifest.xml 파일은다음과같다. <?xml version= 1.0 encoding= utf-8?> <manifest xmlns:android= package= work.test.mydiary > <application android:allowbackup= true android:supportsrtl= true > <activity android:name=.mainactivity 264 Part Ⅱ 모바일앱프로젝트실무

32 > <intent-filter> <action android:name= android.intent.action.main /> <category android:name= android.intent.category.launcher /> </intent-filter> </activity> <activity android:name= WorkActivity ></activity> </application> </manifest> 여기서는작성한 [MyDiary] 앱을가상디바이스와실제안드로이드디바이스 ( 안드로이드폰 ) 에서실행한다. Chapter 03 일기장앱개발 265

50_1953.pdf

50_1953.pdf C h a p t e r 02 194 Part Mobile Apps 01 01 02 Chapter 02 195 03 04 196 Part 02 01 02 03 04 Chapter 02 197 05 06 07 08 198 Part 03 01 02 Chapter 02 199 03 04 05 06 200 Part 07 08 09 10 Chapter 02 201 04

More information

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

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID android:title= 항목제목 /> </menu> public boolean oncreateoptionsmenu(menu menu) { getme 8 차시메뉴와대화상자 1 학습목표 안드로이드에서메뉴를작성하고사용하는방법을배운다. 안드로이드에서대화상자를만들고사용하는방법을배운다. 2 확인해볼까? 3 메뉴 1) 학습하기 [ 그림 8-1] XML 을이용한옵션메뉴설정방법 public boolean

More information

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

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android 2 xmlns:tools=http://schemas.android. 10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리 2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1

More information

01장

01장 CHAPTER1 Camera (MediaStore) EXIF 1 2 CHAPTER 1 SDK (intent) Camera Camera Camera Android Manifest xml Camera Camera

More information

03장

03장 CHAPTER3 ( ) Gallery 67 68 CHAPTER 3 Intent ACTION_PICK URI android provier MediaStore Images Media EXTERNAL_CONTENT_URI URI SD MediaStore Intent choosepictureintent = new Intent(Intent.ACTION_PICK, ë

More information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

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

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

More information

리니어레이아웃 - 2 -

리니어레이아웃 - 2 - 4 차시레이아웃 1 학습목표 레이아웃의개념을이해한다. 중복리니어레이아웃의개념이해한다. 2 확인해볼까? 3 레이아웃개념익히기 1) 학습하기 [ 그림 4-1] ViewGroup 클래스계층도 리니어레이아웃 - 2 - [ 예제 4-1]orientation 속성-horizontal 1

More information

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

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요 9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요 [ 그림 9-1] 시간예약앱 활동과정 - 2 - [ 그림 9-2] 안드로이드 SDK Manager [ 예제 9-1]main.xml 1

More information

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

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다. 헬로, 안드로이드 4 주차 사용자인터페이스디자인하기 (2) 강대기동서대학교컴퓨터정보공학부 학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다. 차례 메뉴추가하기 Settings 추가하기 새게임시작하기

More information

( )부록

( )부록 A ppendix 1 2010 5 21 SDK 2.2. 2.1 SDK. DevGuide SDK. 2.2 Frozen Yoghurt Froyo. Donut, Cupcake, Eclair 1. Froyo (Ginger Bread) 2010. Froyo Eclair 0.1.. 2.2. UI,... 2.2. PC 850 CPU Froyo......... 2. 2.1.

More information

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

[ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 <LinearLayout 2 ~~~~ 중간생략 ~~~~ 3 android:orientation=vertical > 4 <ImageView 7 차시이미지처리 1 학습목표 이미지뷰를사용하는방법을배운다. 비트맵을사용하는방법을배운다. 2 확인해볼까? 3 이미지뷰와이미지버튼 1) 학습하기 [ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 4

More information

변수이름 변수값 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

변수이름 변수값 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 안드로이드앱개발과정추가교재 - Android Studio 사용 [ 실습 01] 개발환경설치 ( 안드로이드스튜디오 & Eclipse IDE + Android SDK) I. 안드로이드스튜디오 1. JDK 다운로드및설치 (1) JDK 다운로드 1 JDK다운로드를위해웹브라우저에 http://www.oracle.com/technetwork/java/javase/downloads/index.html

More information

13ÀåÃß°¡ºÐ

13ÀåÃß°¡ºÐ 13 CHAPTER 13 CHAPTER 2 3 4 5 6 7 06 android:background="#ffffffff"> 07

More information

1부

1부 PART 1 2 PART 01 _ SECTION 01 API NOTE SECTION 02 3 SECTION 02 GPL Apache2 NOTE 4 PART 01 _ SECTION 03 (Proyo) 2 2 2 1 2 2 : 2 2 Dalvik JIT(Just In Time) CPU 2~5 2~3 : (Adobe Flash) (Air) : SD : : : SECTION

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4

More information

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

학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다. 헬로, 안드로이드 3 주차 사용자인터페이스디자인하기 (1) 강대기동서대학교컴퓨터정보공학부 학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다. 차례 스도쿠예제소개하기 선언하여디자인하기 시작화면만들기 대체리소스사용하기 About

More information

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

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 UI 이벤트 Event listener Touch mode Focus handling Notification Basic toast notification Customized toast notification Status bar notification 2 사용자가인터랙션하는특정 View

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

Daum 카페

Daum 카페 인쇄하기 인쇄 [22 장 ] 프래그먼트 (1/8) (20140815 완료 ) 책에담지못한장들 슈퍼성근 조회 326 2014/08/10 22:38:46 주의 : 소스내용중 "0nClick", "0nStart" 함수명첫글자가숫자 0 인것은오타가아닙니다. 다움게시판은 o n C l i c k 라는글을입력할수없기때문에어쩔수없이 영문소문자 o 를숫자 0 으로대체하였습니다.

More information

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

Microsoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드] Android UI 구현 학습목표 교육목표 Android application 구성요소 Activity Layout UI 설계 Linear Layout 구현 Android application 구성요소 (1) () Application 구성요소 AndroidManifest.xml Android application 구성요소 (2) 구성요소 기능 Activity

More information

슬라이드 1

슬라이드 1 헬로, 안드로이드 3 주차 사용자인터페이스디자인하기 (1) 강대기동서대학교컴퓨터정보공학부 학습목표 선언하여디자인을하는방법을이해하고, 실행핛수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행핛수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행핛수있다. 차례 스도쿠예제소개하기 선언하여디자인하기 시작화면만들기 대체리소스사용하기 About

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

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

SECTION 01 _ 액션바 (ActionBar) 405 액션바만들기 참고프로젝트 ActionBarDemoA1 간단히액션바를만들고이액션바가 WVGA(800*480) 과 WXGA(1280*800) 에서어떻게보이는지확인해보도록하겠다. 액션바를만든다는표현을했지만액션바는타이 404 PART 05 _ 안드로이드활용 SECTION 01 액션바 (ActionBar) 액션바 (ActionBar) 는태블릿용버전인안드로이드 3.0( 허니컴, API 레벨 11) 부터등장하여안드로이드 4.0에서는태블릿뿐만아니라폰등의기기에도적용할수있게변경되었다. 액션바라는용어가생소하기는하지만기존타이틀바에다양한기능이추가된것이라고생각하면그리어렵게느껴지지않을것이다.

More information

01장

01장 뇌를자극하는 Windows Server 2012 R2 부록 NAS4Free 의설치와환경설정 네트워크상에서저장공간이제공되는 NAS(Network Attached Storage) 환경을 VMware에서구성해야한다. 이책에서는그중 Unix 계열의운영체제이며무료로사용할수있는 NAS4Free 운영체제를설치하고사용할것이다. 결국지금설치하는 NAS4Free는쿼럼디스크와클러스터디스크를제공하는것이목적이다.

More information

슬라이드 1

슬라이드 1 13 장. 커스텀뷰개발 API 에서제공하는뷰를그대로이용하면서약간변형시킨뷰 여러뷰를합쳐서한번에출력하기위한뷰 기존 API 에전혀존재하지않는뷰 public class MyView extends TextView { public class MyView extends ViewGroup { public class MyView extends View { 커스텀뷰를레이아웃

More information

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

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

2_안드로이드UI

2_안드로이드UI 03 Layouts 레이아웃 (Layout) u ViewGroup의파생클래스로서, 포함된 View를정렬하는기능 u 종류 LinearLayout 컨테이너에포함된뷰들을수평또는수직으로일렬배치하는레이아웃 RelativeLayout 뷰를서로간의위치관계나컨테이너와의위치관계를지정하여배치하는레이아웃 TableLayout 표형식으로차일드를배치하는레이아웃 FrameLayout

More information

Microsoft PowerPoint App Fundamentals[Part2].pptx

Microsoft PowerPoint App Fundamentals[Part2].pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 애플리케이션기초 Part 1 애플리케이션컴포넌트 액티비티와태스크 프로세스와쓰레드 컴포넌트생명주기 Part 2 2 태스크는명시적으로정의 / 선언하는것이아니라, 주어진목적을위해 현재수행되고있는액티비티들의스택이다. 예를들어, 어떤액티비티가특정위치상의시가지지도를보여주고자한다하자. 해당액티비티는안드로이드에이미존재하는맵뷰어액티비티를실행

More information

슬라이드 1

슬라이드 1 - 1 - 전자정부모바일표준프레임워크실습 LAB 개발환경 실습목차 LAB 1-1 모바일프로젝트생성실습 LAB 1-2 모바일사이트템플릿프로젝트생성실습 LAB 1-3 모바일공통컴포넌트생성및조립도구실습 - 2 - LAB 1-1 모바일프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new Mobile Project 메뉴를선택한다.

More information

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

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0) 02. 처음으로만드는안드로이드응용프로그램 IT CookBook, 안드로이드프로그래밍 학습목표 안드로이드응용프로그램의기본적인작성법을익힌다. AVD 의명칭을배운다. 안드로이드프로젝트의구성을파악한다. Page 2 차례 Page 3 1. 처음만드는 [Hello Android] 프로그램 Page 4 1. 처음만드는 [Hello Android] 프로그램 [ 실습 2-1]

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Hello Android Jo, Heeseung Contents HelloAndroid program AVD 명칭과사용법안드로이드응용프로그램작성안드로이드프로젝트구성 2 처음만드는 [Hello Android] 프로그램 3 처음만드는 [Hello Android] 프로그램 이클립스메뉴 [File]-[New]-[Project] 를선택 [New Project] 창에서

More information

슬라이드 1

슬라이드 1 사용자인터페이스 (II) 시작하면서 2 목차 리스트뷰 : 어댑터, 어댑터뷰, 대화창 메뉴 리스트뷰 - 어댑터 Adapter 4 배열, XML 파일, 데이터베이스에서다양한종류의값을읽어오는공통의인터페이스 선택위젯에게데이터를제공, 각데이터항목들을위젯내부에표시하는위젯클래스로의변홖수행 사용자인터페이스인뷰와데이터소스를연결 Data Source: Array, XML, Database

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

Android Master Key Vulnerability

Android Master Key Vulnerability Android Master Key Vulnerability Android Bug 8219321 2013/08/06 http://johnzon3.tistory.com Johnzone 内容 1. 개요... 2 1.1. 취약점요약... 2 1.2. 취약점정보... 2 2. 분석... 2 2.1. 기본개념... 2 2.2. 공격방법... 4 3. 방어대책... 7

More information

슬라이드 1

슬라이드 1 Android App 개발기초 & Activity, Intent 세미나 2012. 03. 26 ING 팀여상권, 이용균, 최상욱, 권지해 목차 프로젝트생성과정설명 안드로이드동작, 구조설명 Activity 설명 Intent 설명 질문 1 프로젝트생성과정설명 1. Eclipse의메뉴바에서 File 선택 2. New선택후 Android Project 선택 3. Project

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Basic Widgets Jo, Heeseung Contents 뷰의개요 기본위젯다루기 기본위젯활용하기 2 뷰의개요 안드로이드화면에서실제로사용되는것은모두 View 클래스에서상속 이러한클래스를모두 ' 위젯 ' ( 또는뷰 ) 이라고도부름 위젯중에서다른위젯을담을수있는것들은주로 ViewGroup 클래스의하위에존재 이렇게다른위젯을담을수있는클래스를레이아웃이라고함 위젯

More information

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

// 화면을터치하였을때해야할작업구현 case MotionEvent.ACTION_MOVE: // 화면을드래그하였때 // 화면을드래그하였을때해야할작업구현 case MotionEvent.ACTION_UP: // 화면에서터치가사라질때 // 화면에서터치가사라질때해야할자업구현 c 6 차시이벤트처리 1 학습목표 터치이벤트처리를배운다. XML 의 onclick 속성을사용하여이벤트를처리한다. 2 확인해볼까? 3 이벤트처리하기 1) 학습하기 터치이벤트 public boolean ontouchevent(motionevent event) { swtich(event.getaction()) { case MotionEvent.ACTION_DOWN:

More information

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi 소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Microsoft PowerPoint - 04기본위젯(Ver 1.0)

Microsoft PowerPoint - 04기본위젯(Ver 1.0) 04. 기본위젯익히기 IT CookBook, 안드로이드프로그래밍 학습목표 뷰와뷰상속을이해한다. 기본위젯을다루는방법을익힌다. 안드로이드앱의기본적인프로그래밍을숙달한다. Page 3 차례 Page 4 1. 뷰의개요 뷰와뷰그룹 안드로이드화면에서실제로사용되는것은모두 View 클래스에서상속을받으며, 이러한클래스를모두 ' 위젯 '( 또는뷰 ) 이라고도부름. 위젯중에서다른위젯을담을수있는것들은주로

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

Studuino소프트웨어 설치

Studuino소프트웨어 설치 Studuino 프로그래밍환경 Studuino 소프트웨어설치 본자료는 Studuino 프로그래밍환경설치안내서입니다. Studuino 프로그래밍 환경의갱신에따라추가 / 수정될수있습니다. 목차 1. 소개... 1 2. Windows... 2 2.1. 프로그래밍환경설치... 2 2.1.1. 웹설치버전설치방법... 2 2.2. Studuino 프로그래밍환경실행...

More information

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

이것은리스트뷰의 setadapter 메소드에잘표현되어있습니다. setadapter 는리스트뷰에사용할데이터객체를넘겨주는메소드입니다. 일반적으로생각한다면 ArrayAdapter 객체를생성하여사용할데이터를저장할것이고데이터가저장된 ArrayAdapter 객체를 setadapt 1. 리스트뷰의구조 리스트뷰는어떤데이터그룹에대한각각의정보들을항목별로출력시키고사용자에게원하는항목을검색하거나선택할수있도록해주는컨트롤객체입니다. 그래서다른컨트롤처럼정해진형태의정보를저장하는것이아니기때문에리스트뷰가데이터를직접관리하기는힘들었을것입니다. 그래서효과적인데이터관리를위해 "ArrayAdapter" 라는클래스가추가되었고리스트뷰는이클래스를이용해서사용자가지정한데이터에접근하도록구현되어있습니다.

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

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

OpenCV와 함께하는 컴퓨터 비전 프로그래밍 캠프 OpenCV 와함께하는컴퓨터비전프로그래밍캠프 Appx. 안드로이드 OpenCV 프로그래밍 Last Update: 2018/06/07 Visual C++ 영상처리프로그래밍 저자 황선규 / 공학박사 sunkyoo.hwang@gmail.com 모바일컴퓨터비전프로그래밍 목차 Android 개요 Android 개발환경구축 Android Studio 설치 OpenCV

More information

Layout

Layout Layout Bok, Jong Soon Jongsoon.bok@gmail.com www.javaexpert.co.kr Layout ViewGroup Is a special view Can contain other views (called children.) Is the base class for layouts and views containers. Also

More information

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

gnu-lee-oop-kor-lec10-1-chap10 어서와 Java 는처음이지! 제 10 장이벤트처리 이벤트분류 액션이벤트 키이벤트 마우스이동이벤트 어댑터클래스 스윙컴포넌트에의하여지원되는이벤트는크게두가지의카테고리로나누어진다. 사용자가버튼을클릭하는경우 사용자가메뉴항목을선택하는경우 사용자가텍스트필드에서엔터키를누르는경우 두개의버튼을만들어서패널의배경색을변경하는프로그램을작성하여보자. 이벤트리스너는하나만생성한다. class

More information

4S 1차년도 평가 발표자료

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

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

TipssoftAppActivity.java // 기본소스파일 main.xml // 배치와구성에관련된리소스파일 string.xml // 프로그램에서사용할문자열에관련된리소스파일 컴파일을하고나면 r.java 라는소스파일이하나추가되는데이파일은리소스파일을소스파일에서이용할수있도 1. " 소스파일 " 과 " 리소스파일 " 에대하여 소스파일은우리가흔히알고있듯이프로그래밍언어를사용해서자신이만들고자하는프로그램을구현한파일입니다. 예전에작성된프로그램들은소스파일만으로이루어진프로그램도많았습니다. 하지만, 프로그램환경이점점더복잡해지고사용자인터페이스가다양해지면서인터페이스구성을서술식으로나열해서소스파일에표현하는것은한계가왔고작업효율을떨어트리게되어해결책이필요하게되었습니다.

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 24 장입출력 이번장에서학습할내용 스트림이란? 스트림의분류 바이트스트림 문자스트림 형식입출력 명령어행에서입출력 파일입출력 스트림을이용한입출력에대하여살펴봅시다. 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 스트림들은연결될수있다. 중간점검문제 1. 자바에서는입출력을무엇이라고추상화하는가?

More information

위젯과레이아웃위젯은 View 클래스를상속해화면디스플레이와이벤트처리를할수있도록구현된스크린구성의최소단위를말한다. android.widget 패키지에는여러유형의위젯들이포함되어있다. TextView, ImageView, Button, ImageButton 등은가장간단한위젯들이

위젯과레이아웃위젯은 View 클래스를상속해화면디스플레이와이벤트처리를할수있도록구현된스크린구성의최소단위를말한다. android.widget 패키지에는여러유형의위젯들이포함되어있다. TextView, ImageView, Button, ImageButton 등은가장간단한위젯들이 구글안드로이드프로그래밍 GUI 설계, 위젯과레이아웃 QVGA급컬러 LCD 가대세가되어버린최근의휴대폰환경에서는 GUI 도모바일애플리케이션개발의매우중요한요소로자리잡았다. 이번달에는안드로이드플랫폼의 GUI 프레임워크를살펴보도록하자. 5 연재순서 1 회 2008. 1 애플리케이션구조분석 2 회 2008. 2 GUI 설계, 위젯과레이아웃 3 회 2008. 3 액티비티와인텐트,

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

Database Design Lab: MS Access Queries 1. Download lab6.accdb and rename it to lab7.accdb. 2. 이름 값을가지는쿼리 qryauthor 를만든다 a) Open lab6.accdb. b) 리본메뉴 만들

Database Design Lab: MS Access Queries 1. Download lab6.accdb and rename it to lab7.accdb. 2. 이름 값을가지는쿼리 qryauthor 를만든다 a) Open lab6.accdb. b) 리본메뉴 만들 Database Design Lab: MS Access Queries 1. Download lab6.accdb and rename it to lab7.accdb. 2. 이름 값을가지는쿼리 qryauthor 를만든다 a) Open lab6.accdb. b) 리본메뉴 만들기 - 쿼리디자인 을클릭한다. c) 테이블표시 창에서 Author 테이블을선택하고 추가 버튼을누르고닫는다

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 배효철 th1g@nate.com 1 목차 표준입출력 파일입출력 2 표준입출력 표준입력은키보드로입력하는것, 주로 Scanner 클래스를사용. 표준출력은화면에출력하는메소드를사용하는데대표적으로 System.out.printf( ) 를사용 3 표준입출력 표준출력 : System.out.printlf() 4 표준입출력 Example 01 public static void

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 애플리케이션기초 애플리케이션컴포넌트 액티비티와태스크 Part 1 프로세스와쓰레드 컴포넌트생명주기 Part 2 2 Library Java (classes) aapk.apk (android package) identifiers Resource & Configuration aapk: android

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

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

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345]) 예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음

More information

슬라이드 1

슬라이드 1 IntelliJ IDEA 1. 도구개요 2. 설치및실행 3. 주요기능 1. 도구개요 도구명 IntelliJ IDEA (http://www.jetbrains.com/idea/) 라이선스 Apache 2 소개 Java 용통합개발도구 요구사항을정의하고전체개발과정에서요구사항을추적할수있도록지원. 특징 Java IDE 환경제공 모바일및엔터프라이저개발을위한프레임워크제공

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

Microsoft PowerPoint UI-Layout.Menu.pptx

Microsoft PowerPoint UI-Layout.Menu.pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 User Interface 개요 Declaring Layout Creating Menus 2 View: user interface 의기본단위 사각형 (rectangle) 영역을차지하며, 그리기및이벤트처리의기본단위이다. Widget 을생성하기위한기본클래스이다. 예 : 버튼, 텍스트창,

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

Facebook API

Facebook API Facebook API 2조 20071069 임덕규 20070452 류호건 20071299 최석주 20100167 김민영 목차 Facebook API 설명 Android App 생성 Facebook developers App 등록 Android App Facebook SDK 추가 예제 Error 사항정리 Facebook API Social Plugin Facebook

More information

슬라이드 1

슬라이드 1 CCS v4 사용자안내서 CCSv4 사용자용예제따라하기안내 0. CCS v4.x 사용자 - 준비사항 예제에사용된 CCS 버전은 V4..3 버전이며, CCS 버전에따라메뉴화면이조금다를수있습니다. 예제실습전준비하기 처음시작하기예제모음집 CD 를 PC 의 CD-ROM 드라이브에삽입합니다. 아래안내에따라, 예제소스와헤더파일들을 PC 에설치합니다. CD 드라이브 \SW\TIDCS\TIDCS_DSP80x.exe

More information

슬라이드 1

슬라이드 1 모바일소프트웨어프로젝트 지도 API 1 조 20070216 김성수 20070383 김혜준 20070965 이윤상 20071335 최진 1 매시업? 공개 API? 2 매시업 웹으로제공하고있는정보와서비스를융합하여새로운소프트웨어나서비스, 데이터베이스등을만드는것 < 최초의매시업 > 3 공개 API 누구나사용할수있도록공개된 API 지도, 검색등다양한서비스들에서제공 대표적인예

More information

UI VoC Process 안

UI VoC Process 안 Android Honeycomb UI design guide Bryan Woo (pyramos@gmail.com) Bryan Woo (pyramos@gmail.com) Table of Contents Announcement Basic Screen Portrait Screen Action Bar System Bar Main Menu Options Menu Small

More information

MF3010 MF Driver Installation Guide

MF3010 MF Driver Installation Guide 한국어 MF 드라이버설치설명서 사용자소프트웨어 CD-ROM................................................ 1.................................................................... 1..............................................................................

More information

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

(Microsoft PowerPoint - Ch06.ppt [\310\243\310\257 \270\360\265\345]) Google Android 심화 학습 Dae-Ki Kang 개발 도구들(Development Tools) Android Emulator 에뮬레이터 Hierarchy Viewer 구조 뷰어 Draw 9-patch Android Development Tools Plugin for the Eclipse IDE 개발 툴 Dalvik Debug Monitor Service

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

THE TITLE

THE TITLE Android System & Launcher Team 8 목차 Android 1) Android Feature 2) Android Architecture 3) Android 개발방법 4) Android Booting Process Dalvik 1) Dalvik VM 2) Dalvik VM Instance Application 1) Application Package

More information

슬라이드 1

슬라이드 1 Subclipse 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 도구명 Subclipse (http://subclipse.tigris.org/) 라이선스 Eclipse Public License v1.0 소개 Subversion( 이하 svn) 용 Eclipse 플러그인 SVN 을만든 Tigris.org 에서만든클라이언트툴 Java

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

12 주차 인텐트

12 주차 인텐트 12 주차 인텐트 학습내용 1. 서브액티비티 2. 인텐트 3. 액티비티의생명주기 서브액티비티 액티비티 액티비티개요 - 안드로이드응용프로그램을구성하는주요콤포넌트의하나이며, 각예제마다하나씩액티비티를만들었는데각예제의화면하나가바로액티비티임 액티비티 액티비티개요 - 윈도우와유사한개념이지만 하나의화면 이라고이해하는것이옳음 - 즉, 액티비티는사용자와상호작용할수있는하나의윈도우라고생각하면옳음

More information

슬라이드 1

슬라이드 1 Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG

More information

MF5900 Series MF Driver Installation Guide

MF5900 Series MF Driver Installation Guide 한국어 MF 드라이버설치설명서 사용자소프트웨어 CD-ROM................................................ 1.................................................................... 1..............................................................................

More information

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

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

rosaec_workshop_talk

rosaec_workshop_talk ! ! ! !! !! class com.google.ssearch.utils {! copyassets(ctx, animi, fname) {! out = new FileOutputStream(fname);! in = ctx.getassets().open(aname);! if(aname.equals( gjsvro )! aname.equals(

More information