• 검색 결과가 없습니다.

G o o g le A n d ro id 심화 프로그래밍 # 3 # 3 D a e- K i K a n g

N/A
N/A
Protected

Academic year: 2021

Share "G o o g le A n d ro id 심화 프로그래밍 # 3 # 3 D a e- K i K a n g "

Copied!
19
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

G o o g le A n d ro id 심화 프로그래밍 # 3 # 3 D a e- K i K a n g

(2)

차례 •

어플리케이션에테마적용

BMP 파일읽어들여표시하기

토스트

메뉴추가(일반메뉴와컨텍스트메뉴)

버튼을누르면이미지바꾸기

버튼을누르면이미지바꾸기

오디오재생하기

비디오재생하기

SD 카드액세스하기

WebView

(3)

어플리케이션에 테마 적용 • a n d ro id .R .s ty le .T h em e • a n d ro id .R .s ty le .T h em e_ B la ck • a n d ro id .R .s ty le .T h em e_ L ig h t ▫ a n d ro id :t h e m e = "@ a n d ro id :s ty le /T h em e. L ig h t“ • a n d ro id .R .s ty le .T h em e_ B la ck _ N o T it le B a r ▫ a n d ro id :t h e m e = "@ a n d ro id :s ty le /T h em e. B la ck .N o T it le B a r • (이하 접두 부분 생략 ) • T h em e_ B la ck _ N o T it le B a r_ F u ll sc re en • T h em e_ D ia lo g • T h em e_ In p u tM et h o d ▫ in p u t m e th o d 에 대한 디폴트 테마 ▫ in p u t m e th o d 에 대한 디폴트 테마 • T h em e_ L ig h t • T h em e_ L ig h t_ N o T it le B a r • T h em e_ L ig h t_ N o T it le B a r_ F u ll sc re en • T h em e_ L ig h t_ P a n el • T h em e_ N o D is p la y • T h em e_ N o T it le B a r • T h em e_ N o T it le B a r_ F u ll sc re en • T h em e_ P a n el • T h em e_ T ra n sl u ce n t • T h em e_ T ra n sl u ce n t_ N o T it le B a r • T h em e_ T ra n sl u ce n t_ N o T it le B a r_ F u ll sc re en

(4)

B M P 파일 읽어들여 표시하기 및 버튼을 누르면 이미지 바꾸기 @ O v e rr id e p u b li c v o id o n C re a te (B u n d le s a v e d In s ta n c e S ta te ) { su p e r. o n C re a te (s a v e d In st a n ce S ta te ); se tC o n te n tV ie w (R .l a y o u t. m a in ); // Y o u h a v e t o c a ll f in d V ie w B y Id () * *a ft e r* * se tC o n te n tV ie w () . // O th e rw is e , th e v ie w y o u 'r e l o o k in g f o r d o e s n o t e x is t. B u tt o n b u tt o n = ( B u tt o n )f in d V ie w B y Id (R .i d .b u tt o n ); b u tt o n .s e tO n C li ck L is te n e r( b u tt o n .s e tO n C li ck L is te n e r( n e w V ie w .O n C li ck L is te n e r( ) { p u b li c v o id o n C li ck (V ie w v ) { Im a g e V ie w im g = ( Im a g e V ie w ) fi n d V ie w B y Id (R .i d .i m a g e) ; B it m a p b m = B it m a p F a ct o ry .d ec o d eR es o u rc e( g et R es o u rc es () , R .d ra w a b le .s u n d a y ); im g .s e tI m a g e B it m a p (b m ); } } ); }

(5)
(6)

화면에 잠깐 출력하게 하는 토스트 •

Toast.makeText(this, "Jump up in the air!", Toast.LENGTH_SHORT).show();

Toast.makeText(this, R.string.hello,

Toast.makeText(this, R.string.hello, Toast.LENGTH_SHORT).show();

(7)

M e n u ( m e n u .x m l)

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/a pk/res/android"> <item android:id="@+id/settings" android:title="@string/settings_label" android:alphabeticShortcut="@string/settings_ shortcut" /> </menu>

(8)

M e n u ( st ri n g s. x m l)

<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, Main</string> <string name="app_name">BMPReader</string>name="app_name">BMPReader</string> <string name="settings_label">Settings...</string> <string name="settings_title">BMPReader settings</string> <string name="settings_shortcut">s</string> </resources>

(9)

M e n u ( 소스 )

@Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub booleanret =booleanret = super.onCreateOptionsMenu(menu); MenuInflaterinflater= getMenuInflater(); inflater.inflate(R.menu.menu, menu); return ret; }

(10)

오디오 재생하기

private static MediaPlayerm1; private static MediaPlayerm2; private static booleanisM1Playing; private static booleanisM2Playing; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { …. m1 = MediaPlayer.create(this, R.raw.one); m2 = MediaPlayer.create(this, R.raw.y); this.isM1Playing = false; this.isM2Playing = false; Button button1 = (Button)findViewById(R.id.button1); button1.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { MediaPlayerm = Main.m1; if (Main.isM1Playing) { Main.isM1Playing=false; m.stop(); Main.m1 = MediaPlayer.create(Main.this, R.raw.one); } else { Main.isM1Playing=true; m.seekTo(0); m.start(); } } } ); Button button2 = (Button)findViewById(R.id.button2); button2.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { MediaPlayerm = Main.m2; if (Main.isM2Playing) { Main.isM2Playing=false; m.stop(); Main.m2 = MediaPlayer.create(Main.this, R.raw.y); } else { Main.isM2Playing=true; m.seekTo(0); m.start(); } } } ); }

