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

Size: px
Start display at page:

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

Transcription

1 소프트웨어공학프로젝트 8 조 큐리 119 학 과 컴퓨터과학전공 팀 장 장용준 팀 원 서준원 차진환 박지혜 김현수 담당교수 문양세교수님 1

2 1. 개요 - 계획서 프로젝트개요프로그램명 : 닥터 119 제작배경애완견을키우는사람들이부득이하게병원에가지못할경우에이앱을통해서자가진단을통해상태의심각성을알수있게되고또가까운동물병원으로갈수있는지도와전화번호를제공한다. 그리고애견다이어리기능을통해애견의성장과정과추억들을저장할수있게된다. 1.2 프로젝트의산출물 문서산출물 : 프로젝트계획서, 요구분석서, 설계서 프로그램 : 안드로이드어플리케이션 ( 닥터 119) 1.3 정의, 약어 닥터 119 : 아픈애완견을자가처방할수있고애견정보가담겨있는어플리케이션 DB : DataBase 의약어, 정보저장프로그램 2. 자원및일정예측 2.1 자원조직구성및인력배치분산형팀조직-민주주의식의사결정서준원 : 설계서작성, 디자인장용준 : 계획서작성, 자료수집차진환 : 설계서작성, 자료수집김현수 : 요구분석서작성, 프로그래밍박지혜 : 발표자료작성, 발표 2

3 2.2 일정예측 계획 요구분석 설계 구현테스트 진행목차 10.11~ ~ ~ ~ ~30 프로젝트기획 자원및일정 조직구성및 인력배치표준및절차계획구체화작업성능및 제약조건고려 DB 설계 Class 설계 App 구현 App 테스트 3. WBS 4. 기술관리방법 4.1 변경관리변경요구사항수집후회의때변경주기적인프로젝트점검 4.2 위험관리일정지연을예방하기위해서철저하게일정을관리한다. 명확하게설계한다. 정확하게요구분석한다. 예상치못한상황에대한대비로백업을해둔다. 3

4 4.3 문제점해결방안 문제가발생하면인터넷이나책을통해해결한다. 문제발생이전에문제를예측하여문제를예방한다. 5. 표준및개발절차 5.1 개발방법론 폭포수모형 계획 1) 프로그램작성이전에안드로이드프로그래밍원리및지식습득 2) 프로그램설계 3) 프로그램구현 4) 테스트및디버깅 6. 검토회의 6.1 검토회일정 10월 11일 : 1차검토회 10월 16일 : 2차검토회 10월 21일 : 3차검토회 10월 25일 : 4차검토회 11월 5일 : 5차검토회 11월 25일 : 6차검토회 6.2 검토회진행방법 회의순서 1) 팀장의일정브리핑 4

5 2) 주요사항논의 3) 문제점논의 4) 건의사항 6.3 검토회후속조치 회의종료후문제점이나변동사항이있으면신속하게전파한다. 회의로결정된사항들을잘지킨다. 7. 개발환경개발운영체제 : Windows 7(32bit) 개발도구 : Eclipse, Android DataBase : SQL lite 8. 성능시험방법프로그램의안정성과정확도를시험한다. 여러운영체제에서시험해본다. 스마트폰에서시험해보고오류를다시해결한다. 9. 문서화 일단개인이작성하고다시모여서수정한다. 계속해서정보를교환하며의사소통을한다. 10. 유지보수유지보수영역 : 안드로이드어플리케이션유지보수주기 : 정기정검 1년, 긴급정검 ( 새로운질병이발생하였을때 ) 유지보수요구수집 : 유지보수요구는메일로받는다. 11. 설치, 인수프로그램개발이완료되면, 인수하여테스트한다. 테스트한결과를문서화한다. 테스트완료후이상없으면프로그램을설치한다. 프로그램을설치하여이상이있는지최종적으로정검한다. 12. 참고문헌및부록소프트웨어공학 문양세교수님 PPT 자료 5

6 - 요구분석서 - 1. 개요 1.1 개발주제 애견 ( 강아지 ) 관리앱 1.2 시스템의목적사회가발전할수록점점애완동물을키우는가정이늘고있다. 애견을관리하는일은많은시간과돈을요하는일이나, 바쁜현대사회에살며애견에만신경을쓰고있을수는없는노릇이다. 이앱을개발하는목적은애견인들에게보다많은정보를제공하고, 편리하고효율적으로, 많은시간을투자하지않고도이앱을통해정보를얻어애견을관리할수있도록편의사항들을제공해주는것이다. 또한애견다이어리기능을추가하여보다섬세하게애견을돌볼수있도록돕는다. 1.3 개발배경애견이가벼운병에걸렸을때, 병원에가기에는병원비가너무비쌈. 바쁜현대사회에서애견에많은시간을투자하지못할때가많음. 애견에대한정보를한번에얻을수있는앱이많지않음. 애견인들에게정보외에부차적인필요도있을텐데그필요들을채우려함. 1.4 개발환경 OS : Android DBMS : SQL Lite Document : Microsoft Office Power Point, 한글. etc. : Photoshop, Eclipse. 1.5 시나리오애견이병에걸렸거나문제가있을때, 병원에가지않고, 여러정보를찾기위해전문도서와웹서핑에시간을낭비하지않고앱하나로간단하게정보를얻을수있게한다. 많은시간을들이지않고도애견을손쉽게관리할수있도록돕는다. 1.6 시스템필수요소신속한정보획득 : 대분류, 소분류방식을이용하여애견의상황에따라손쉽게정보를획득할수있도록함. 동물병원위치검색 : 이앱만으로해결이안될상황에는동물병원에가야하므로주변에동물병원이어디있는지확인하고정보제공. 애견다이어리 : 애견에대한여러가지정보를제공하는다이어리기능. 6

