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

Similar documents
2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

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

리니어레이아웃 - 2 -

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

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

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

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

( )부록

13ÀåÃß°¡ºÐ

어댑터뷰

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

03장

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

01장

PowerPoint 프레젠테이션

슬라이드 1

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

Daum 카페

2_안드로이드UI

안드로이드2_14

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

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

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

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

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

PowerPoint Presentation

슬라이드 1

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

슬라이드 1

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

50_1953.pdf

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

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

슬라이드 1

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

슬라이드 1

Contents v 학습목표 뷰와레이아웃에대해이해하고, 레이아웃을활용, 관리하는여러가지기법들에대하여알아본다. v 내용 뷰 (View) 리니어레이아웃 (Linear Layout)

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

<BFF8B5E5B7CEC0CCB5E5322E687770>

PowerPoint 프레젠테이션

콘텐츠 PowerPoint 디자인

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

오버라이딩 (Overriding)

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

쉽게 풀어쓴 C 프로그래밍

PowerPoint Template

<4D F736F F F696E74202D20446F E64726F69645F F30335FB4D9BEE7C7D1C0A7C1ACB0FAC0CCBAA5C6AEC8B0BFEBC7CFB1E25F52657

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

PowerPoint Presentation

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

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

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

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

PowerPoint Presentation

레이아웃 (Layout)

PowerPoint Presentation

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

PowerPoint 프레젠테이션

Network Programming

Design Issues

쉽게 풀어쓴 C 프로그래밍

Spring Boot/JDBC JdbcTemplate/CRUD 예제

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

제11장 프로세스와 쓰레드

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

No Slide Title

JAVA PROGRAMMING 실습 08.다형성

12 주차 인텐트

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

PowerPoint 프레젠테이션

슬라이드 1

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

Microsoft PowerPoint - Java7.pptx

XML Parser

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

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

鍮뚮┰硫붾돱??李⑤낯

JUNIT 실습및발표

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

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

C++ Programming

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

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

Microsoft PowerPoint UI-Layout.Menu.pptx

2장 변수와 프로시저 작성하기

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

Cluster management software

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

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

PowerPoint Presentation

Visual Basic 반복문

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

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

Microsoft PowerPoint - 2강

Android Master Key Vulnerability

슬라이드 1

<4D F736F F F696E74202D20C1A63138C0E520C0CCBAA5C6AE20C3B3B8AE28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Transcription:

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

[ 그림 9-1] 시간예약앱 활동과정 - 2 -