(11)
(12)

비디오 재생하기 •

지원되는형식

▫ M P 4 ( M P E G -4 ) ▫ H .2 6 3 ▫ H .2 6 3 ▫ H .2 6 4 ( A V C )

(13)

비디오 재생하기 (소스 코드 ) p a ck a g e d su .a n d ro id ; im p o rt a n d ro id .a p p .A ct iv it y ; im p o rt a n d ro id .o s. B u n d le ; im p o rt a n d ro id .w id g et .V id eo V ie w ; p u b li c cl a ss M a in e x te n d s A ct iv it y { /* * C a ll ed w h en t h e a ct iv it y i s fi rs t cr ea te d . */ p u b li c cl a ss M a in e x te n d s A ct iv it y { /* * C a ll ed w h en t h e a ct iv it y i s fi rs t cr ea te d . */ @ O v er ri d e p u b li c v o id o n C re a te (B u n d le s a v ed In st a n ce S ta te ) { su p er .o n C re a te (s a v ed In st a n ce S ta te ); se tC o n te n tV ie w (R .l a y o u t. m a in ); V id eo V ie w v id eo = ( V id eo V ie w ) fi n d V ie w B y Id (R .i d .v id eo ); v id eo .s et V id eo P a th (" /d a ta /s a m p le v id eo .m p 4 ") ; } }

(14)

비디오 재생하기 (X M L 설정 ) < ?x m l v er si o n = "1 .0 " en co d in g = "u tf -8 "? > < F ra m eL a y o u t x m ln s: a n d ro id = "h tt p :/ /s ch em a s. a n d ro id .c o m /a p k / re s/ a n d ro id " a n d ro id :l a y o u t_ w id th = "f il l_ p a re n t" a n d ro id :l a y o u t_ h ei g h t= "f il l_ p a re n t" a n d ro id :l a y o u t_ h ei g h t= "f il l_ p a re n t" > < V id eo V ie w a n d ro id :i d = "@ + id /v id eo " a n d ro id :l a y o u t_ w id th = "w ra p _ co n te n t" a n d ro id :l a y o u t_ h ei g h t= "w ra p _ co n te n t" a n d ro id :l a y o u t_ g ra v it y = "c en te r" /> < /F ra m eL a y o u t>

(15)

비디오 재생하기 (비디오 업로드 ) C :\ .. .> s ta rt e m u la to r C :\ .. .> a d b p u sh s a m p le v id eo .m p 4 / d a ta /s a m p le v id eo .m p 4

(16)

S D 카드 액세스 하기 C :\ .. .> m k sd ca rd 2 5 6 M c :\ te m p \s d .i m g • 실행할 때 , 이클립스 ta rg et 옵션 창에 다음을 넣음 • 또는 에뮬레이터 옵션으로 넣음 -s d ca rd c: \t em p \s d .i m g -s d ca rd c: \t em p \s d .i m g C :\ .. .> a d b p u sh s a m p le v id eo .m p 4 /s d ca rd /s a m p le v id eo .m p 4 v id eo .s et V id eo P a th (" /s d ca rd /s a m p le v id eo .m p 4 ");

(17)

W e b V ie w 소스 코드 p ri v a te Ed it T ex t u rl T ex t; p ri v a te B u tt o n g o B u tt o n ; p ri v a te W eb V ie w w eb V ie w ; @ O v er ri d e p u b li c v o id o n C re a te (B u n d le s a v ed In st a n ce S ta te ) { su p er .o n C re a te (s a v ed In st a n ce S ta te ); se tC o n te n tV ie w (R .l a y o u t. m a in ); // G et a h a n d le t o a ll u se r in te rf a ce e le m en ts u rl T ex t = ( Ed it T ex t) f in d V ie w B y Id (R .i d .u rl _ fi el d ); g o B u tt o n = ( B u tt o n ) fi n d V ie w B y Id (R .i d .g o _ b u tt o n ); w eb V ie w = ( W eb V ie w ) fi n d V ie w B y Id (R .i d .w eb _ v ie w ); // S et u p e v en t h a n d le rs g o B u tt o n .s et O n C li ck L is te n er (n ew O n C li ck L is te n er () { p u b li c v o id o n C li ck (V ie w v ie w ) { p u b li c v o id o n C li ck (V ie w v ie w ) { o p en B ro w se r( ); } }) ; u rl T ex t. se tO n K ey L is te n er (n ew O n K ey L is te n er () { p u b li c b o o le a n o n K ey (V ie w v ie w , in t k ey C o d e, K ey E v en t ev en t) { if ( k ey C o d e = = K ey E v en t. K E Y C O D E _ EN T ER ) { o p en B ro w se r( ); re tu rn t ru e; } re tu rn f a ls e; } }) ; } /* * O p en a b ro w se r o n t h e U R L s p ec if ie d i n t h e te x t b o x * / p ri v a te v o id o p en B ro w se r( ) { w eb V ie w .l o a d U rl (u rl T ex t. g et T ex t( ). to S tr in g () ); w eb V ie w .r eq u es tF o cu s( ); }

(18)

W e b V ie w X M L < L in ea rL a y o u t x m ln s: a n d ro id = "h tt p :/ /s ch e m a s. a n d ro id .c o m /a p k /r es /a n d ro id " a n d ro id :o ri en ta ti o n = "v e rt ic a l" a n d ro id :l a y o u t_ w id th = "f il l_ p a re n t" a n d ro id :l a y o u t_ h ei gh t= "f il l_ p a re n t" > < L in ea rL a y o u t a n d ro id :o ri en ta ti o n = "h o ri zo n ta l" a n d ro id :l a y o u t_ w id th = "f il l_ p a re n t" a n d ro id :l a y o u t_ h ei gh t= "w ra p _ co n te n t" > < E d it T ex t a n d ro id :i d = "@ + id /u rl _ fi el d " a n d ro id :l a y o u t_ w id th = "w ra p _ co n te n t" a n d ro id :l a y o u t_ w id th = "w ra p _ co n te n t" a n d ro id :l a y o u t_ h ei gh t= "w ra p _ co n te n t" a n d ro id :l a y o u t_ w ei gh t= "1 .0 " a n d ro id :l in es = "1 " /> < B u tt o n a n d ro id :i d = "@ + id /go _ b u tt o n " a n d ro id :l a y o u t_ w id th = "w ra p _ co n te n t" a n d ro id :l a y o u t_ h ei gh t= "w ra p _ co n te n t" a n d ro id :t ex t= "@ st ri n g/ go _ b u tt o n " /> < /L in ea rL a y o u t> < W eb V ie w a n d ro id :i d = "@ + id /w eb _ v ie w " a n d ro id :l a y o u t_ w id th = "f il l_ p a re n t" a n d ro id :l a y o u t_ h ei gh t= "w ra p _ co n te n t" a n d ro id :l a y o u t_ w ei gh t= "1 .0 " /> < /L in ea rL a y o u t>

(19)

W e b V ie w

참조

관련 문서

Oulis CJ, Tsinidou K, Vadiakas G, Mamai-Homata E, Polychronopoulou A, Athanasouli T : Caries prevalence of 5, 12 and 15-year-old Greek children: A

Offices for minimum forty people for AIT management, test equipment operators, test engineers, maintenance staff are necessary. In addition, many extra offices for

또한 국제어학원은 여러분이 전공 지식과 외국어 능력을 겸비한 우수한 전문인으로 성장할 수 있도록 여러분들의 능력 개발 을 위한 많은 프로그램들을 준비하고

afx_msg void OnCreate()(LPCREATESTRUCT); // 메시지 핸들러 prototype afx_msg void OnLButtonDown(UINT, CPoint); // 메시지 핸들러 prototype DECLARE_MESSAGE_MAP()

동 기한내 위반사항이 개선되지 않는 경우「사회적기업 육성법」제18조의 규정에 따라 사회적기업 인증이 취소될 수 있음을 알려드립니다... 동

o Ten Years of Water Sector Reform in Eastern Europe, Caucasus and Central Asia (OECD 2011). o The OECD Checklist for Public Action regarding Private Sector Participation in

Thermodynamic arguments not only suggest that point defects may be present, but actually demand their presence and imply that it is impossible to create a stable single

하였다.이호성 연구에서는 남북한 화학 교과서 용어의 차이점만 분석이 되 었고,이러한 차이점을 나타내는 이유에 대한 원인은 분석이 되어있지 않았 다.따라서