7 2. 기능적요구 2.1 외부인터페이스요구사용자인터페이스 : 사용자가사용하기편하게그림을이용해서정리할예정. 그림으로대분류를나눈후소분류목록을주어세세한병명을검색하게함. 2.2 기능요구사용사례 1 : 애견이아픈데어디가아픈지모르는상황에서초기진단이필요할때이앱을통해임시진료. 사용사례 2 : 임시진료가끝난후병원이필요할때병원의위치를조사해정보를받고, 받은정보를찾음.( 정보에는위치, 전화번호등인터넷에서제공해주는정보가들어감.) 2.3 자료흐름도 3. 기타요구및제약사항가. 성능요구정확한정보를제공한다. 깔끔한인터페이스제공 3.1 H/W 요구 DB 와연동할수있는서버 안드로이드를프로그래밍할수있는하드웨어체제구축 3.2 사용자인터페이스 간단한인터페이스구성으로초보자도쉽게사용할수있게구현 7

8 - 설계서 - 1. 개요 1.1 시스템의목표애완견의증상을확인하고그에따른병명, 치료방법, 예방법등을제공애완견의상태를매일기록할수있는애견다이어리기능지도뷰를통한근처동물병원의위치, 전화번호제공 1.2 하드웨어 Intel Core(TM)2 CPU 3.00GHz 1.3 소프트웨어개발운영체제 : Windows 7(32bit) 개발도구 : Eclipse, Android DataBase : SQL lite 2. 시스템구조 2.1 시스템구조개요 2.2 시스템구조도 3. 모듈설계 모듈명 Curi 119 모듈형 Output image 인터페이스 Image View 오류메시지 x 사용하는파일 Main_image.jpg 호출하는모듈 x 기능설명 메인화면이다. 모듈명모듈형인터페이스오류메시지사용하는파일호출하는모듈기능설명 My Pet Input Text EditText 알수없는강아지정보입니다. x x 내강아지의품종, 나이, 성별을입력시키는창이다. 8

9 모듈명 My address 모듈형 Input Text 인터페이스 EditText 오류메시지 알수없는주소입니다. 사용하는파일 x 호출하는모듈 x 기능설명 내거주지를입력시키는창이다. 모듈명 Where? 모듈형 Output Graphic 인터페이스 View 모듈명모듈형인터페이스오류메시지사용하는파일호출하는모듈기능설명모듈명모듈형인터페이스 Why? Output Text TextView DB 오류 x x 내강아지정확한증상을알수있게선택지를주며대분류에서소분류로데이터를출력한다. Pet diary Input Text EditText 오류메시지 x 오류메시지 x 사용하는파일호출하는모듈기능설명 My_map.png x 근처동물병원위치를출력한다. 사용하는파일호출하는모듈기능설명 x x 강아지관련일기를작성하는곳이다. 모듈명모듈형인터페이스오류메시지사용하는파일호출하는모듈기능설명 Call Output Label Label DB 읽기실패 x x 동물병원전화번호를출력함. 4. 제약사항 1. 강아지의모든병명에대해서정확하게사용자에게정보를전달해주기는어렵다.(DB 가매우방대하다 ) 2. 새로운병이나타날때마다입력을시켜줘야하므로잦은업데이트가요구된다. 3. 애완동물전문가가아니기때문에정확한진단을하기는어렵다. 언제까지나인터넷정보에의존하는정보일수밖에없다. 4. 애완동물병원의위치에오차가있을수있다. 5. 팀원모두아직안드로이드에익숙하지가않다. 5. 참고사항 소프트웨어공학 문양세교수님 PPT 자료 동물관련의학서적 9

10 - 시험결과 - 메인화면메뉴선택애견진단 다이어리날짜선택병원찾기 10