[ 그림 9-2] 안드로이드 SDK Manager [ 예제 9-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - 3 -

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 xmlns:tools="http://schemas.android.com/tools" android:layout_height="match_parent" android:gravity="center_horizontal" android:orientation="vertical" android:padding="5dp" tools:context=".dateactivity" > <LinearLayout android:gravity="center" > <TextView android:layout_width="wrap_content" android:text="-현재시간 : " /> <DigitalClock android:layout_width="wrap_content" /> </LinearLayout> <TextView android:layout_width="wrap_content" android:layout_margin="5dp" android:text="-날짜선택 " /> <DatePicker android:id="@+id/datepicker" android:layout_height="120dp" android:layout_margin="5dp" /> <TextView android:layout_width="wrap_content" android:layout_margin="5dp" android:text="-시간선택 " /> <TimePicker android:id="@+id/timepicker" android:layout_height="120dp" android:layout_margin="5dp" /> <Button - 4 -

42 43 44 45 46 47 48 49 50 51 52 53 54 android:id="@+id/btn" android:text=" 예약하기 " /> <TextView android:id="@+id/tvtext" android:background="#cccccc" android:text=" 예약시간 : " android:textcolor="#ff0000" android:textsize="20dp" /> </LinearLayout> [ 예제 9-2]DateActivity.xml 1 package com.example.date; 2 3 import android.app.activity; 4 import android.os.bundle; 5 import android.view.view; 6 import android.widget.button; 7 import android.widget.datepicker; 8 import android.widget.textview; 9 import android.widget.timepicker; 10 11 public class DateActivity extends Activity { 12 13 Button btn; 14 DatePicker datepicker; 15 TimePicker timepicker; 16 TextView tvtext; 17 18 String year, month, day, hour, minute; 19-5 -

20 @Override 21 protected void oncreate(bundle savedinstancestate) { 22 super.oncreate(savedinstancestate); 23 setcontentview(r.layout.main); 24 settitle(" 시간예약 "); 25 26 btn = (Button) findviewbyid(r.id.btn); 27 datepicker = (DatePicker) findviewbyid(r.id.datepicker); 28 timepicker = (TimePicker) findviewbyid(r.id.timepicker); 29 tvtext = (TextView) findviewbyid(r.id.tvtext); 30 31 btn.setonclicklistener(new View.OnClickListener() { 32 33 @Override 34 public void onclick(view v) { 35 // TODO Auto-generated method stub 36 year = Integer.toString(datePicker.getYear()); 37 month = Integer.toString(datePicker.getMonth()); 38 day = Integer.toString(datePicker.getDayOfMonth()); 39 40 hour = Integer.toString(timePicker.getCurrentHour()); 41 minute = Integer.toString(timePicker.getCurrentMinute()); 42 43 tvtext.settext(" 예약시간 : " + year + " 년 " + month + " 월 " + day + " 일 " + 44 hour + " 시 " + minute + " 분 "); 45 } 46 }); 47 } 48 } 36~38행 DatePicker의선택된곳의년, 월, 일을가져오는메소드를호출하여문자열변수에넣는다. 40~41행 TimePicker의선택된곳의시, 분을가져오는메소드를호출하여문자열변수에넣는다. 43행텍스트뷰에예약된시간을출력한다. - 6 -

4 웹뷰 1) 활동하기 활동개요 활동과정 - 7 -

[ 그림 9-3] 간단웹브라우저 [ 예제 9-3]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 4 android:layout_height="match_parent" 5 android:orientation="vertical" 6 tools:context=".webviewactivity" > 7 8 <LinearLayout 9 android:id="@+id/linearlayout" 10 11 12 android:orientation="horizontal" > 13 14 <EditText 15 android:id="@+id/edturl" - 8 -

16 android:layout_width="0dp" 17 18 android:layout_weight="1" 19 android:hint=" 웹주소를입력하세요." 20 android:singleline="true" > 21 </EditText> 22 23 <Button 24 android:id="@+id/btngo" 25 android:layout_width="wrap_content" 26 27 android:text=" 이동 " /> 28 29 <Button 30 android:id="@+id/btnback" 31 android:layout_width="wrap_content" 32 33 android:text=" 이전 " /> 34 </LinearLayout> 35 36 <WebView 37 android:id="@+id/webview" 38 39 android:layout_height="0dp" 40 android:layout_weight="1" 41 android:clickable="true" /> 42 43 </LinearLayout> 19행에디트텍스트에힌트를설정하였다. 힌트는텍스트입력을시작하는순간사라진다. 20행에디트텍스트에 SingLine 속성을 true로설정하였다. true로설정하면텍스트입력이줄바깥으로나가도줄변경이되지않는다. 39, 40행내부리니어레이아웃이사용하고남은공간모두를 WebView가사용한다. [ 예제 9-4]WebViewActivity.java 1 package com.example.webview; - 9 -

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 import android.app.activity; import android.os.bundle; import android.view.view; import android.webkit.websettings; import android.webkit.webview; import android.webkit.webviewclient; import android.widget.button; import android.widget.edittext; public class WebViewActivity extends Activity { EditText edturl; Button btngo, btnback; WebView web; @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); settitle(" 간단웹브라우저 "); edturl = (EditText) findviewbyid(r.id.edturl); btngo = (Button) findviewbyid(r.id.btngo); btnback = (Button) findviewbyid(r.id.btnback); web = (WebView) findviewbyid(r.id.webview); web.setwebviewclient(new KaistWebViewClient()); WebSettings webset = web.getsettings(); webset.setbuiltinzoomcontrols(true); btngo.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { web.loadurl(edturl.gettext().tostring()); } }); btnback.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { - 10 -

42 web.goback(); 43 } 44 }); 45 } 46 47 class KaistWebViewClient extends WebViewClient { 48 @Override 49 public boolean shouldoverrideurlloading(webview view, String url) { 50 // TODO Auto-generated method stub 51 return super.shouldoverrideurlloading(view, url); 52 } 53 } 54 } 29행 KaistWebViewClient 클래스를생성하여웹뷰에대입한다. 31~32행웹세팅클래스를이용하여 ZoomIn 컨트롤을화면에보이도록한다. 36행에디트텍스트에입력한웹주소의웹페이지가웹뷰에나오도록한다. 42행웹뷰의이전화면으로돌아간다. 47~53행 WebViewClient 클래스를상속받은 KaistWebViewClient 클래스를구현하였다. 49~52행 KaistWebViewClient 클래스의생성자이다. KaistWebViewClient 클래스내부에서마우스오른쪽버튼을클릭하여 [Source]-[Override/Implements Methods] 를선택한다. [Override/Implement Mothods] 창이나오면 shouldoverrideurlloading() 메소드를선택하고 <OK> 버튼을클릭하면자동으로생성된다. - 11 -

[ 그림 9-4] 웹페이지연결실패 [ 그림 9-5] 메니페스트퍼미션설정 1-12 -

[ 그림 9-6] 메니페스트퍼미션설정 2 [ 그림 9-7] 메니페스트퍼미션설정 3-13 -

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