학습목표 게임이나프로그램에옵션을추가하는방법을알아본다. 이전의프로그램을계속하기위해상태를저장하는방법을알아본다. 게임에서현재의실행위치를저장하는방법에대해알아본다. 내부의파일시스템을읽고쓰는방법에대해알아본다. SD 카드에접근하는방법에대해알아본다. 여러 UI 위젯들에대해알아본다.

Size: px
Start display at page:

Download "학습목표 게임이나프로그램에옵션을추가하는방법을알아본다. 이전의프로그램을계속하기위해상태를저장하는방법을알아본다. 게임에서현재의실행위치를저장하는방법에대해알아본다. 내부의파일시스템을읽고쓰는방법에대해알아본다. SD 카드에접근하는방법에대해알아본다. 여러 UI 위젯들에대해알아본다."

Transcription

1 헬로, 안드로이드 9 주차 로컬데이터저장하기 강대기동서대학교컴퓨터정보공학부

2 학습목표 게임이나프로그램에옵션을추가하는방법을알아본다. 이전의프로그램을계속하기위해상태를저장하는방법을알아본다. 게임에서현재의실행위치를저장하는방법에대해알아본다. 내부의파일시스템을읽고쓰는방법에대해알아본다. SD 카드에접근하는방법에대해알아본다. 여러 UI 위젯들에대해알아본다. 음악재생에있어 Service 클래스를이용하는방법을알아본다.

3 차례 스도쿠에옵션추가하기 이전게임계속하기 현재위치기억하기 내부파일시스템엑세스하기 SD 카드액세스하기 위젯 메뉴 다이얼로그 ( 대화상자 ) 여러 UI 뷰들 음악재생에 Service 클래스를배경으로사용 요약 퀴즈 연습문제

4 스도쿠에옵션추가하기 메뉴를누르고설정을선택하면 Settings 액티비티가시작되어사용자가게임옵션을변경가능 Settings 는 PreferenceActivity 의확장이므로, Settings 값은프로그램의기본설정영역에저장 (Settings.java) 옵션키 ( 음악과힌트 ) 는 /res/xml/settings.xml 과동일 Music.Play() 수정하여음악의기본설정을확인하도록함 (Music.java) 힌트의기본설정확인을위해 PuzzleView 수정 (PuzzleView.java)

