Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
GDG Korea
2,195 views
GKAC 2015 Apr. - Android Looper
Speaker: 차영호 GDG Korea Android Conference 2015 Apr. Google Campus Seoul 2015. 4. 18
Software
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Downloaded 10 times
1
/ 32
2
/ 32
3
/ 32
4
/ 32
5
/ 32
6
/ 32
7
/ 32
8
/ 32
9
/ 32
10
/ 32
11
/ 32
12
/ 32
13
/ 32
14
/ 32
15
/ 32
16
/ 32
17
/ 32
18
/ 32
19
/ 32
20
/ 32
21
/ 32
22
/ 32
23
/ 32
24
/ 32
25
/ 32
26
/ 32
27
/ 32
28
/ 32
29
/ 32
30
/ 32
31
/ 32
32
/ 32
More Related Content
PDF
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
by
GDG Korea
PPT
헷갈리는 자바스크립트 정리
by
은숙 이
PDF
[D2 오픈세미나]5.robolectric 안드로이드 테스팅
by
NAVER D2
PPTX
Jdk(java) 7 - 5. invoke-dynamic
by
knight1128
PDF
Javascript 조금 더 잘 알기
by
jongho jeong
PPTX
Dependency Injection 소개
by
beom kyun choi
PPTX
Angular2 router&http
by
Dong Jun Kwon
PPTX
Startup JavaScript 8 - NPM, Express.JS
by
Circulus
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
by
GDG Korea
헷갈리는 자바스크립트 정리
by
은숙 이
[D2 오픈세미나]5.robolectric 안드로이드 테스팅
by
NAVER D2
Jdk(java) 7 - 5. invoke-dynamic
by
knight1128
Javascript 조금 더 잘 알기
by
jongho jeong
Dependency Injection 소개
by
beom kyun choi
Angular2 router&http
by
Dong Jun Kwon
Startup JavaScript 8 - NPM, Express.JS
by
Circulus
What's hot
PDF
ReactJS | 서버와 클라이어트에서 동시에 사용하는
by
Taegon Kim
PPTX
골때리는 자바스크립트 발표자료
by
욱진 양
PPTX
ECMAScript 6의 새로운 것들!
by
WooYoung Cho
PDF
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
by
NAVER Engineering
PDF
MVP 패턴 소개
by
beom kyun choi
PDF
비전공자의 자바스크립트 도전기
by
jeong seok yang
PPTX
Javascript 실행 가능한 코드(Executable Code)와 실행 콘텍스트(Execution Context), Lexical En...
by
Young-Beom Rhee
PDF
Javascript
by
Hong Hyo Sang
PDF
[1B4]안드로이드 동시성_프로그래밍
by
NAVER D2
PPTX
Angular2 가기전 Type script소개
by
Dong Jun Kwon
PPTX
Jquery javascript_ed10
by
hungrok
PPTX
반복적인 작업이 싫은 안드로이드 개발자에게
by
Sungju Jin
PPTX
프론트엔드스터디 E05 js closure oop
by
Young-Beom Rhee
PPTX
Android Native Module 안정적으로 개발하기
by
hanbeom Park
PPTX
Deview 2019 눈발자국
by
hanbeom Park
PDF
Ji 개발 리뷰 (신림프로그래머)
by
beom kyun choi
PDF
모델링 연습 리뷰
by
beom kyun choi
PDF
track2 04. MS는 Rx를 왜 만들었을까? feat. RxJS/ 네이버, 김훈민
by
양 한빛
ReactJS | 서버와 클라이어트에서 동시에 사용하는
by
Taegon Kim
골때리는 자바스크립트 발표자료
by
욱진 양
ECMAScript 6의 새로운 것들!
by
WooYoung Cho
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
by
NAVER Engineering
MVP 패턴 소개
by
beom kyun choi
비전공자의 자바스크립트 도전기
by
jeong seok yang
Javascript 실행 가능한 코드(Executable Code)와 실행 콘텍스트(Execution Context), Lexical En...
by
Young-Beom Rhee
Javascript
by
Hong Hyo Sang
[1B4]안드로이드 동시성_프로그래밍
by
NAVER D2
Angular2 가기전 Type script소개
by
Dong Jun Kwon
Jquery javascript_ed10
by
hungrok
반복적인 작업이 싫은 안드로이드 개발자에게
by
Sungju Jin
프론트엔드스터디 E05 js closure oop
by
Young-Beom Rhee
Android Native Module 안정적으로 개발하기
by
hanbeom Park
Deview 2019 눈발자국
by
hanbeom Park
Ji 개발 리뷰 (신림프로그래머)
by
beom kyun choi
모델링 연습 리뷰
by
beom kyun choi
track2 04. MS는 Rx를 왜 만들었을까? feat. RxJS/ 네이버, 김훈민
by
양 한빛
Viewers also liked
PDF
Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices
by
juricde
PDF
Android Concurrency Presentation
by
Karol Depka Pradzinski
PPTX
GKAC 2015 Apr. - Xamarin forms, mvvm and testing
by
GDG Korea
PDF
RetroFit by Square - GDG Dallas 06/09/16
by
Stacy Devino
PPTX
Intro to Android : Making your first App!
by
Stacy Devino
PPTX
Async task, threads, pools, and executors oh my!
by
Stacy Devino
PDF
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
by
GDG Korea
PDF
디자이너 없어도 괜찮아! (feat.Material Design Guide)
by
GDG Korea
PDF
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
by
GDG Korea
PDF
GKAC 2015 Apr. - RxAndroid
by
GDG Korea
PDF
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
by
GDG Korea
PDF
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
by
GDG Korea
PDF
Best Practices in Media Playback
by
GDG Korea
PDF
FIrebase를 이용한 호우호우 미니게임 만들기
by
GDG Korea
PPTX
Reinfocement learning
by
GDG Korea
PDF
안드로이드 데이터 바인딩
by
GDG Korea
PDF
Introduce Android TV and new features from Google I/O 2016
by
GDG Korea
PPTX
Android - Preventing common memory leaks
by
Ali Muzaffar
PDF
Android : How Do I Code Thee?
by
Viswanath J
PPT
Inside the Android application framework - Google I/O 2009
by
Viswanath J
Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices
by
juricde
Android Concurrency Presentation
by
Karol Depka Pradzinski
GKAC 2015 Apr. - Xamarin forms, mvvm and testing
by
GDG Korea
RetroFit by Square - GDG Dallas 06/09/16
by
Stacy Devino
Intro to Android : Making your first App!
by
Stacy Devino
Async task, threads, pools, and executors oh my!
by
Stacy Devino
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
by
GDG Korea
디자이너 없어도 괜찮아! (feat.Material Design Guide)
by
GDG Korea
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
by
GDG Korea
GKAC 2015 Apr. - RxAndroid
by
GDG Korea
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
by
GDG Korea
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
by
GDG Korea
Best Practices in Media Playback
by
GDG Korea
FIrebase를 이용한 호우호우 미니게임 만들기
by
GDG Korea
Reinfocement learning
by
GDG Korea
안드로이드 데이터 바인딩
by
GDG Korea
Introduce Android TV and new features from Google I/O 2016
by
GDG Korea
Android - Preventing common memory leaks
by
Ali Muzaffar
Android : How Do I Code Thee?
by
Viswanath J
Inside the Android application framework - Google I/O 2009
by
Viswanath J
More from GDG Korea
PDF
접근성(Accessibility)과 안드로이드
by
GDG Korea
PDF
Tensorflow 101
by
GDG Korea
PDF
Building Extraordinary Apps with Firebase Analytics
by
GDG Korea
PDF
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
by
GDG Korea
PDF
GKAC 2014 Nov. - 그루비로 안드로이드 앱 개발하기
by
GDG Korea
PDF
GKAC 2014 Nov. - The Beautiful Design Collection 살펴보기
by
GDG Korea
PDF
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
by
GDG Korea
접근성(Accessibility)과 안드로이드
by
GDG Korea
Tensorflow 101
by
GDG Korea
Building Extraordinary Apps with Firebase Analytics
by
GDG Korea
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
by
GDG Korea
GKAC 2014 Nov. - 그루비로 안드로이드 앱 개발하기
by
GDG Korea
GKAC 2014 Nov. - The Beautiful Design Collection 살펴보기
by
GDG Korea
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
by
GDG Korea
GKAC 2015 Apr. - Android Looper
1.
Android Looper 차영호 @ganachoco
2.
발표자 소개
3.
Agenda ● Java VS
Android ● Where is main? ● Event Loop ● Create and Handle Event with Message ● Advanced Topic
4.
Android Looper ● Event
Loop for Android ● 공기 같은 존재 ○ 어디에나 있지만, 여간해선 사용할 일은 없다. ○ 사용할 일은 없지만, 모르면 가끔씩 해결이 곤란할 때 가 생긴다.
5.
Java vs Android
6.
Start Entry public class
Hello { public static void main(String[] s) { System.out.println("Hello, World"); } } public class HelloActivity extends Activity { @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.activity_hello); } }
7.
Start Entry C: >
java Hello Hello, World ????
8.
간단한 호출경로 확인
방법(Log)
9.
간단한 호출경로 확인
방법(Log)
10.
main() package android.app; public final
class ActivityThread { public static void main(String[] args) { // blahblah Looper.loop(); throw new RuntimeException("Main thread loop unexpectedly exited"); } }
11.
Event Loop while (true)
{ // do someting }
12.
Event Loop while (true)
{ msg = waitAndGetMessage(); handler = msg.getTarget(); handler.handleMessage(msg); }
13.
간단한 호출경로 확인
방법(Log)
14.
Message Queue Image Source:
MSDN
15.
Message Queue Image Source:
MSDN
16.
ANR이 반겨줍니다.
17.
Events ● Component Lifecycle
Event ○ Activity ○ Service ● Intent Handler ○ BroadcastReceiver.onReceive ● View layout & draw ● Input Event
18.
Event Loop ● android.os.Message ●
android.os.Handler ● android.os.Looper ○ android.os.HandlerThread
19.
Message @Override public void onClick(View
v) { setText("Text 1"); } private static final int MSG_HANDLE_CHANGE_TEXT = 1; public void setText(String text) { // Message msg = new Message(); // bad usage Message msg = mHandler.obtainMessage(MSG_HANDLE_CHANGE_TEXT, text); mHandler.sendMessage(msg); }
20.
Handler private mHandler =
new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case MSG_HANDLE_TEXT_CHANGED: mTextView.setText((String)(msg.obj)); break; default: break; } } }
21.
Call Flow Looper.loop onClick setText mHandler.sendMessage ... mHandler.handleMessage mTextView.setText 시 간
22.
직구를 배웠습니다
23.
변화구도 배워봅시다 Image Source:
https://mirror.enha.kr/wiki/야구의 구종
24.
Message Queue Image Source:
MSDN sendMessageAtFrontOfQueue()
25.
Message Queue Image Source:
MSDN removeMessages()
26.
Message Queue Image Source:
MSDN sendMessageDelayed() sendMessageAtTime()
27.
Requirement ● 안드로이드앱이 시작하고나서 1분
후에 팝업을 띄워주세요.
28.
Solution
29.
Advanced Topic ● Wakelock ●
AlarmManager
30.
Wakelock ● View.setKeepScreenOn() ● WakeLock ○
FULL_WAKE_LOCK ○ SCREEN_BRIGHT_WAKE_LOCK ○ SCREEN_DIM_WAKE_LOCK ○ PARTIAL_WAKE_LOCK
31.
AlarmManager ● ELAPSED_REALTIME ● ELAPSED_REALTIME_WAKEUP ●
RTC ● RTC_WAKEUP
32.
Q&A
Download