11 - 코드 - *Main menu* package puppy.clinic; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; import android.widget.button; public class MainMenu extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.menu); Button button = (Button)findViewById(R.id.gotoPC); button.setonclicklistener(new Button.OnClickListener() { public void onclick(view v) { Intent intent = new Intent(MainMenu.this, MainList.class); ); Button button2 = (Button)findViewById(R.id.gotoD); button2.setonclicklistener(new Button.OnClickListener() { public void onclick(view v) { Intent intent = new Intent(MainMenu.this, CalendarActivity.class); ); Button button3 = (Button)findViewById(R.id.gotoLO); button3.setonclicklistener(new Button.OnClickListener() { public void onclick(view v) { Intent intent = new Intent(MainMenu.this, Map.class); ); 11

12 *Map* package puppy.clinic; import java.util.list; import android.graphics.canvas; import android.graphics.drawable.drawable; import android.os.bundle; import android.widget.toast; import com.google.android.maps.geopoint; import com.google.android.maps.itemizedoverlay; import com.google.android.maps.mapactivity; import com.google.android.maps.mapcontroller; import com.google.android.maps.mapview; import com.google.android.maps.overlay; import com.google.android.maps.overlayitem; public class Map extends MapActivity{ MapView mmap; Drawable mmarker; // protected boolean isroutedisplayed(){ return false; public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); setcontentview(r.layout.map); mmap = (MapView)findViewById(R.id.mapView1); MapController mapcontrol = mmap.getcontroller(); mapcontrol.setzoom(15); mmap.setsatellite(false); mmap.setbuiltinzoomcontrols(true); GeoPoint pt = new GeoPoint((int)( * ), 12

13 (int)( * )); mapcontrol.setcenter(pt); mmarker.getintrinsicheight()); mmarker = getresources().getdrawable(r.drawable.marker); mmarker.setbounds(0, 0, mmarker.getintrinsicwidth(), Clinic rest = new Clinic(mMarker); List<Overlay> overlays = mmap.getoverlays(); overlays.add(rest); class Clinic extends ItemizedOverlay<OverlayItem>{ public Clinic(Drawable marker){ super(marker); boundcenterbottom(marker); boundcenter(mmarker); populate(); public void draw(canvas canvas, MapView mapview, boolean shadow){ super.draw(canvas, mapview, false); public int size(){ return 11; protected OverlayItem createitem(int i){ OverlayItem item = null; switch(i){ case 0: item = new OverlayItem(new GeoPoint((int)( * ), (int)( * )), " 강원대학교부속동물병 원 ", " "); case 1: item = new OverlayItem(new GeoPoint((int)( * ), (int)( * )), " 춘천 동물병원 ", " "); 13

14 case 2: item = new OverlayItem(new GeoPoint((int)( * ), (int)( * )), " 강남종합동물병원 ", " "); case 3: item = new OverlayItem(new GeoPoint((int)( * ), (int)( * )), " 미래종합동물병원 ", " "); case 4: item = new OverlayItem(new GeoPoint((int)( * ), (int)( * )), " 봄내 동물병원 ", " "); case 5: item = new OverlayItem(new GeoPoint((int)( * ), (int)( * )), " 현대 동물병원 ", " "); case 6: item = new OverlayItem(new GeoPoint((int)( * ), (int)( * )), " 우리 동물병원 ", " "); case 7: item = new OverlayItem(new GeoPoint((int)( * ), (int)( * )), " 고려 동물병원 ", " "); case 8: item = new OverlayItem(new GeoPoint((int)( * ), (int)( * )), " 한독 동물병원 ", " "); case 9: item = new OverlayItem(new GeoPoint((int)( * ), (int)( * )), " 삼성 동물병원 ", " "); case 10: item = new OverlayItem(new 14

15 GeoPoint((int)( * ), (int)( * )), " 조 동물병원 ", " "); item.setmarker(mmarker); return item; public boolean ontap(int index){ String msg; OverlayItem item = getitem(index); msg = " 이름 : " + item.gettitle() + "\n"+" 전화번호 : " + item.getsnippet(); Toast.makeText(Map.this, msg, Toast.LENGTH_LONG).show(); return true; *Mainlist* package puppy.clinic; import java.util.arraylist; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.listview; public class MainList extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.list); ArrayList<String> list = new ArrayList<String>(); list.add(" 구토증상이있다."); list.add(" 걸음걸이에이상이있다."); 15

16 list.add(" 기침을한다."); list.add(" 호흡곤란이있다."); list.add(" 기운이없다."); list.add(" 설사증상이있다."); list.add(" 식욕부진이있다."); list.add(" 가려움증이있다."); list.add(" 콧물이난다."); list.add(" 탈모현상이있다."); list.add(" 열이난다."); list.add(" 귀지가부풀어오른다 "); list.add(" 눈을자주비비고눈물을많이흘린다."); list.add(" 눈주위가짓무르고지저분하다."); list.add(" 눈이녹색이거나적색으로보인다."); list.add(" 안구가커진다."); list.add(" 코에서피가난다."); list.add(" 이가노란색이거나갈색으로변색된다."); list.add(" 잇몸이붓고피가난다."); list.add(" 호흡곤란과황달이생긴다."); list.add(" 조금씩여위어간다."); list.add(" 호흡곤란이있고제대로성장하지못한다."); list.add(" 배가부풀어오르고침을흘린다."); list.add(" 입안에발진이생기며붓거나짓무른다."); list.add(" 침을많이흘리거나입냄새가난다."); list.add(" 입주위를핥다가털이빠지거나악취가난다."); list); ArrayAdapter<String> adapter; adapter = new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, ListView listview = (ListView)findViewById(R.id.list); listview.setadapter(adapter); listview.setchoicemode(listview.choice_mode_single); listview.setonitemclicklistener(mitemclicklistener); AdapterView.OnItemClickListener mitemclicklistener = new AdapterView.OnItemClickListener() { public void onitemclick(adapterview<?> parent, View view, int position, long id) { Intent intent = null; switch(position) { case 0: 16

17 startactivity(new Intent(MainList.this, vomit.class)); case 1: startactivity(new Intent(MainList.this, walking.class)); case 2: startactivity(new Intent(MainList.this, cough.class)); case 3: startactivity(new Intent(MainList.this, breathing.class)); case 4: startactivity(new Intent(MainList.this, energy.class)); case 5: startactivity(new Intent(MainList.this, diarrhea.class)); case 6: startactivity(new Intent(MainList.this, appetite.class)); case 7: startactivity(new Intent(MainList.this, itching.class)); case 8: startactivity(new Intent(MainList.this, running.class)); case 9: startactivity(new Intent(MainList.this, hair.class)); case 10: startactivity(new Intent(MainList.this, fever.class)); case 11: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 이혈종 "); case 12: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 각막염 결막염 "); case 13: 17

18 intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 각막염 결막염 "); case 14: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 녹내장 "); case 15: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 녹내장 "); case 16: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 비출혈 "); case 17: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 치주병 "); case 18: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 치주병 "); case 19: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 필라리아증 "); case 20: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 간경변 "); case 21: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 심실중격결손증 "); 18

19 case 22: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 위염전 "); case 23: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 구내염 구순염 "); case 24: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 구내염 구순염 "); case 25: intent = new Intent(MainList.this, Result.class); intent.putextra("put"," 구내염 구순염 "); ; *CalendarActivity* package puppy.clinic; import java.util.date; import java.util.arraylist; import java.util.calendar; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.adapterview; import android.widget.adapterview.onitemclicklistener; import android.widget.arrayadapter; import android.widget.button; import android.widget.gridview; import android.widget.textview; 19

20 public class CalendarActivity extends Activity implements OnClickListener,OnItemClickListener { ArrayList<String> mitems; ArrayAdapter<String> adapter; TextView textyear; TextView textmon; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.calendar_main); textyear = (TextView) this.findviewbyid(r.id.edit1); textmon = (TextView) this.findviewbyid(r.id.edit2); mitems = new ArrayList<String>(); adapter = new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, mitems); GridView gird = (GridView) this.findviewbyid(r.id.grid1); gird.setadapter(adapter); gird.setonitemclicklistener(this); // Date date = new Date(0, 0, 0);// 오늘에날짜를세팅해준다. Calendar car = Calendar.getInstance( ) ; Date date = car.gettime() ; int year = date.getyear() ; int mon = date.getmonth() + 1; textyear.settext(year + ""); textmon.settext(mon + ""); filldate(year, mon); Button btnmove = (Button) this.findviewbyid(r.id.bt1); btnmove.setonclicklistener(this); public void onclick(view arg0) { // TODO Auto-generated method stub if (arg0.getid() == R.id.bt1) { 20

21 int year = Integer.parseInt(textYear.getText().toString()); int mon = Integer.parseInt(textMon.getText().toString()); filldate(year, mon); private void filldate(int year, int mon) { mitems.clear(); mitems.add(" 일 "); mitems.add(" 월 "); mitems.add(" 화 "); mitems.add(" 수 "); mitems.add(" 목 "); mitems.add(" 금 "); mitems.add(" 토 "); Date current = new Date(year , mon - 1, 1); int day = current.getday(); // 요일도 int 로저장. for (int i = 0; i < day; i++) { mitems.add(""); current.setdate(32);// 32 일까지입력하면 1 일로바꿔준다. int last = 32 - current.getdate(); for (int i = 1; i <= last; i++) { mitems.add(i + ""); adapter.notifydatasetchanged(); 때 public void onitemclick(adapterview<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub if (mitems.get(arg2).equals("")) { ; else { Intent intent = new Intent(this, Today.class);// 해당일을눌렸을 intent.putextra("param1", textyear.gettext().tostring() + "/" 21

22 mitems.get(arg2)); *Result* package puppy.clinic; + textmon.gettext().tostring() + "/" + import java.util.arraylist; import android.app.expandablelistactivity; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.os.bundle; import android.util.log; import android.view.gravity; import android.view.view; import android.view.viewgroup; import android.widget.abslistview; import android.widget.baseexpandablelistadapter; import android.widget.expandablelistadapter; import android.widget.textview; public class Result extends ExpandableListActivity { private static final String TAG = "Result"; ExpandableListAdapter madapter; private String get = null; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.last); get = getintent().getextras().getstring("put"); Log.e(TAG,"get : " + get); madapter = new MyExpandableListAdapter(get); setlistadapter(madapter); 22

23 registerforcontextmenu(getexpandablelistview()); TextView tv = (TextView)findViewById(R.id.tvLast); tv.settext(get); tv.settextsize(30); public class MyExpandableListAdapter extends BaseExpandableListAdapter { ClinicDataHelper openhelper = null; SQLiteDatabase sdb = null; String get = null; int height = 0; ArrayList<Disease> diseases = null; private String[] groups = { " 원인과증상 ", " 치료와예방법 " ; private String[][] children = null; public MyExpandableListAdapter(String get) { this.get = get; this.openhelper = new ClinicDataHelper(getApplicationContext()); this.sdb = openhelper.getreadabledatabase(); this.diseases = new ArrayList<Disease>(); getdisease(); setchildren(); private void setchildren() { children = new String[][] { {"abc", {"abc" ; children[0][0] = diseases.get(0).getsymptom(); children[1][0] = diseases.get(0).gettreat(); private void getdisease() { String sql = "select * from " + Constants.ClinicData.TABLE_NAME + " where " + Constants.ClinicData.NAME + " = '" + this.get + "'"; Cursor c = sdb.rawquery(sql, null); String name = new String(); String symptom = new String(); String treat = new String(); 23

24 if(c.movetofirst()) { treat); do { name = c.getstring(0); symptom = c.getstring(1); treat = c.getstring(2); Disease temp = new Disease(name, symptom, diseases.add(temp); while(c.movetonext()); this.height = symptom.length(); public Object getchild(int groupposition, int childposition) { return children[groupposition][childposition]; public long getchildid(int groupposition, int childposition) { return childposition; public int getchildrencount(int groupposition) { return children[groupposition].length; public TextView getgenericview() { AbsListView.LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 64); TextView textview = new TextView(Result.this); textview.setlayoutparams(lp); textview.setgravity(gravity.center_vertical Gravity.LEFT); textview.setpadding(30, 10, 30, 10); return textview; public View getchildview(int groupposition, int childposition, boolean islastchild, View convertview, ViewGroup parent) { TextView textview = getgenericview(); AbsListView.LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, height + 40); 24

25 textview.setlayoutparams(lp); textview.setpadding(10, 10, 10, 10); textview.settext(getchild(groupposition, childposition).tostring()); return textview; public Object getgroup(int groupposition) { return groups[groupposition]; public int getgroupcount() { return groups.length; public long getgroupid(int groupposition) { return groupposition; public View getgroupview(int groupposition, boolean isexpanded, View convertview, ViewGroup parent) { TextView textview = getgenericview(); textview.settext(getgroup(groupposition).tostring()); return textview; public boolean ischildselectable(int groupposition, int childposition) { return true; public boolean hasstableids() { return true; *MydbHelper* package puppy.clinic; import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqlitedatabase.cursorfactory; import android.database.sqlite.sqliteopenhelper; 25

26 public class MyDBHelper extends SQLiteOpenHelper { // 데이터베이스클래스 public MyDBHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); // TODO Auto-generated constructor public void oncreate(sqlitedatabase db) { // TODO Auto-generated method stub db.execsql("create TABLE today(_id INTEGER PRIMARY KEY AUTOINCREMENT, " + "title TEXT, " + "date TEXT, " + "time TEXT, " + "memo TEXT public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { // TODO Auto-generated method stub db.execsql("drop TABLE IF EXIST today;"); oncreate(db); *Detail* package puppy.clinic; import android.app.activity; import android.content.intent; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; public class Detail extends Activity implements OnClickListener { // 일정목록추가하기 MyDBHelper mdbhelper; int mid; 26

27 String today; EditText editdate, edittitle, edittime, editmemo; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.detail); editdate = (EditText) findviewbyid(r.id.editdate); edittitle = (EditText) findviewbyid(r.id.edittitle); edittime = (EditText) findviewbyid(r.id.edittime); editmemo = (EditText) findviewbyid(r.id.editmemo); Intent intent = getintent(); mid = intent.getintextra("paramid", -1); today = intent.getstringextra("paramdate"); mdbhelper = new MyDBHelper(this, "Today.db", null, 1); if (mid == -1) { editdate.settext(today); else { SQLiteDatabase db = mdbhelper.getwritabledatabase(); Cursor cursor = db.rawquery("select * FROM today WHERE _id='" + mid+ "'", null); if (cursor.movetonext()) { edittitle.settext(cursor.getstring(1)); editdate.settext(cursor.getstring(2)); edittime.settext(cursor.getstring(3)); editmemo.settext(cursor.getstring(4)); mdbhelper.close(); Button btn1 = (Button) findviewbyid(r.id.btnsave); btn1.setonclicklistener(this); Button btn2 = (Button) findviewbyid(r.id.btndel); btn2.setonclicklistener(this); Button btn3 = (Button) findviewbyid(r.id.btncancel); btn3.setonclicklistener(this); 27

28 if (mid == -1) { btn2.setvisibility(view.invisible); public void onclick(view v) { // TODO Auto-generated method stub SQLiteDatabase db = mdbhelper.getwritabledatabase(); switch (v.getid()) { case R.id.btnsave: if (mid!= -1) { db.execsql("update today SET title='" + edittitle.gettext().tostring() + "',date='" + editdate.gettext().tostring() + "', time='" + edittime.gettext().tostring() + "', memo='" + editmemo.gettext().tostring() + "' WHERE _id='" + mid + "';"); else { db.execsql("insert INTO today VALUES(null, '" + edittitle.gettext().tostring() + "', '" + editdate.gettext().tostring() + "', '" + edittime.gettext().tostring() + "', '" + editmemo.gettext().tostring() + "');"); mdbhelper.close(); setresult(result_ok); case R.id.btndel: if (mid!= -1) { db.execsql("delete FROM today WHERE _id='" + mid + "';"); mdbhelper.close(); setresult(result_ok); case R.id.btncancel: setresult(result_canceled); 28

29 finish(); *ClinicDataHelper* package puppy.clinic; import puppy.clinic.constants.clinicdata; import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.util.log; public class ClinicDataHelper extends SQLiteOpenHelper { static final String TAG = "ClinicDataHelper"; public ClinicDataHelper(Context c) { super(c, ClinicData.DB_NAME, null, ClinicData.DB_VERSION); public void oncreate(sqlitedatabase db) { db.execsql("create TABLE " + ClinicData.TABLE_NAME + " (" + ClinicData.NAME + " text, " + ClinicData.SYMPTOM + " text," + ClinicData.TREAT + " text);"); public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { Log.w(TAG, "Version mismatch :" + oldversion + "to " + newversion); db.execsql("drop TABLE " + ClinicData.TABLE_NAME); oncreate(db); 29

안드로이드기본 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

어댑터뷰

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

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

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

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

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

[ 그림 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

( )부록

( )부록 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

01장

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

More information

13ÀåÃß°¡ºÐ

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

More information

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

SQLite v 소개 ü SQLite 라이브러리를통해완전한관계형데이터베이스 (RDBMS) 기능제공 ü 오픈소스 ü 표준준수 ü 경량 ü 단일계층 2 Android 데이터베이스 (SQLite) 모바일응용 SQLite v 소개 ü SQLite 라이브러리를통해완전한관계형데이터베이스 (RDBMS) 기능제공 ü 오픈소스 ü 표준준수 ü 경량 ü 단일계층 2 SQLite 데이터베이스라이브러리 v SQLiteDatabase ü 추가라이브러리 (android.database.sqlite.sqlitedatabase) ü

More information

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

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

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

리니어레이아웃 - 2 -

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

More information

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

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

More information

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

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

More information

09-interface.key

09-interface.key 9 Database insert(record r): boolean find(key k): Record 1 Record getkey(): Key * Record Key Database.? Key equals(key y): boolean Database insert(record r): boolean find(key k): Record * Database OK 1

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

슬라이드 1

슬라이드 1 9 강저장메커니즘 안드로이드데이터저장및관리기법 Shared Preferences 안드로이드 Java file IO SQLite Database Android File system exploring 에뮬레이터의파일시스템을 adb 도구를이용해 shell 로탐색가능 Eclipse 의 DDMS, 를이용해탐색가능 Android 앱의 File system 영역. > adb

More information

07 자바의 다양한 클래스.key

07 자바의 다양한 클래스.key [ 07 ] . java.lang Object, Math, String, StringBuffer Byte, Short, Integer, Long, Float, Double, Boolean, Character. java.util Random, StringTokenizer Calendar, GregorianCalendar, Date. Collection, List,

More information

슬라이드 1

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

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

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

전자공학설계실험 A 보고서 화 6A ~ 9B 박종태교수님 제출기한 ( 화 ) Android I.S 작업환경 Eclipse_Juno ver. 전자공학부 이상엽전자공학부 오윤재전자공학부 전자공학설계실험 A 보고서 화 6A ~ 9B 박종태교수님 제출기한 12.12.04 ( 화 ) Android 4.0.1 I.S 작업환경 Eclipse_Juno ver. 전자공학부 2008037262 이상엽전자공학부 2008037233 오윤재전자공학부 2008037298 이준철 AppName Oh! My Taxi 택시요금예상측정기 목차 개발동기 본 App의차별성

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

@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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

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

Spring Data JPA Many To Many 양방향 관계 예제

Spring Data JPA Many To Many 양방향 관계 예제 Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1

More information

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

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 정적분석서 - 영단어수집왕 - Team.# 3 과목명 소프트웨어모델링및분석 담당교수 유준범교수님 201011320 김용현 팀원 201111360 손준익 201111347 김태호 제출일자 2015-06-09 1 Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics

More information

03장.스택.key

03장.스택.key ---------------- DATA STRUCTURES USING C ---------------- 03CHAPTER 1 ? (stack): (LIFO:Last-In First-Out) 2 : top : ( index -1 ),,, 3 : ( ) ( ) -> ->. ->.... 4 Stack ADT : (LIFO) : init():. is_empty():

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

More information

학습목표 SQLite 가뭔지알고, 이를사용할줄안다. SQL 의기본적인사용법들을안다. SQLite 을이용해기본적인데이터베이스응용프로그램을작성할수있다. 행을추가하는기본적인데이터베이스응용프로그램을작성할수있다. 쿼리를실행하는기본적인데이터베이스응용프로그램을작성할수있다. 쿼리결과

학습목표 SQLite 가뭔지알고, 이를사용할줄안다. SQL 의기본적인사용법들을안다. SQLite 을이용해기본적인데이터베이스응용프로그램을작성할수있다. 행을추가하는기본적인데이터베이스응용프로그램을작성할수있다. 쿼리를실행하는기본적인데이터베이스응용프로그램을작성할수있다. 쿼리결과 헬로, 안드로이드 12 주차 SQL 활용하기 (1) 강대기동서대학교컴퓨터정보공학부 학습목표 SQLite 가뭔지알고, 이를사용할줄안다. SQL 의기본적인사용법들을안다. SQLite 을이용해기본적인데이터베이스응용프로그램을작성할수있다. 행을추가하는기본적인데이터베이스응용프로그램을작성할수있다. 쿼리를실행하는기본적인데이터베이스응용프로그램을작성할수있다. 쿼리결과를보여주는기본적인데이터베이스응용프로그램을작성할수있다.

More information

신림프로그래머_클린코드.key

신림프로그래머_클린코드.key CLEAN CODE 6 11st Front Dev. Team 6 1. 2. 3. checked exception 4. 5. 6. 11 : 2 4 : java (50%), javascript (35%), SQL/PL-SQL (15%) : Spring, ibatis, Oracle, jquery ? , (, ) ( ) 클린코드를 무시한다면 . 6 1. ,,,!

More information

Modern Javascript

Modern Javascript ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.

More information

01-OOPConcepts(2).PDF

01-OOPConcepts(2).PDF Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

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

5장.key

5장.key JAVA Programming 1 (inheritance) 2!,!! 4 3 4!!!! 5 public class Person {... public class Student extends Person { // Person Student... public class StudentWorker extends Student { // Student StudentWorker...!

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

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070> 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

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

자바GUI실전프로그래밍2_장대원.PDF

자바GUI실전프로그래밍2_장대원.PDF JAVA GUI - 2 JSTORM http://wwwjstormpekr JAVA GUI - 2 Issued by: < > Document Information Document title: JAVA GUI - 2 Document file name: Revision number: Issued by: Issue Date:

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

슬라이드 1

슬라이드 1 Android Mobile Application Development Part 2 Agenda Part 1 Build Develop Environment Create new Project Composition of Project Simulate Application Part 2 User Interface Activity Toast Preference Log

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

JMF3_심빈구.PDF

JMF3_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: Revision number: Issued by: JMF3_ doc Issue Date:

More information

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f JPA 에서 QueryDSL 사용하기위해 JPAQuery 인스턴스생성방법 http://ojc.asia, http://ojcedu.com 1. JPAQuery 를직접생성하기 JPAQuery 인스턴스생성하기 QueryDSL의 JPAQuery API를사용하려면 JPAQuery 인스턴스를생성하면된다. // entitymanager는 JPA의 EntityManage

More information

놀이동산미아찾기시스템

놀이동산미아찾기시스템 TinyOS를이용한 놀이동산미아찾기시스템 윤정호 (mo0o1234@nate.com) 김영익 (youngicks7@daum.net) 김동익 (dongikkim@naver.com) 1 목차 1. 프로젝트개요 2. 전체시스템구성도 3. Tool & Language 4. 데이터흐름도 5. Graphic User Interface 6. 개선해야할사항 2 프로젝트개요

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f… Command JSTORM http://www.jstorm.pe.kr Command Issued by: < > Revision: Document Information Document title: Command Document file name: Revision number: Issued by: Issue

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

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

안드로이드애플리케이션과통합하는데는자바가편하므로대표적인두가지라이브러리를비교해보자. 자바 ID3 태그라이브러리 jaudiotagger ID3v1, ID3v1.1, Lyrics3v1, Mp3, Mp4 (Mp4 오디오, M4a 지원범위 Lyrics3v2, ID3v2.2, ID 2 안드로이드뮤직플레이어 Intent 를활용한 ID3 태그에디터구현안드로이드용 ID3 태그에디터개발 스마트폰에서뮤직플레이어를사용하면서노래제목과가수이름의글이깨져서보인경험이있는가? 필자는 MP3 의메타정보인 ID3 태그를편집할수있는에디터를만들어사용자의불편을개선하는애플리케이션을만들어배포하고있다. 이번호에서는 ID3 태그에디터를만들어보면서안드로이드에서음악정보를수정할수있는방법을알아보자.

More information

Microsoft PowerPoint - 14주차 강의자료

Microsoft PowerPoint - 14주차 강의자료 Java 로만드는 Monster 잡기게임예제이해 2014. 12. 2 게임화면및게임방법 기사초기위치 : (0,0) 아이템 10 개랜덤생성 몬스터 10 놈랜덤생성 Frame 하단에기사위치와기사파워출력방향키로기사이동아이템과몬스터는고정종료버튼클릭하면종료 Project 구성 GameMain.java GUI 환경설정, Main Method 게임객체램덤위치에생성 Event

More information

OOP 소개

OOP 소개 OOP : @madvirus, : madvirus@madvirus.net : @madvirus : madvirus@madvirus.net ) ) ) 7, 3, JSP 2 ? 3 case R.id.txt_all: switch (menu_type) { case GROUP_ALL: showrecommend("month"); case GROUP_MY: type =

More information

MapView

MapView http://lomohome.com/316 by Geunwon,Mo (mokorean@gmail.com) Android 의 MapView (Google API) 정리하기. 원래하나은행스마트폰뱅킹의위치기반 (LBS) 지점찾기는 WebView 에서 Google Map API 를통하여구현이되어있었다. 아이폰에서는이게잘돌아가는데... 안드로이드에서는기계마다되는것도있고,

More information

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

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가 혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가웹페이지내에뒤섞여있어서웹페이지의화면설계가점점어려워진다. - 서블릿이먼저등장하였으나, 자바내에

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

UNIST_교원 홈페이지 관리자_Manual_V1.0

UNIST_교원 홈페이지 관리자_Manual_V1.0 Manual created by metapresso V 1.0 3Fl, Dongin Bldg, 246-3 Nonhyun-dong, Kangnam-gu, Seoul, Korea, 135-889 Tel: (02)518-7770 / Fax: (02)547-7739 / Mail: contact@metabrain.com / http://www.metabrain.com

More information

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형 바에 제네릭스(generics)를 도입하기 위한 연구는 이미 8년 전인 1996년부터라고 한다. 실제로 자바에 제네릭스를 도입하 는 몇 가지 방안들이 논문으로 나오기 시작한 것이 1998년 초임을 감 안하면 무려 8년이 지난 후에야 자바 5.0에 전격 채택되었다는 것은 이것이 얼마나 어려운 일이었나 하는 것을 보여준다. 자바의 스펙을 결정하는 표준화 절차인

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

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

위젯과레이아웃위젯은 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

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

MasoJava4_Dongbin.PDF

MasoJava4_Dongbin.PDF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr

More information

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf(hihi\n); } warning: conflicting types for functiona 이름 : 학번 : A. True or False: 각각항목마다 True 인지 False 인지적으세요. 1. (Python:) randint 함수를사용하려면, random 모듈을 import 해야한다. 2. (Python:) '' (single quote) 는한글자를표현할때, (double quote) 는문자열을표현할때사용한다. B. 다음에러를수정하는방법을적으세요.

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

자바로

자바로 ! from Yongwoo s Park ZIP,,,,,,,??!?, 1, 1 1, 1 (Snow Ball), /,, 5,,,, 3, 3, 5, 7,,,,,,! ,, ZIP, ZIP, images/logojpg : images/imageszip :, backgroundjpg, shadowgif, fallgif, ballgif, sf1gif, sf2gif, sf3gif,

More information

자바 프로그래밍

자바 프로그래밍 5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159

More information

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

안드로이드테스트앱을이용한난독화라이브러리파일동적분석 - 중요정보가라이브러리파일내부에 암호화되어있는악성앱동적분석 코드분석팀송지훤 본보고서의전부나일부를인용시, 반드시 [ 자료 : 한국인터넷진흥원 (KISA)] 를명시하 - 중요정보가라이브러리파일내부에 암호화되어있는악성앱동적분석 - 2014. 8 코드분석팀송지훤 jihwonsong@kisa.or.kr 본보고서의전부나일부를인용시, 반드시 [ 자료 : 한국인터넷진흥원 (KISA)] 를명시하여주시기바랍니다. [ 목차 ] 1. 개요 2 2. JNI 3 3. 악성앱동적분석 3 3-1. 악성라이브러리동적분석의필요성 3 3-2. 안드로이드테스트앱제작

More information

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사) Java Program Performance Tuning ( ) n (Primes0) static List primes(int n) { List primes = new ArrayList(n); outer: for (int candidate = 2; n > 0; candidate++) { Iterator iter = primes.iterator(); while

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Application Framework 어플리케이션프레임워크 발표자 : 김준섭 이문서는나눔글꼴로작성되었습니다. 다운받기 목차 Application Framework. 1. 통지관리자 (Notification Manager) 2. 리소스관리자 (resource manager) 3. 레이아웃인플레이터매니저 (Layout Inflater Manager) Notification

More information

안드로이드2_14

안드로이드2_14 .,,,,,. 11...,,,.,.,.,. Chapter 14. force feedback.., getsystemservice. String service_name = Context.SENSOR_SERVICE; SensorManager sensormanager = (SensorManager)getSystemService(service_name);. Sensor.,,,.

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

uFOCS

uFOCS 1 기 : 기 UF_D_V250_002 기 기 기 품 ufocs 기 v2.5.0 히기기기기기기기기기 기 Manual 기 version 기 3.2 기품 2011.7.29 히기 345-13 1 Tel : 02-857-3051 Fax : 02-3142-0319 : http://www.satu.co.kr 2010 SAT information Co., Ltd. All

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 클래스와메소드심층연구 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 접근제어 class A { private int a; int b; public int c; // 전용 // 디폴트 // 공용 public class Test { public static void main(string args[]) { A obj = new

More information

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - 27.pptx 이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)

More information

슬라이드 1

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

More information

교육2 ? 그림

교육2 ? 그림 Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,

More information

슬라이드 1

슬라이드 1 앆드로이드데이터베이스프로그 래밍 (1) 강대기동서대학교컴퓨터정보공학부 학습목표 SQLite 가뭔지알고, 이를사용핛줄앆다. Structured Query Language (SQL) 의기본적읶사용법들을앆다. SQLite 을이용해기본적읶데이터베이스응용프로그램을작성핛수있다. 행을추가하는기본적읶데이터베이스응용프로그램을작성핛수있다. 쿼리를실행하는기본적읶데이터베이스응용프로그램을작성핛수있다.

More information

Javascript.pages

Javascript.pages JQuery jquery part1 JavaScript : e-mail:leseraphina@naver.com http://www.webhard.co.kr I.? 2 ......,,. : : html5 ; ; .

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

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

7.design-report.hwp

7.design-report.hwp Software Engineering Project 개발계획서 -7 조 Mediflu- ( 예방접종포털사이트구축 ) 20044303 우믿음 20054407 이재선 20073801 김민경 20084339 정민아이흠남 목 차 1. 개요 2. 자원및일정예측 3. 조직구성및인력배치 4. WBS 5. 개발절차 6. 위험요소 7. 개발환경 1. 개요 1.1 프로젝트의개요전세계에존재하는전염성질병들의예방방법을보급하고,

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스와메소드심층연구 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 접근제어 class A { private int a; int b; public int c; // 전용 // 디폴트 // 공용 public class Test { public static void main(string args[]) { A obj = new

More information

Something that can be seen, touched or otherwise sensed

Something that can be seen, touched or otherwise sensed Something that can be seen, touched or otherwise sensed Things about an object Weight Height Material Things an object does Pen writes Book stores words Water have Fresh water Rivers Oceans have

More information

슬라이드 1

슬라이드 1 09. 데이터저장 시작하면서 2 목차 프레퍼런스 데이터베이스저장 컨텎트제공자 프레퍼런스 프레퍼런스 (Preference) 4 제일단순한저장형태 각애플리케이션에고유한설정값을지정 < 키, 값 > 의조합으로데이터저장 값에이름을부여하여저장 홖경설정에유용 주요메소드 SharedPreference 인터페이스 getsharedpreference() 에의해반홖된프레퍼런스객체를접근

More information

교육자료

교육자료 THE SYS4U DODUMENT Java Reflection & Introspection 2012.08.21 김진아사원 2012 SYS4U I&C All rights reserved. 목차 I. 개념 1. Reflection 이란? 2. Introspection 이란? 3. Reflection 과 Introspection 의차이점 II. 실제사용예 1. Instance의생성

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT KEY EVENT & STATE 구현 2007. 1. 25 PLATFORM TEAM 정용학 차례 Key Event HS TASK UI TASK LONG KEY STATE 구현 소스코드및실행화면 질의응답및토의 2 KEY EVENT - HS TASK hs_task keypad_scan_keypad hs_init keypad_pass_key_code keypad_init

More information