5 /src/org/example/sudoku/settings.jav a public class Settings extends PreferenceActivity { // Option names and default values private static final String OPT_MUSIC = "music"; private static final boolean OPT_MUSIC_DEF = true; private static final String OPT_HINTS = "hints"; private static final boolean OPT_HINTS_DEF = protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); addpreferencesfromresource(r.xml.settings); /** Get the current value of the music option */ public static boolean getmusic(context context) { return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(OPT_MUSIC, OPT_MUSIC_DEF); /** Get the current value of the hints option */ public static boolean gethints(context context) { return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(OPT_HINTS, OPT_HINTS_DEF);

6 /src/org/example/sudoku/music.java /** Stop old song and start new one */ public static void play(context context, int resource) { stop(context); // Start music only if not disabled in preferences if (Settings.getMusic(context)) { mp = MediaPlayer.create(context, resource); mp.setlooping(true); mp.start();

7 /src/org/example/sudoku/puzzleview. java if (Settings.getHints(getContext())) { // Draw the hints... // Pick a hint color based on #moves left Paint hint = new Paint(); int c[] = { getresources().getcolor(r.color.puzzle_hint_0), getresources().getcolor(r.color.puzzle_hint_1), getresources().getcolor(r.color.puzzle_hint_2), ; Rect r = new Rect(); for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { int movesleft = 9 - game.getusedtiles(i, j).length; if (movesleft < c.length) { getrect(i, j, r); hint.setcolor(c[movesleft]); canvas.drawrect(r, hint);

8 이전게임계속하기 스마트폰게임의경우, 사용자가아무때고게임을중도에그만둘수있는데, 나중에이어서할수있게해야함 게임의상태정보저장 퍼즐의상태는한타일당한문자, 즉 81 개의문자들의문자열로저장 퍼즐데이터키상수 (PREF_PUZZLE) 및이전게임의계속을위한상수 (DIFFICULTY_CONTINUE) (Game.java) onpause() 에서게임저장 (Game.java) getpuzzle() 에서저장된게임다시읽음. 이때, DIFFICULTY_CONTINUE 확인 (Game.java) 계속하기버튼이눌리면, Sudoku.onClick() 에 DIFFICULTY_CONTINUE 를전달하고 startgame() 을호출하는코드를추가. startgame() 은 Game 액티비티에난이도전달. Game.onCreate() 는 Intent.getIntExtra() 를호출해난이도정보를읽은뒤, 그정보를 getpuzzle() 에전달 액티비티가저절로사라졌다가다시시작되는경우에도게임복원해야함. Game.onCreate() 메서드변경 (Game.java)

9 /src/org/example/sudoku/game.java private static final String PREF_PUZZLE = "puzzle" ; protected static final int DIFFICULTY_CONTINUE = protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); Log.d(TAG, "oncreate"); int diff = getintent().getintextra(key_difficulty, DIFFICULTY_EASY); puzzle = getpuzzle(diff); calculateusedtiles(); puzzleview = new PuzzleView(this); setcontentview(puzzleview); puzzleview.requestfocus(); //... // If the activity is restarted, do a continue next time getintent().putextra(key_difficulty, protected void onpause() { super.onpause(); Log.d(TAG, "onpause"); Music.stop(this); // Save the current puzzle getpreferences(mode_private).edit().putstring(pref_puzzle, topuzzlestring(puzzle)).commit(); /** Given a difficulty level, come up with a new puzzle */ private int[] getpuzzle(int diff) { String puz; switch (diff) { case DIFFICULTY_CONTINUE: puz = getpreferences(mode_private).getstring(pref_puzzle, easypuzzle); break; case DIFFICULTY_HARD: puz = hardpuzzle; break; case DIFFICULTY_MEDIUM: puz = mediumpuzzle; break; case DIFFICULTY_EASY: default: puz = easypuzzle; break; return frompuzzlestring(puz);

10 /src/org/example/sudoku/sudoku.jav a public void onclick(view v) { switch (v.getid()) { case R.id.continue_button: startgame(game.difficulty_continue); break; //... case R.id.about_button: Intent i = new Intent(this, About.class); startactivity(i); break; // More buttons go here (if any)... case R.id.new_button: opennewgamedialog(); break; case R.id.exit_button: finish(); break;

11 현재위치기억하기 스도쿠게임도중, 화면방향을바꾸면커서가위치를잃음 사용자가만든 View 인 PuzzleView 를사용하기때문에자동으로상태저장을안함 지속적 (Persistent) 상태와는달리인스턴스 (Instance) 상태는영구적이지않고, 안드로이드어플리케이션스택의 Bundle 클래스에저장됨 인스턴스상태는커서의위치와같은소량의정보에사용됨 Activity.onSaveInstanceState() 는안드로이드는뷰계층구조를따라내려오며 ID 를가진모든뷰에서 View.onSaveInstanceState() 호출함. onrestoreinstancestate() 도동일한작업을함. 여기서 ID 는 XML 에서오지만, PuzzleView 는우리가만든것이므로 setid() 메서드로직접설정함 onsaveinstancestate() 는 Bundle 에슈퍼클래스를호출해서받은상태저장후, 자신의정보저장해서반환. onrestoreinstancestate() 는반대로저장된정보를빼내는것으로, 자기정보를먼저빼내고, 슈퍼클래스의상태정보를빼내도록함

12 /src/org/example/sudoku/puzzleview. java private static final String SELX = "selx"; private static final String SELY = "sely"; private static final String VIEW_STATE = "viewstate"; private static final int ID = 42; public PuzzleView(Context context) { super(context); this.game = (Game) context; setfocusable(true); setfocusableintouchmode(true); protected Parcelable onsaveinstancestate() { Parcelable p = super.onsaveinstancestate(); Log.d(TAG, "onsaveinstancestate"); Bundle bundle = new Bundle(); bundle.putint(selx, selx); bundle.putint(sely, sely); bundle.putparcelable(view_state, p); return protected void onrestoreinstancestate(parcelable state) { Log.d(TAG, "onrestoreinstancestate"); Bundle bundle = (Bundle) state; select(bundle.getint(selx), bundle.getint(sely)); super.onrestoreinstancestate(bundle.getparcelable(view_state)); return;

13 내부파일시스템엑세스하기 안드로이드는리눅스기반이므로실제파일시스템이있음. 플래시메모리에저장됨 java.io 의모든입출력루틴은사용가능함 주로액세스하는곳은패키지비공개디렉토리인 /data/data/package_name Context 클래스와이로부터확장된 Activity 클래스는 helper 메서드들을지원함 deletefile(), filelist(), openfileinput(), openfileoutput() 결국내부메모리이므로최대 1~2 메가를넘기지않도록하고, 공간이부족해서생기는오류에조심

14 SD 카드액세스하기 용량이커서비디오 / 오디오저장에이상적이며, 실행되는프로그램코드를저장할수는없음 명령 mksdcard 256M c:\temp\sd.img 8M 이하로너무작으면에뮬레이터가무시하고, 너무크면로딩시간이오래걸림 에뮬레이터실행시옵션에서 -sdcard c:\temp\sd.img 으로 SD 카드이미지경로지정 파일업로드는다음과같이함 adb push c:\code\samplevideo.mp4 /sdcard/samplevideo.mp4 Video.java 의 oncreate() 메서드수정 video.setvideopath( /sdcard/samplevideo.mp4");

15 위젯 (Widget) Widget Package Application screen 상에서사용되는 UI 요소를포함하는패키지 View 또는 sub-class 를상속받음 Android UI Structure

16 android.widget.button 특징 push-button widget 클래스 user 의행위를실행시켜주는것 Listener 등록필요 Sub-Class CheckBox, RadioButton, ToggleButton CompoundButton 의하위클래스 checked / unchecked 2 가지상태를가지는버튼

17 Listener 등록 Button btn01 = (Button)findViewById(R.id.btn01); btn01.setonclicklistener(new public void onclick(view arg0) { Intent oneint = new Intent(); oneint.putextra(name, Tom"); setresult(res_ok, oneint); finish(); );

18 Button example <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button style="?android:attr/buttonstylesmall" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ToggleButton android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

19 android.widget.imagebutton 특징 image 를표시하는 button widget 클래스 user 의행위를실행시켜주는것 Listener 등록필요 subclass ZoomButton

20 ImageButton example <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <ImageButton android:layout_width="100dip" android:layout_height="50dip" /> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

21 ImageButton example <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <ImageButton android:layout_width="100dip" android:layout_height="50dip" /> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

22 메뉴 (android.view.menu) Menu Interface 특징 Menu 안의 item 을관리하는 Interface 모든 Activity 는 option menu 지원 Menu 추가방법 MenuInflater 를사용해서 menu XML file 추가 code 를통해서추가 onoptionsitemselected( MenuItem ) oncontextitemselected( MenuItem )

23 Menu 종류 Menu Type Context Menus Options Menus Sub Menus Description shortcut, icon, submenu 지원하지않음 menu 타이틀만표시 체크표시아이콘메뉴지원하지않음 보여지는 item 개수보다 menu item 이많을경우, more 라고표시 메뉴 icon 지원하지않음 sub menu 지원

24 Menu 관련메서드 Prototype public MenuItem add(int titleres) public MenuItem add(charsequence title) public MenuItem add( int groupid, int itemid, int order, CharSequence title) public MenuItem add( int groupid, int itemid, int order, int titleres) Description - menu 에새로운 item 추가 - item 표시할 String 의 Resource ID - 가장최근에추가된메뉴 item 리턴 item 을표시할 text String - item 이속할 group 지정, NONE 그룹지정하지않음 - item 의 unique ID, NONE - item 순서, NONE - item 을표시할 text String item 을표시할 String 의 Resource ID

25 AndroidManifest.xml 파일에 activity 추 가 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.min.summary" android:versioncode="1 android:versionname="1.0.0"> <application <activity android:name=".menutest <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".item android:label="menu_item Activity"> </activity> </application> </manifest>

26 Menu Interface Example public class MenuTest extends Activity { public void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.scroll_view); public boolean oncreateoptionsmenu(menu menu) { menu.add(0, 0, 0, "Go Item View"); return super.oncreateoptionsmenu(menu); public boolean onoptionsitemselected(menuitem item) { switch( item.getitemid() ) { case 0: Intent newactivity = new Intent(this, Item.class ); try{ startactivity( newactivity ); catch(activitynotfoundexception ane ){ break; return super.onoptionsitemselected( item );

27 Menu 선택시화면 Activity public class Item extends Activity{ protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); TextView tv = new TextView(this); tv.settext("menu item 선택으로나타나는 Activity"); setcontentview(tv);

28 Menu 선택시화면 Activity public class Item extends Activity{ protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); TextView tv = new TextView(this); tv.settext("menu item 선택으로나타나는 Activity"); setcontentview(tv);

29 Menu Interface Example

30 다이얼로그 ( 대화상자 ) android.app.dialog 특징 Dialog 를위한 Base Class Activity 에서 Dialog 생성, 저장관리하는기능제공 Sub Classes Class AlertDialog Description 1 ~ 3 개버튼을가지는 Dialog -- CharacterPickerDialog 강조된문자를선택하는 Dialog -- DatePickerDialog calendar 를 view 로사용해서보여주는클래스 -- ProgressDialog progress indicator, 추가 text message, view 를보여주는클래스 TimePickerDialog - 하루시간을 24hour 또는 AM/PM 모드로선택하는 view 를나타내는 Dialog class

31 android.app.dialog Dialog & Activity 관련 Classes Method public final boolean requestwindowfeature( int featureid ) Description - 확장된 window 기능사용가능여부 - andorid.view.window 에정의된기능

32 android.app.dialog Dialog & Activity 관련 Classes android.app.activity package Method Method public Window getwindow() protected Dialog oncreatedialog( int id) protected void onpreparedialog( int id, Dialog dialog) public final void showdialog( int id ) public final void dismissdialog( int id ) public final void removedialog( int id ) Description - activity 를위한 Window 조회해서리턴 - Dialog 생성을위해호출되는 callback method - activity 에의해서생성 & 저장됨 - Dialog 보여주기전에 update 할것이존재할경우 overriding - Dialog 보여주는 method - ShowDialog() 를통해서보여준 Dialog 를해제시켜주는메소드 - Dialog 를제거하는 method

33 android.app.dialog AlertDialog Class (android.app.alertdialog) 특징 Dialog 의 subclass 1 ~ 3 개의 button 표시 setmessage() : 문자열출력 좀더복잡한 view : FrameLayout 사용 관련 Method Method public AlertDialog.Builder seticon ( int iconid) / seticon ( Drawable icon) public AlertDialog.Builder settitle(int titleid) / settitle(charsequence title) public AlertDialog.Builder setpositivebutton ( int textid, DialogInterface.OnClickListener listener) public AlertDialog.Builder setnegativebutton( int textid, DialogInterface.OnClickListener Listener Description - title 에사용될 Drawable 한 resource Id 설정 - 주어진 resource id / string 을 title 로설정 - 긍정버튼이눌려졌을때처리할 listener 등록 - Listener 의 onclick() overriding 해야함 - 부정버튼이눌려졌을때처리할 listener 등록 - Listener 의 onclick() overriding 해야함

34 android.app.dialog 관련 Method 계속 Method public AlertDialog.Builder setitems( int itemsid, DialogInterface.OnClickListener listener) setitems( CharSequence[] items, DialogInterface.OnClickListener listener) public AlertDialog.Builder setsinglechoiceitems( int itemsid, int checkeditem, DialogInterface.OnClickListener listener) setsinglechoiceitems( CharSequence[] items, int checkeditem, DialogInterface.OnClickListener listener) public AlertDialog.Builder setpositivebutton ( int textid, DialogInterface.OnClickListener listener) public AlertDialog.Builder setnegativebutton( int textid, DialogInterface.OnClickListener listener) / setnegativebutton(charsequence text, DialogInterface.OnClickListener listener) public AlertDialog.Builder setneutralbutton ( int textid, DialogInterface.OnClickListener listener) / setneutralbutton ( CharSequence text, DialogInterface.OnClickListener listener) Description - Dialog 안에표시되는 List item 설정 - listener 에의해서선택된 item 처리 - itemsid : R.array 처럼배열 type - Dialog 안에표시되는 List item 설정 - 선택된 item text 오른쪽에체크마크표시 - itemsid : R.array 처럼배열 type - 긍정버튼이눌려졌을때처리할 listener 등록 - Listener 의 onclick() overriding 해야함 - 부정버튼이눌려졌을때처리할 listener 등록 - Listener 의 onclick() overriding - 중간버튼이눌러졌을때처리할 Listener 등록 - Listener 의 onclick() overriding

35 android.content.dialoginterface class Dialog 창의버튼에대한처리를하는 Interface Classes DialogInterface.OnCancelListener DialogInterface.OnClickListener DialogInterface.OnDismissListener DialogInterface.OnKeyListener DialogInterface.OnMultiChoiceClickLi stener Description - cancel 되었을때처리할일 - click 되었을때처리할일 - dismiss 되었을때처리할일 - key event 발생되었을때처리할일 - 다중선택시처리할일

36 AlertDialog class 예제 01 public class SoDialogTEST extends Activity { public void oncreate(bundle savedinstancestate) { protected Dialog oncreatedialog(int id) { AlertDialog myalert; switch(id) { case DIALOG_OK_CANCEL_NO_MESSAGE: myalert = new AlertDialog.Builder( SoDialogTEST.this).setIcon( R.drawable.alert_dialog_icon ).settitle( R.string.alert_dialog_two_buttons_title).setPositiveButton( R.string.alert_dialog_ok, new public void onclick(dialoginterface arg0, int arg1) { ).setnegativebutton( R.string.alert_dialog_cancel, new public void onclick(dialoginterface arg0, int arg1) { ).create(); return myalert;

37 AlertDialog class 예제 02 public class SoDialogTEST extends Activity { public void oncreate(bundle savedinstancestate) { protected Dialog oncreatedialog(int id) { AlertDialog myalert; switch(id) { case DIALOG_LIST: myalert = new AlertDialog.Builder(SoDialogTEST.this).setTitle(R.string.select_dialog).setItems(R.array.select_dialog_items, new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { String[] items = getresources().getstringarray(r.array.select_dialog_items); new AlertDialog.Builder(SoDialogTEST.this).setMessage("You selected: " + which + ", " + items[which]).show(); ).create(); return myalert;

38 android.widget.imageview 특징 image 를표시하는 class 다양한 source ( resource, content provider..) 로부터이미지로딩 image 치수계산 layout manager 에사용됨 다양한표시옵션제공 Nested Class Nested Class ImageView.ScaleType Description 관련 Sub-Classes ImageButton, ZoomButton - image, view 의범위를위한 option class

39 ImageView class XML Attributes Attributes Name Related Methods Description android:adjustviewboun ds setadjustviewbounds( b oolean ) - ImageView 를 drawable 한비율에맞출지설정 android:maxheight setmaxheight( int ) - view 의최대 height 설정 android:maxwidth setmaxwidth( int ) - view 의최대 width 설정 android:scaletype setscaletype( ImageVie w.scaletype) - ImageView 에맞게 image 를어떻게제어할지설정 android:src setimageresource( int ) - ImageView에그려질수 있는 content 설정 android:tint setcolorfilter( int, PorterDuff.Mode ) - Image 의 tint color 설정

40 ImageView class 예제 01 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android=" ndroid" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingtop="10dip" /> <ImageView android:adjustviewbounds="true" android:layout_width="wrap_content" android:layout_height="wrap_content" />

41 android.widget.imagebutton 특징 image 버튼을표시하는 class press, click 가능 XML Attributes Attributes android.widget.imageview android.view.view Description - ImageView 속성상속받음 - View 속성상속받음

42 android.webkit.webview 특징 web browsing 을위한 tool 제공하는클래스중하나 web page 표시하는 View WebKit 엔진사용 주의사항 Internet 접속및 web page 로드를위한설정 AndoridManifest.xml 에추가 <manifest xmlns:android=" oid" package="com.example.android.apis"> <uses-permission android:name="android.permission.internet" />... </manifest>

43 android.webkit.webview 관련 Method Method public boolean cangoback() public boolean cangobackorforward( int steps ) public Picture capturepicture() public void clearview() public String[] gethttpauthusernamepassword( String host, String realm) public String gettitle () public void loaddata ( String data, String mimetype, String encoding) public void loadurl( String url ) public void loaddatawithbaseurl (String baseurl, String data, String mimetype, String encoding, String failurl ) Description - back history item 을가졌는지여부 - 지정된수만큼 go back / forward 가능여부 - 현재표시되고있는 webview 를챕처하는기능 - view 를지우고, ondraw() 는흰색배경을 drawing - Http 인증 username, password 조회 - 현재 page 의 title 가져오는기능 - webview 에주어진데이터로드 - 주어진 url 로드 - webview 에주어진데이터로드하고, - 주어진 URL 은 content 의 base URL 로적용 (base URL : page 로딩시보여줄화면 )

44 android.webkit.webview 예제 public class WebBrowserMain extends ListActivity { // //- Member Variable // private final String LOG_TAG=" ===> WebBrowserMain : "; private String[] strlists = {"Call the Browser", "Using WebView"; // //- Overriding Method // //- List 생성 protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); Log.i(LOG_TAG, "oncreate()"); //- ListActivity 경우기본제공 List layout 존재하기때문에 //- List Item 설정및 data 설정 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, strlists); setlistadapter(adapter);

45 android.webkit.webview 예제 public class WebBrowserMain extends ListActivity { protected void onlistitemclick(listview l, View v, int position, long id) { super.onlistitemclick( l, v, position, id ); switch(position) { case 0: Log.i(LOG_TAG, "onlistitemclick() - gobrowser"); Uri homeuri = Uri.parse(" Intent gobrowser = new Intent( Intent.ACTION_VIEW, homeuri ); startactivity(gobrowser); break; case 1: Log.i(LOG_TAG, "onlistitemclick() - gogoogle"); Intent gomybrowser = new Intent( this, WebBrowser.class ); startactivity( gomybrowser ); break;

46 android.webkit.webview 예제

47 android.webkit.webview 예제 <RelativeLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true"> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:autotext="true"/> <WebView android:layout_width="fill_parent android:layout_height="fill_parent" android:clickable="true"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal android:layout_alignparentbottom="true"> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" <Button android:layout_height="wrap_content" android:layout_width="wrap_content" <Button android:layout_height="wrap_content" android:layout_width="wrap_content" <Button android:layout_height="wrap_content" android:layout_width="wrap_content" </LinearLayout> </RelativeLayout>

48 android.webkit.webview 예제 <?xml version="1.0" encoding="utf-8"?> <resources> <!-- ============================ --> <!-- mybrowser examples strings --> <!-- ============================ --> <string name="go_back"> 뒤로 </string> <string name="go_home"> 홈 </string> <string name="go_reload"> 다시 </string> <string name="zoomin"> 확대 </string> <string name="zoomout"> 축소 </string> <string name="go_url">url...</string> <string name="default_msg">url 입력하요.</string> </resources>

49 android.webkit.webview 예제 public class WebBrowser extends Activity { // //- Member Variable // private final String LOG_TAG=" ===> WebBrowser : "; private String strdata = "<html><body>my Browser<br><a href=' private String strmimetype = "text/html"; private String strencoding = "utf-8"; WebView mbrowserview; // //- Overriding Method // protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); Log.i(LOG_TAG, "oncreate() "); setcontentview( R.layout.mybrowser ); mbrowserview = (WebView)findViewById( R.id.browser ); mbrowserview.loaddata( strdata, strmimetype, strencoding );

50 android.webkit.webview 예제 protected void oncreate(bundle savedinstancestate) { //- Button 처리 Button btngoback = (Button)findViewById(R.id.btn_goback); btngoback.setonclicklistener(new public void onclick(view arg0) { Log.i(LOG_TAG, " btngoback "); mbrowserview.goback(); ); Button btngohome = (Button)findViewById(R.id.btn_gohome); btngohome.setonclicklistener(new OnClickListener(){ public void onclick(view arg0) { Log.i(LOG_TAG, " btngohome "); mbrowserview.loadurl(" );

51 android.webkit.webview 예제 protected void oncreate(bundle savedinstancestate) { //- Button 처리 Button btnreload = (Button)findViewById( R.id.btn_reload ); btnreload.setonclicklistener( new OnClickListener() { public void onclick(view arg0) { Log.i(LOG_TAG, " btnreload "); mbrowserview.reload(); ); Button btnzoomin = (Button)findViewById( R.id.btn_zommin); btnzoomin.setonclicklistener( new OnClickListener(){ public void onclick(view arg0) { Log.i(LOG_TAG, " btnzoomin "); mbrowserview.zoomin(); );

52 android.webkit.webview 예제 protected void oncreate(bundle savedinstancestate) { //- Button 처리 Button btnzoomout = (Button)findViewById(R.id.btn_zoomout); btnzoomout.setonclicklistener(new OnClickListener(){ public void onclick(view arg0) { Log.i(LOG_TAG, " btnzoomout "); mbrowserview.zoomout(); ); Button btnurl = (Button)findViewById(R.id.btn_goURL); btnurl.setonclicklistener(new OnClickListener(){ public void onclick(view arg0) { Log.i(LOG_TAG, " btnzoomout "); EditText inserttxt = (EditText)findViewById(R.id.insert_url); String strurl = inserttxt.gettext().tostring(); mbrowserview.loadurl(strurl); );

53 android.webkit.webview 예제

54 음악재생에 Service 클래스를배경으로 사용 ( 한백전자의예제 ) 프로젝트생성 Project Name TestSound Package Name hanback.example.testsound Activity Name TestSound Application Name Test Sound mp3 가져오기 res 폴더아래에 raw 폴더생성 가져오기 (import) 파일시스템선택 MusicService Class 생성 이름 : MusicService 수퍼클래스 : andoroid.app.service onstart(), ondestroy() 구현

55 MusicService.java package hanback.example.testsound; import android.app.service; import android.content.intent; import android.media.mediaplayer; import android.os.binder; import android.os.ibinder; public class MusicService extends Service { private Binder binder; MediaPlayer public IBinder onbind(intent arg0) { // TODO Auto-generated method stub this.binder = new Binder(); return public void ondestroy() { // TODO Auto-generated method stub this.mp.stop(); public void onstart(intent intent, int startid) { // TODO Auto-generated method stub try { this.mp = MediaPlayer.create(this, R.raw.night); catch (Exception e) { super.onstart(intent, startid); this.mp.start();

56 TestSound.java package hanback.example.testsound; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; public class TestSound extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Button playbutton = (Button)findViewById(R.id.play_button); playbutton.setonclicklistener(new OnClickListener() { public void onclick(view view) { Intent intent = new Intent(TestSound.this, MusicService.class); startservice(intent); ); Button stopbutton = (Button)findViewById(R.id.stop_button); stopbutton.setonclicklistener(new OnClickListener() { public void onclick(view view) { Intent intent = new Intent(TestSound.this, MusicService.class); stopservice(intent); );

57 TestSound 실행예

58 요약 게임이나프로그램에옵션을추가하는방법을알아보았다. 이전의프로그램을계속하기위해상태를저장하는방법을알아보았다. 게임에서현재의실행위치를저장하는방법에대해알아보았다. 내부의파일시스템을읽고쓰는방법에대해알아보았다. SD 카드에접근하는방법에대해알아보았다. 여러 UI 위젯들에대해알아보았다. 음악재생에있어 Service 클래스를이용하는방법을알아보았다.

59 퀴즈 게임이나프로그램에옵션을추가하는방법을단계적으로설명하라. 이전의프로그램을계속하기위해상태를저장하려면어떤메서드들을오버라이드해야하는가? 지속적상태와인스턴스상태의차이는무엇인가? 안드로이드에서내부의파일시스템을액세스하기위해서는어떻게해야하는가? 특별히해주어야할일은무엇인가? 안드로이드에서 SD 카드이미지를만들려면어떻게해야하는가? 에뮬레이터실행시에 SD 카드이미지를지정해서읽으려면어떻게해야하는가? 웹서버를만드는것과웹브라우저를만드는것중어느것이더어려운가?

60 연습문제 안드로이드용이미지뷰어를만들어라. 이뷰어는내부메모리나 SD 카드의특정디렉토리의이미지파일들을읽어들여파일이름들을리스트로보여주고사용자가선택하면그것을디스플레이해준다. 앞의웹브라우저예제를기반으로안드로이드용웹브라우저를만들어보라. 기능은구현할수있는모든기능을다동원해서구현해보라.

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

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

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

( )부록

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

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

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

More information

13ÀåÃß°¡ºÐ

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

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

슬라이드 1

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

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

안드로이드기본 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) 활동하기 활동개요 활동과정 [ 예제 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

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

01장

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

More information

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

헬로, 안드로이드 7 주차 멀티미디어 강대기동서대학교컴퓨터정보공학부 헬로, 안드로이드 7 주차 멀티미디어 강대기동서대학교컴퓨터정보공학부 학습목표 오디오를재생하는방법에대해알아본다. 비디오를재생하는방법에대해알아본다. 스도쿠게임에음향효과를추가해본다. 2D 그래픽을심화학습하기위해, 커스텀뷰에대해학습하고이벤트핸들링과연결해본다. 차례 오디오재생하기 비디오재생하기 스도쿠에음향추가하기 커스텀뷰 이벤트핸들링 요약 퀴즈 연습문제 오디오재생하기

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

리니어레이아웃 - 2 -

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

Microsoft PowerPoint - BIT-android pptx

Microsoft PowerPoint - BIT-android pptx Android (2/3) Kook, Joongjin (tipsiness@gmail.com) Operating Systems Lab. Soongsil University 2009.07. 07 141 AlertDialog AlertDialog 실행결과 142 ProgressDialog ProgressDialog ProgressBar 를함께표현한 dialog ProgressDialog

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

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

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

More information

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

헬로, 안드로이드 13 주차 SQL 활용하기 (2) 강대기동서대학교컴퓨터정보공학부 헬로, 안드로이드 13 주차 SQL 활용하기 (2) 강대기동서대학교컴퓨터정보공학부 학습목표 데이터바인딩을통해데이터소스에해당하는데이터베이스와뷰에해당하는액티비티를연결한데이터베이스응용프로그램을작성할수있다. 안드로이드내의다른어플리케이션의데이터에접근하기위해제공되는 ContentProvider 를사용할수있다. 자신의어플리케이션에서다른어플리케이션으로의데이터제공을위한 ContentProvider

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 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 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

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

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

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

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

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

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

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

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

REMON Android SDK GUIDE (SDK Version 1.4.1) 1 / 25

REMON Android SDK GUIDE (SDK Version 1.4.1) 1 / 25 REMON Android SDK GUIDE (SDK Version 1.4.1) 1 / 25 문서개정내역 변경일버전변경내용비고 2014.06.30 1.0.0 최초작성 2014.09.30 1.1.0 개인정보항목변경, 개인정보이용약관기능추가 2014.12.01 1.2.0 Proguard 추가 2014.12.16 1.2.0 Android Studio 기준샘플및가이드추가

More information

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

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

More information

PowerPoint Template

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

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

JAVA PROGRAMMING 실습 08.다형성

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

More information

슬라이드 1

슬라이드 1 3 장안드로이드프로그램의 첫걸음 시작하면서 2 목차 프로젝트의생성하기 프로젝트파읷및소스코드이해 코드로문자열표시하기 문자열출력프로그램응용 프로젝트에새로운파읷 / 속성추가 프로젝트생성하기 프로젝트생성하기 4 < 실습 5-1>: Android 프로젝트의생성과에뮬레이터구동 (1)[ 그림 3-1](a) 처럼안드로이드프로젝트생성아이콘클릭 [ 그림 3-1](b) 처럼이클립스에서메뉴선택

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

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

PowerPoint Presentation

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

More information

PowerPoint 프레젠테이션

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

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

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

헬로, 안드로이드 11 주차 위치파악하기와감지하기 강대기동서대학교컴퓨터정보공학부 헬로, 안드로이드 11 주차 위치파악하기와감지하기 강대기동서대학교컴퓨터정보공학부 학습목표 GPS 장치를통해위치를인식하는방법에대해서알아본다. 가속도계에대해서알아본다. 지도를나타내는맵뷰에대해알아본다. 웹뷰와맵뷰를결합함으로써, 여러서비스들을결합하는매시업 (mashup) 에대해알아본다. 차례 위치, 위치, 위치 센서를최대로설정하기 조감도 웹뷰와맵뷰 요약 퀴즈 연습문제

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

Dialog Box 실행파일을 Web에 포함시키는 방법

Dialog Box 실행파일을 Web에 포함시키는 방법 DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New

More information

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

학습목표 인텐트로다른액티비티나프로그램을실행시킬수있다. 웹뷰를통해웹화면을액티비티화면의일부로구성할수있다. 자바스크립트를통해안드로이드프로그램을호출하는방법을안다. 안드로이드응용프로그램에서웹서비스를이용하는방법을안다. 헬로, 안드로이드 10 주차 연결된세상 강대기동서대학교컴퓨터정보공학부 학습목표 인텐트로다른액티비티나프로그램을실행시킬수있다. 웹뷰를통해웹화면을액티비티화면의일부로구성할수있다. 자바스크립트를통해안드로이드프로그램을호출하는방법을안다. 안드로이드응용프로그램에서웹서비스를이용하는방법을안다. 차례 인텐트로브라우징하기 뷰안의웹 자바스크립트에서자바로, 자바에서자바스크립트로 웹서비스이용하기

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 PowerPoint App Fundamentals[Part2].pptx

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

More information

Microsoft PowerPoint App Fundamentals[Part1].pptx

Microsoft PowerPoint App Fundamentals[Part1].pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 2 HangulKeyboard.apkapk 파일을다운로드 안드로이드 SDK 의 tools 경로아래에복사한후, 도스상에서다음과같이 adb 명령어수행 adb install HangulKeyboard.apk 이클립스에서에뮬레이터를구동 에뮬레이터메인화면에서다음과같이이동 메뉴버튼 설정 언어및키보드

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

슬라이드 1

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

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

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

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

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

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

슬라이드 1

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

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

콘텐츠 PowerPoint 디자인

콘텐츠 PowerPoint 디자인 서비스 / 스레드 /DB 최 민 서비스 Service 안드로이드는서비스에게비활성액티비티보다높은우선순위부여 시스템이리소스를필요로할때서비스가종료될가능성은적음 서비스가종료되었더라도리소스가충분해지면즉시재시작 GUI 없이실행 Activity, Broadcast receiver와같이애플리케이션프로세스의메인쓰레드내에서실행 좋은반응성을가지려면시간이많이드는처리 ( 네트워크조회등

More information

<4D F736F F D20284B B8F0B9D9C0CF20BED6C7C3B8AEC4C9C0CCBCC720C4DCC5D9C3F720C1A2B1D9BCBA2020C1F6C4A720322E302E646F6378>

<4D F736F F D20284B B8F0B9D9C0CF20BED6C7C3B8AEC4C9C0CCBCC720C4DCC5D9C3F720C1A2B1D9BCBA2020C1F6C4A720322E302E646F6378> KSKSKSKS KSKSKSK KSKSKS KSKSK KSKS KSK KS X 3253 KS 2.0 KS X 3253 2016 2016 10 20 3 ... ii... iii 1... 1 2... 1 3... 1 3.1... 1 3.2... 3 4... 3 5... 4 6... 5 7... 7 8... 7 9... 8 A ( )... 9 A.1... 9 A.2...

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

Microsoft PowerPoint - CSharp-10-예외처리

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

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

More information

12 주차 인텐트

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web Browser Web Server ( ) MS Explorer 5.0 WEB Server MS-SQL HTML Image Multimedia IIS Application Web Server ASP ASP platform Admin Web Based ASP Platform Manager Any Platform ASP : Application Service

More information

PowerPoint 프레젠테이션

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

More information

JMF2_심빈구.PDF

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

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

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

뷰그룹 ( 레이아웃 ) 레이아웃이름 ( 클래스이름 ) FrameLayout LinearLayout 설명단일객체를표현하기위한프레임. 왼쪽상단에하나의뷰를배치하기때문에나중 에그린객체만보여준다. 수평또는수직으로자손의뷰를배치. 뷰가들어갈만한공간이없을때는자동으로 스크롤바가나타난다 크기에사용할수있는단위 표기 단위 설명 px 픽셀수 사용중화면에서의픽셀수, 해상도가높아지면픽셀의물리적인크기가줄어든다. in 인치 사용중화면에서의인치단위의길이 mm 밀리미터 사용중화면에서의밀리미터단위의길이 pt 포인트수 사용중화면에서의 1/72 인치를 1 포인트로하는길이 dp 해상도에의존하지않는픽셀수 1은해상도가 180dpi일때 1 픽셀. 10dp가 160dpi일때에는

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

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

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

More information

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF CHAPTER 2 (interaction) Ext JS., HTML, onready, MessageBox get.. Ext JS HTML CSS Ext JS.1. Ext JS. Ext.Msg: : Ext Ext.get: DOM 22 CHAPTER 2 (config). Ext JS.... var test = new TestFunction( 'three', 'fixed',

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

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

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

오핀 (OFIN) SDK Guide Fintech Mobile SDK Guide - Android V 1.0 OPPFLIB 1 오핀 (OFIN) SDK Guide Fintech Mobile SDK Guide - Android V 1.0 OPPFLIB 1 1. 버전정보 버전개정일자개정사유개정내역 1.0 2017.06.22 1. 초안작성 2. 개요 O'FIN( 오핀 ) 은금융투자회사, 유관기관, 핀테크기업의데이터와서비스를 Open API 로게시하고, 상호융합을통해혁신적비즈니스를만들수있도록하는핀테크오픈플랫폼입니다.

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

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

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

More information

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

¾Èµå·ÎÀÌµå ³¹Àå-Åë.PDF 시작하기 시작하기 :: 학습목표 :: 이클립스에서새로운 Project를만들수있다 View를디자인하고프로그램에연결할수있다 버튼의 Listener를작성할수있다 작성한 Listener를여러개의버튼이공유하게할수있다 일정한범위의난수를만들수있다 난수의발생빈도를조절할수있다 프로그램에서 ImageView의비트맵을바꿀수있다 1.1 시작하기에앞서 프로그램의기본흐름은입력, 처리,

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

신림프로그래머_클린코드.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

슬라이드 1

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

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

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

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

쉽게 풀어쓴 C 프로그래밍

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

More information

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

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

More information

adlibr-android_4.x

adlibr-android_4.x Android SDK User Guide v4 애드립앱관리및 mediation 개요 실제프로젝트환경에 SDK 적용을위한문서입니다. 애드립을통해실제사용할플랫폼은프로젝트에서선택적으로포함하여최종바이너리크기를줄일수있습니다. 실제테스트프로젝트를컴파일하기위하여 각플랫폼사이트에서발급받은 APP - ID 및각 OS 에맞는최신 SDK 가별도로필요합니다. 기본적으로테스트프로젝트는각플랫폼의

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

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

서현수

서현수 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

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

More information

chapter4

chapter4 Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก

More information

쉽게 풀어쓴 C 프로그래밊

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

More information