"Android"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
잔글 |
잔글 (→참고 문헌) |
||
(같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
15번째 줄: | 15번째 줄: | ||
안드로이드(Android) : 휴대전화와 모바일 디바이스를 위한 운영체제, 미들웨어 그리고 핵심 애플리케이션을 포함한 소프트웨어 스택 | 안드로이드(Android) : 휴대전화와 모바일 디바이스를 위한 운영체제, 미들웨어 그리고 핵심 애플리케이션을 포함한 소프트웨어 스택 | ||
− | ===안드로이드 역사=== | + | === 안드로이드 역사 === |
− | *2005년 7월 : 안드로이드 사를 구글에서 인수 | + | |
+ | *2005년 7월 : 안드로이드 사를 구글에서 인수 | ||
*2007년 11월 5일 | *2007년 11월 5일 | ||
+ | |||
:*하드웨어, 소프트웨어, 통신 회사가 모여 만든 [http://www.openhandsetalliance.com/ OHA(Open Handset Alliance)] 결성 | :*하드웨어, 소프트웨어, 통신 회사가 모여 만든 [http://www.openhandsetalliance.com/ OHA(Open Handset Alliance)] 결성 | ||
:*OHA에서 모바일 기기용 공개 표준 개발 | :*OHA에서 모바일 기기용 공개 표준 개발 | ||
− | |||
− | |||
− | *2008년 9월 : Android SDK 1.0 발표 | + | *2007년 11월 12일 : 휴대전화용 안드로이드 플랫폼 발표 (무료로 공개) |
− | *2008년 10월 21일 : 안드로이드를 오픈소스(아파치 라이선스)로 공개 | + | **안드로이드 SDK, 동작 샘플, 안드로이드 시스템 구조, 안드로이드 내장 SW 개발 구조 공개 |
− | *2008년 10월 22일 : 미국 T-Mobile에서 최초의 Android 폰인 G1 출시 | + | *2008년 9월 : Android SDK 1.0 발표 |
− | *2008년 10월 22일 : [http://market.android.com/ Android Market] 정식 오픈 | + | *2008년 10월 21일 : 안드로이드를 오픈소스(아파치 라이선스)로 공개 |
− | + | *2008년 10월 22일 : 미국 T-Mobile에서 최초의 Android 폰인 G1 출시 | |
+ | *2008년 10월 22일 : [http://market.android.com/ Android Market] 정식 오픈 | ||
+ | **2009년 2월 19일 부터 유료 애플리케이션도 제공 | ||
+ | *2014년 10월 18일 : [http://googledevkr.blogspot.kr/2014/10/android-50-sdk.html?m=1 안드로이드 5.0 롤리팝 SDK 가 공개되었습니다.] | ||
===OHA - Open Handset Alliance=== | ===OHA - Open Handset Alliance=== | ||
78번째 줄: | 81번째 줄: | ||
*스마트폰용 센서 | *스마트폰용 센서 | ||
− | {|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" | + | {| cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |
|- | |- | ||
− | |width="20%" align="center" style="background-color:#eee;"|자이로 센서 | + | | width="20%" align="center" style="background-color:#eee;" |자이로 센서 |
− | |width="80%"| | + | | width="80%" | |
*자이로스코프(gyroscope), gyro | *자이로스코프(gyroscope), gyro | ||
*회전 관성을 감지하는 센서, 회전각을 감지 | *회전 관성을 감지하는 센서, 회전각을 감지 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|가속도 센서 | + | | align="center" style="background-color:#eee;" |가속도 센서 |
| | | | ||
*중력 센서, G-Sensor, Accelation | *중력 센서, G-Sensor, Accelation | ||
91번째 줄: | 94번째 줄: | ||
*기울기(Tilt) 센서의 기능도 있음 | *기울기(Tilt) 센서의 기능도 있음 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|기울기 센서 | + | | align="center" style="background-color:#eee;" |기울기 센서 |
| | | | ||
*Tilt | *Tilt | ||
*기울기를 감지 | *기울기를 감지 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|GPS | + | | align="center" style="background-color:#eee;" |GPS |
| | | | ||
*위치 기반 서비스 | *위치 기반 서비스 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|나침반 센서 | + | | align="center" style="background-color:#eee;" |나침반 센서 |
| | | | ||
*전자 나침반, 디지털 나침반 | *전자 나침반, 디지털 나침반 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|근접 센서 | + | | align="center" style="background-color:#eee;" |근접 센서 |
| | | | ||
*Proximity sensor | *Proximity sensor | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|조도 센서 | + | | align="center" style="background-color:#eee;" |조도 센서 |
| | | | ||
*주변 광센서 | *주변 광센서 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|컴파스 | + | | align="center" style="background-color:#eee;" |컴파스 |
| | | | ||
|} | |} | ||
384번째 줄: | 387번째 줄: | ||
*참고 문헌 | *참고 문헌 | ||
− | :* | + | :*http://developer.android.com/sdk/android-3.0.html |
− | :* | + | :*http://developer.android.com/guide/practices/optimizing-for-3.0.html |
− | :* | + | :*https://sites.google.com/site/adlinkorea |
− | : | + | :https://sites.google.com/site/iobootcamphclab/ |
− | :* | + | :*http://code.google.com/p/adl-protips-demo/source/checkout |
− | :* | + | :*http://j.mp/adl-protips-apk |
:*Google Analytics for Mobile | :*Google Analytics for Mobile | ||
− | ::* | + | ::*http://j.mp/adl-protips-ga |
447번째 줄: | 450번째 줄: | ||
==안드로이드 커뮤니티== | ==안드로이드 커뮤니티== | ||
===Google 커뮤니티=== | ===Google 커뮤니티=== | ||
− | {|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" | + | {| cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |
|- | |- | ||
− | |width="30%" align="center" style="background-color:#eee;"|[http://www.google.com/intl/ko_kr/mobile/ Google 모바일] | + | | width="30%" align="center" style="background-color:#eee;" |[http://www.google.com/intl/ko_kr/mobile/ Google 모바일] |
− | |width="70%"| | + | | width="70%" | |
*Google의 모바일 사이트 | *Google의 모바일 사이트 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|[http://developer.android.com/ Android Developers] | + | | align="center" style="background-color:#eee;" |[http://developer.android.com/ Android Developers] |
| | | | ||
*안드로이드 개발자 사이트 | *안드로이드 개발자 사이트 | ||
460번째 줄: | 463번째 줄: | ||
*[http://developer.android.com/guide/developing/eclipse-adt.html Android Development Tools (ADT) plugin for Eclipse] | *[http://developer.android.com/guide/developing/eclipse-adt.html Android Development Tools (ADT) plugin for Eclipse] | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|[http://code.google.com/intl/ko-KR/android/ Google Code : Android] | + | | align="center" style="background-color:#eee;" |[http://code.google.com/intl/ko-KR/android/ Google Code : Android] |
| | | | ||
*Android용 Google 프로젝트 | *Android용 Google 프로젝트 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"| | + | | align="center" style="background-color:#eee;" | |
| | | | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"| | + | | align="center" style="background-color:#eee;" | |
| | | | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"| | + | | align="center" style="background-color:#eee;" | |
| | | | ||
|} | |} | ||
===안드로이드 커뮤니티=== | ===안드로이드 커뮤니티=== | ||
− | {|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" | + | {| cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |
|- | |- | ||
− | |width="30%" align="center" style="background-color:#eee;"|[http://www.kandroid.org/ Korea Android] | + | | width="30%" align="center" style="background-color:#eee;" |[http://www.kandroid.org/ Korea Android] |
− | |width="70%"| | + | | width="70%" | |
*안드로이드 기술 커뮤니티 | *안드로이드 기술 커뮤니티 | ||
*[http://www.kandroid.org/board/kandroid_dev.php 한글 안드로이드 개발자 가이드] | *[http://www.kandroid.org/board/kandroid_dev.php 한글 안드로이드 개발자 가이드] | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|[http://www.androidpub.com/ 안드로이드펍] | + | | align="center" style="background-color:#eee;" |[http://www.androidpub.com/ 안드로이드펍] |
| | | | ||
*구글 안드로이드폰 사용자와 개발자 커뮤니티 | *구글 안드로이드폰 사용자와 개발자 커뮤니티 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|[http://www.androidside.com/ Android Side] | + | | align="center" style="background-color:#eee;" |[http://www.androidside.com/ Android Side] |
| | | | ||
*구글 안드로이드 강좌 개발 | *구글 안드로이드 강좌 개발 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|[http://rsequence.com/android_blog/ mSurf Lab 안드로이드 개발 정보방] | + | | align="center" style="background-color:#eee;" |[http://rsequence.com/android_blog/ mSurf Lab 안드로이드 개발 정보방] |
| | | | ||
*열심히 공부해서 우리모두 최고의 안드로이드 개발자가 됩시다. 웃쌰 . 웃쌰 . | *열심히 공부해서 우리모두 최고의 안드로이드 개발자가 됩시다. 웃쌰 . 웃쌰 . | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|[http://www.androidclub.co.kr/ 안드로이드 클럽] | + | | align="center" style="background-color:#eee;" |[http://www.androidclub.co.kr/ 안드로이드 클럽] |
| | | | ||
*안드로이드폰 사용자와 개발자 커뮤니티 | *안드로이드폰 사용자와 개발자 커뮤니티 | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"| | + | | align="center" style="background-color:#eee;" | |
| | | | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"|[http://www.androlib.com/ AndroLib] | + | | align="center" style="background-color:#eee;" |[http://www.androlib.com/ AndroLib] |
| | | | ||
*Android Market for your phone | *Android Market for your phone | ||
508번째 줄: | 511번째 줄: | ||
===스마트폰 커뮤니티=== | ===스마트폰 커뮤니티=== | ||
− | {|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" | + | {| cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |
|- | |- | ||
− | |width="30%" align="center" style="background-color:#eee;"|[http://blog.naver.com/favedesign/ 재미있는 재임스] | + | | width="30%" align="center" style="background-color:#eee;" |[http://blog.naver.com/favedesign/ 재미있는 재임스] |
− | |width="70%"| | + | | width="70%" | |
*Social Interface Design | *Social Interface Design | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"| | + | | align="center" style="background-color:#eee;" | |
| | | | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"| | + | | align="center" style="background-color:#eee;" | |
| | | | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"| | + | | align="center" style="background-color:#eee;" | |
| | | | ||
|- | |- | ||
− | |align="center" style="background-color:#eee;"| | + | | align="center" style="background-color:#eee;" | |
| | | | ||
|} | |} | ||
− | |||
− | |||
==RESTfull== | ==RESTfull== | ||
591번째 줄: | 592번째 줄: | ||
:*[http://mainia.tistory.com/605 안드로이드 에러 - Error generating final archive: Debug certificate expired on, 2011.4] | :*[http://mainia.tistory.com/605 안드로이드 에러 - Error generating final archive: Debug certificate expired on, 2011.4] | ||
− | ==참고 문헌== | + | == 참고 문헌 == |
+ | |||
+ | *[[Android/Kotlin]] | ||
*Google's App Inventor | *Google's App Inventor | ||
+ | |||
:*[http://appinventor.googlelabs.com/learn/ Google's App Inventor: Learn how it works] | :*[http://appinventor.googlelabs.com/learn/ Google's App Inventor: Learn how it works] | ||
:*[http://appinventor.googlelabs.com/about/ Google's App Inventor: Read more about App Inventor] | :*[http://appinventor.googlelabs.com/about/ Google's App Inventor: Read more about App Inventor] | ||
600번째 줄: | 604번째 줄: | ||
*[http://moozi.tistory.com/category/안드로이드개발 안드로이드 개발 2.0] | *[http://moozi.tistory.com/category/안드로이드개발 안드로이드 개발 2.0] | ||
*[http://www.slideshare.net/germweapon/201003-bm 201003 스마트폰 킬러앱과 Bm] | *[http://www.slideshare.net/germweapon/201003-bm 201003 스마트폰 킬러앱과 Bm] | ||
+ | |||
:*[http://www.smashingmagazine.com/2009/07/21/iphone-apps-design-mistakes-overblown-visuals/ iPhone Apps Design Mistakes: Over-Blown Visuals, 2009.7] | :*[http://www.smashingmagazine.com/2009/07/21/iphone-apps-design-mistakes-overblown-visuals/ iPhone Apps Design Mistakes: Over-Blown Visuals, 2009.7] | ||
− | *[http://www.appcelerator.com/ appcelerator의 Titanium] : 다양한 모바일 환경을 지원하는 플랫폼 | + | |
+ | *[http://www.appcelerator.com/ appcelerator의 Titanium] : 다양한 모바일 환경을 지원하는 플랫폼 | ||
*[http://blog.naver.com/PostView.nhn?blogId=wassupnari&logNo=100094319076 안드로이드 2.0 SDK + 이클립스 3.5 개발환경 설정 방법 .., 2009.11] | *[http://blog.naver.com/PostView.nhn?blogId=wassupnari&logNo=100094319076 안드로이드 2.0 SDK + 이클립스 3.5 개발환경 설정 방법 .., 2009.11] | ||
*[http://blog.noori.kr/think/5436 구글 안드로이드 (android) 완벽정리, 2010.2] | *[http://blog.noori.kr/think/5436 구글 안드로이드 (android) 완벽정리, 2010.2] | ||
*[http://ettrends.etri.re.kr/ 전자통신동향분석, 한국전자통신연구원, 2010.2] | *[http://ettrends.etri.re.kr/ 전자통신동향분석, 한국전자통신연구원, 2010.2] | ||
+ | |||
:*[http://etrij.etri.re.kr/Cyber/servlet/ETTRENDSContent?recno=0905001517&volumn=25&issue=1&year=2010&pubNo=121 차 세대 모바일 웹 애플리케이션 표준화 동향] | :*[http://etrij.etri.re.kr/Cyber/servlet/ETTRENDSContent?recno=0905001517&volumn=25&issue=1&year=2010&pubNo=121 차 세대 모바일 웹 애플리케이션 표준화 동향] | ||
+ | |||
*[http://androidilsan.springnote.com/pages/5067499 프로페셔널 책 단원별 정리_정은혜, 2010.3] | *[http://androidilsan.springnote.com/pages/5067499 프로페셔널 책 단원별 정리_정은혜, 2010.3] | ||
− | *[http://androidhuman.tistory.com/ 커니의 안드로이드 이야기] : 안드로이드와 관련된 사항이 잘 분류되어 정리되어 있습니다. | + | *[http://androidhuman.tistory.com/ 커니의 안드로이드 이야기] : 안드로이드와 관련된 사항이 잘 분류되어 정리되어 있습니다. |
*[http://neoskin.tistory.com/tag/%BE%C8%B5%E5%B7%CE%C0%CC%B5%E5 껍데기 안드로이드폰야그] | *[http://neoskin.tistory.com/tag/%BE%C8%B5%E5%B7%CE%C0%CC%B5%E5 껍데기 안드로이드폰야그] | ||
*[http://www.bloter.net/archives/34417 퀄컴, 안드로이드용 증강현실 SDK 무료 공개, 2010.7] | *[http://www.bloter.net/archives/34417 퀄컴, 안드로이드용 증강현실 SDK 무료 공개, 2010.7] | ||
615번째 줄: | 623번째 줄: | ||
*Android Decompile | *Android Decompile | ||
+ | |||
:*[http://en.wikipedia.org/wiki/APK_(file_format) APK (file format)] | :*[http://en.wikipedia.org/wiki/APK_(file_format) APK (file format)] | ||
:*[http://lopiter.tistory.com/entry/Using-UNDX-to-Decompile-Android-dex-bytecode Using UNDX to Decompile Android dex bytecode, 2010.7] | :*[http://lopiter.tistory.com/entry/Using-UNDX-to-Decompile-Android-dex-bytecode Using UNDX to Decompile Android dex bytecode, 2010.7] | ||
+ | |||
*[http://blog.naver.com/PostList.nhn?blogId=foxmann&categoryNo=16 안드로이드: 슈팅게임 만들기 강좌] | *[http://blog.naver.com/PostList.nhn?blogId=foxmann&categoryNo=16 안드로이드: 슈팅게임 만들기 강좌] | ||
*참고 파일 | *참고 파일 | ||
+ | |||
:*[http://www.google.co.kr/url?sa=t&source=web&ct=res&cd=6&ved=0CBkQFjAF&url=http%3A%2F%2Fwww.kcsa.or.kr%2Fupload%2Fnew_board%2FR11269384100083.pdf&ei=xCC9S4zTBYGY6gPV_6TNBQ&usg=AFQjCNGwGcKwlrlG6LxZh8VLT2GQ857EDQ&sig2=6UpJSKIUHkyl2Qewzt-ckQ 모바일 클라우드 컴퓨팅 기술 동향, NIPA, 2010.3] | :*[http://www.google.co.kr/url?sa=t&source=web&ct=res&cd=6&ved=0CBkQFjAF&url=http%3A%2F%2Fwww.kcsa.or.kr%2Fupload%2Fnew_board%2FR11269384100083.pdf&ei=xCC9S4zTBYGY6gPV_6TNBQ&usg=AFQjCNGwGcKwlrlG6LxZh8VLT2GQ857EDQ&sig2=6UpJSKIUHkyl2Qewzt-ckQ 모바일 클라우드 컴퓨팅 기술 동향, NIPA, 2010.3] | ||
:*[http://www.google.co.kr/url?sa=t&source=web&ct=res&cd=4&ved=0CBMQFjAD&url=http%3A%2F%2Fwww.lgeri.com%2FuploadFiles%2Fko%2Fpdf%2Find%2FLGBI1062-17_20091013135127.pdf&ei=xCC9S4zTBYGY6gPV_6TNBQ&usg=AFQjCNG4_jhDaJ69HN2yDiVfQd3HdUj8xQ&sig2=kRbr6RK5mGRcxrCchSPMLA 모바일 사무실 EMS, 기업의 잠재 니즈를 깨운다, 2009.10] | :*[http://www.google.co.kr/url?sa=t&source=web&ct=res&cd=4&ved=0CBMQFjAD&url=http%3A%2F%2Fwww.lgeri.com%2FuploadFiles%2Fko%2Fpdf%2Find%2FLGBI1062-17_20091013135127.pdf&ei=xCC9S4zTBYGY6gPV_6TNBQ&usg=AFQjCNG4_jhDaJ69HN2yDiVfQd3HdUj8xQ&sig2=kRbr6RK5mGRcxrCchSPMLA 모바일 사무실 EMS, 기업의 잠재 니즈를 깨운다, 2009.10] | ||
630번째 줄: | 641번째 줄: | ||
*[http://en.wikipedia.org/wiki/Android_version_history Android version history] | *[http://en.wikipedia.org/wiki/Android_version_history Android version history] | ||
− | *[[Design pattern]] | + | *[[Design pattern|Design pattern]] |
− | |||
− | [[Category:Android]] | + | :*UI Guide : http://developer.android.com/guide/topics/ui/actionbar.html [[Category:Android|Category:Android]] <br /> [[Category:오픈소스|Category:오픈소스]] <br /> [[Category:Google|Category:Google]] <br /> |
− | [[Category:오픈소스]] | ||
− | [[Category:Google | ||
− |
2020년 1월 26일 (일) 21:07 기준 최신판
오픈소스 모바일 플랫폼인 안드로이드(Android)를 정리 한다.
- 홈페이지 : http://www.android.com/
- Android Developers : http://developer.android.com/
- Android Source : http://source.android.com/, http://android.git.kernel.org/
- 안드로이드 마켓 : http://market.android.com/publish/Home
- Linux 커널 : GNU GPL
- 안드로이드 플랫폼 : Apache 2.0
- 플랫폼 : Android 모바일 Platform
- Android Market, 안드로이드 마켓플레이스
- OHA(Open Handset Alliance)
목차
안드로이드 개요
안드로이드(Android) : 휴대전화와 모바일 디바이스를 위한 운영체제, 미들웨어 그리고 핵심 애플리케이션을 포함한 소프트웨어 스택
안드로이드 역사
- 2005년 7월 : 안드로이드 사를 구글에서 인수
- 2007년 11월 5일
- 하드웨어, 소프트웨어, 통신 회사가 모여 만든 OHA(Open Handset Alliance) 결성
- OHA에서 모바일 기기용 공개 표준 개발
- 2007년 11월 12일 : 휴대전화용 안드로이드 플랫폼 발표 (무료로 공개)
- 안드로이드 SDK, 동작 샘플, 안드로이드 시스템 구조, 안드로이드 내장 SW 개발 구조 공개
- 2008년 9월 : Android SDK 1.0 발표
- 2008년 10월 21일 : 안드로이드를 오픈소스(아파치 라이선스)로 공개
- 2008년 10월 22일 : 미국 T-Mobile에서 최초의 Android 폰인 G1 출시
- 2008년 10월 22일 : Android Market 정식 오픈
- 2009년 2월 19일 부터 유료 애플리케이션도 제공
- 2014년 10월 18일 : 안드로이드 5.0 롤리팝 SDK 가 공개되었습니다.
OHA - Open Handset Alliance
- 휴대전화 제조, 서비스, 칩 제조 등 전세계 65개 업체가 가입 (2009년말)
- 휴대폰 제조 업체 : 삼성전자, LG전자, 모토롤라, HTC
- 이동통신 업체 : 스프린트, T-모바일, NTT 도코모, KDDI
- 칩 제조 업체 : 퀄컴, 브로드컴, 인텔, 텍사스인스트루먼트
안드로이드 마켓 플레이스
- 2008년 10월 22일 : Android Market 정식 오픈
- 2009년 2월 19일 부터 유료 애플리케이션도 제공
- SDK 다운 등은 무상
- 판매 수익은 CP/솔루션업체와 이동통신사가 7:3으로 분배
안드로이드의 타겟 시장
- 스마트폰
- 넷북
- 인터넷 전화기
- 휴대용 기기 (이북 등)
스마트폰의 장치 및 기능
스마트폰 장치
- 스마트폰 장치 입출력
- 버튼
- 화면 (Display)
- 그래픽 : OpenGL ES 1.0
- Touch Screen
- Multi Touch
- 제스쳐
- 오디오 (재생, 녹음), 비디오 (재생, 녹화)
- FM 라디오
- 카메라 : 사진, 동영상
- USB, MicroSD
- 광학 조이스틱 (Optical Joystick)
- 트랙볼
- 전화(Telephony)
- 음성 통신 (GSM)
- 메시징 : SMS, MMS
- 인터넷/네트워크
- 3G, GRPS, EDGE
- Wi-Fi
- Bluetooth
- 테더링(Tethering) : USB, Bluetooth, Wi-Fi
- 스마트폰용 센서
자이로 센서 |
|
가속도 센서 |
|
기울기 센서 |
|
GPS |
|
나침반 센서 |
|
근접 센서 |
|
조도 센서 |
|
컴파스 |
Smartphone UX
- GPS (Global Positioning System)
- Augmented Reality
- Touch Screen Technology
- 리모콘 : TV 리모콘, 자동차 시동 장치
- Network
- VOIP
- 모바일 인터넷
- 스마트폰 <-> 노트북
- M2M
- OCR (문자 인식)
- 바코드
- 음악 검색
- 형상 검색
- 음성 검색
- 참고 문헌
Push Notification Service
Push <-> Polling
- Push framework
- MIDP 2.0, Push Registry/WMA
- OMA WAP Push
- RIM: Hosted Data Push Service
- Android's C2DM
- 번역: 안드로이드 Android Cloud to Device Messaging(C2DM), 2010.5
- Froyo(SDK 2.2)부터 Push Service 지원, google에 서버의 Register ID를 등록을 해야 함
- 푸쉬 처리를 해주는 Agent가 대표 서버에 붙어있는 방식
- C2DM(Cloud to Device Messaging)
- Google Push (Android)
- MQTT Push (Android et.al.)
- 동기화 : Exchange ActiveSync, IMAP4, POP3 지원
- iPhone's APNS
- Apple Push Notifications
- 아이폰의 푸시 서비스 구조, 2010.2
- SMS를 활용한 Push Service
- 장점: 밧데리의 소모가 없다.
- WAP 1.2 부터 Push 기능이 나오기 시작했는데 이때는 MMS(SMS) 방식에 헤더에 identifier 를 넣어서 구분 했다. 즉 문자 전송방식에 일정한 구분자를 넣고, 내용이나 링크를 넣어서 보내는 방식으로 이러한 방식은 통신사와 제휴하지 않으면 구현이 쉽지 않다.
- 참고 문헌
Android 개발 환경
사전 준비 사항
Android 개발 환경 설정
- Android Plugin 설치
- 이클립스에서 "Help -> Install New Software..." 메뉴를 선택 한다.
- "Add" 버튼을 선택 한 후 다음과 같이 등록 한다.
- Name : Android
- Location : http://dl-ssl.google.com/android/eclipse/
- "Developer Tools"의 모든 Plugin을 설치 한다.
- 정상적으로 설치가 되면 "Window -> Android SDK and AVD Manager" 메뉴가 보인다.
- Android SDK 설치
- http://developer.android.com/ 사이트에서 "SDK" 탭을 선택 한 후 "android-sdk_r3-windows.zip" 파일을 다운로드 한다.
- 다운로드 받은 파일의 압축을 풀어 c:/appl/androidSDK/ 폴더에 저장 한다.
- "Window -> Preferences -> Android" 메뉴를 선택 한다.
- "SDK Location"에 "c:/appl/androidSDK/"를 지정 한다.
- "Window -> Android SDK and AVD Manager -> Available Packages" 메뉴를 선택 한다.
- 모든 설치 가능한 Packages를 선택 하고 하단의 "Install Selected" 버튼을 선택하여 설치 한다. (끈기를 가지고 설치가 완료될 때까지 기다리자.)
- 오류가 나서 일부만 설치되면 한두번 더 설치를 시도해 보자.
- Android용 Virtual Device 생성
- "Window -> Android SDK and AVD Manager -> Virtual Devices" 메뉴에서 "New..." 버튼을 선택 한다.
- 다음과 같이 설정한 후 "Create AVD" 버튼을 선택 한다.
- Name : Android_Device_2.1
- Target : Android 2.1 - API Level 7
- SD Card
- Size : 1024 MiB
- "Window -> Android SDK and AVD Manager -> Virtual Devices" 메뉴에서 실행할 AVD를 선택 한 후 "Start" 버튼을 선택 하면 Virtual Device를 실행할 수 있다. (OS가 기동하는 동안 끈기 있게 기다리자.)
- 주의: OS에서 한글 계정으로 로그인한 경우 제대로 동작하지 않을 수 있다. 사실 한글 계정은 여러곳에서 문제가 된다.
- Eclipse에서 안드로이드 컴파일 환경을 변경하는 방법
- default.properties에서 "target=Google Inc.:Google APIs:8"을 변경 한다.
- 예) 안드로이드 2.1 : target=Google Inc.:Google APIs:7
- 예) 안드로이드 2.2 : target=Google Inc.:Google APIs:8
- 참고 문헌
안드로이드 애뮬레이터
- 애뮬레이트 생성 및 실행
android create avd --name 이름 --target 버전(예, 4) -sdcard 256M emulator @이름
- 애뮬레이터 키
- 홈 : Home
- 메뉴 : F2, Page_Up
- 스타 : Shift_F2, Page_Down
- 백 : Esc
- 전화 걸기/끊기 : F3 / F4
- 검색 : F5
- 전원 : F7
- 네트워크 접속 토클 : F8
- 볼륨 업/다운 : +, Ctrl_F5 / -, Ctrl_F6
- 카메라 : Ctrl_+, 5, Ctrl_F3
- Portrait, Landscape 전환 : 7, 9, Ctrl_F11, Ctrl_F12
- 한글 키보드 설치
- http://www.androidpub.com/keyboard 에서 최신의 hangulkeyboard.apk 다운로드
- Android의 Tools 폴더에서 adb install hangulkeyboard.apk 명령 실행
- ~.apk
- /data/app/ 에 설치됨
- Tools
- set path=$ANDROID_SDK/tools/;$ANDROID_SDK/platforms/android-7/tools/
- $ANDROID_SDK/tools/
acp.exe adb.exe dmtracedump.exe emulator.exe etc1tool.exe fastboot.exe hprof-conv.exe mksdcard.exe sqlite3.exe zipalign.exe
- $ANDROID_SDK/platforms/android-7/tools/
aapt.exe aidl.exe dexdump.exe
- AAPT (ANDROID ASSET PACKAGING TOOL)
- ADB (ANDROID DEBUG BRIDGE)
- adb devices
- adb [-d 1] shell
- adb shell install ~.apk
- adb shell uninstall ~.apk
- 애뮬레이터 콘솔
- telnet localhost 5554
help|h|? print a list of commands event simulate hardware events geo Geo-location commands gsm GSM related commands kill kill the emulator instance network manage network settings power power related commands quit|exit quit control session redir manage port redirections sms SMS related commands avd manager virtual device state window manage emulator window try 'help <command>' for command-specific help
안드로이드 애뮬레이터 폴더 구조
/data/ /app/ : 배포된 애플리케이션 저장 폴더 com.jopenbusiness.android.apk /data/ : 배포된 애플리케이션 설치 폴더 /com.jopenbusiness.android/ /databases/ : SQLite (sqlite3) Database file alarms.db /files/ /lib/ /shared_prefs/ : SharedPreferences XML 파일 저장 위치 AlarmClock.xml /sdcard/ : 내장 SD (Secure Digital) 플래시 메모리 카드 /sdcard/external_sd/ : 외장 SD (Secure Digital) 플래시 메모리 카드 /system/ /app/ : Android 내장 애플리케이션 저장 폴더 Contacts.apk /etc/permissions/ /framework/~.jar
안드로이드 애뮬레이터 오류 조치
- 작성된 apk 파일이 배포되지 않을 경우
- 오류 메시지
java.io.IOException: Unable to upload file: null
- 조치 방법
- apk 파일의 크기가 커지면서 발생하는 문제로
- "Window -> Preferences -> Android -> DDMS -> ADB connection time out (ms)" 메뉴의 설정된 값을 늘여 준다.
apk Decompile
- 라이브러리 다운로드
- AndroidSDK : Android SDK Location - C:/appl/androidSDK
- Jad Decompiler : jad 명령어를 사용할 수 있도록 path에 등록 한다.
- dexdump.zip
- dexdump.zip의 압축을 풀어 C:/appl/androidSDK/tools/ 폴더에 복사 한다.
- Contacts.apk 파일을 Decompile 해보자.
- Contacts.apk 파일을 Contacts 폴더에 압축을 푼다.
- java -DASDKLoc=. -jar undx.jar -s C:/appl/androidSDK -f Contacts/classes.dex
- gen/classes.dex.jar 파일이 생성 된다.
- gen/classes.dex.jar 파일의 압축을 풀어 jad로 decompile 한다.
- jad -o -r -sjava -dsrc **/*.class
- XML 파일을 사람이 읽기 편한 형태로 변환 한다.
- java -jar AXMLPrinter2.jar Contacts/AndroidManifest.xml > out/AndroidManifest.xml
- 참고 문헌
Android update
- Android update 방법
- "Window -> Android SDK and AVD Manager -> Installed Packages" 메뉴를 선택한다.
- 하단의 "Update All..." 버튼을 눌러 Android를 업데이트 한다.
- Android update시 오류 처리 방법
- 오류 메시지 : "A folder failed to be renamed or moved. 생략"
- 처리 방법
- Eclipse를 종료 한다.
- $ANDROID_SDK/SDK Manager.exe 파일을 실행한다.
- "Installed Packages" 메뉴를 선택한다.
- 하단의 "Update All..." 버튼을 눌러 Android를 업데이트 한다.
ART
ART (Android Run Time)
- 참고 문헌
Multi Device 지원
Android SDK
Android UI
Android 입출력
Honeycomb
- 화면 구조
- Action Bar <- Option Menu
- Notification
- Fragment <- Activity를 사용하여 Layout 구성
- System Bar
- setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
- setSystemUiVisibility(View.STATUS_BAR_VISIBLE);
- TelephonyManager.getDeviceId()
- WifiInfo.getMacAddress()
- Settings.Secure.ANDROID~
- 안드로이드 개발자 랩
- 참고 문헌
- https://sites.google.com/site/iobootcamphclab/
- http://code.google.com/p/adl-protips-demo/source/checkout
- http://j.mp/adl-protips-apk
- Google Analytics for Mobile
Android L
Android L의 특징
- 머티리얼 디자인 적용 : 종이와 잉크를 메타포로하여 입체적인 디자인을 추구
- OpenGL ES 3.1
- WebRTC : P2P
- WebGL : 3D 그래픽
- 웹 오디오
- 매니지드 프로비저닝
안드로이드L 애뮬레이터 다운로드 사이트
Hello Android
첫번째 안드로이드 애플리케이션으로 "Hello Android"를 출력하는 애플리케이션을 만들어 봅시다.
- "File -> New -> Android Project" 메뉴를 선택하여 다음과 같이 입력한 후 "Finish" 버튼을 누른다.
- Project name : Hello_Android
- Build Target : Android 2.1 을 선택
- Applicatin name : HelloAndroid
- Package name : com.jopenbusiness.android
- Create Activity : .HelloAndroid
- 애플리케이션의 화면을 수정 합니다.
- "Hello_Android -> res -> layout -> main.xml"을 더블 클릭 한다.
- "Window -> Show View" 메뉴에서 아래 두개의 View를 추가 한다.
- Outline : 화면에 표시되는 Control 또는 Widget 등을 보고 선택할 수 있다.
- Properties : 화면에 표시되는 Control 또는 Widget 등의 속성을 수정할 수 있다.
- main.xml의 Outline에서 "TextView:를 선택 한다.
- Properties에서 Text size에 25px를 입력 한다. (폰트 크기 변경)
- "Hello_Android -> res -> values -> strings.xml"을 더블 클릭 한다.
- "hello" 문자열을 선택한 후 Value에 "Hello Android!"를 입력 한다.
- 수정한 애플리케이션을 애뮬레이터를 통해 실행 한다.
- "Hello_Android" 애플리케이션을 선택한다.
- 오른쪽 마우스를 눌른 후 "Run As -> Android Application"을 선택 한다.
- 애뮬레이터에서 애플리케이션이 실행되어 "Hello Android!"가 25px 폰트 사이즈로 화면에 표시되는 것을 확인할 수 있다.
- 애뮬레이터의 처음 실행헤 시간이 조금 걸리므로 끊기 있게 기다리자.
- 처음 이후의 실행은 애뮬레이터가 떠 있는 상태이므로 빨리 결과를 확인할 수 있다.
안드로이드 커뮤니티
Google 커뮤니티
Google 모바일 |
|
Android Developers | |
Google Code : Android |
|
안드로이드 커뮤니티
Korea Android |
|
안드로이드펍 |
|
Android Side |
|
mSurf Lab 안드로이드 개발 정보방 |
|
안드로이드 클럽 |
|
AndroLib |
|
스마트폰 커뮤니티
재미있는 재임스 |
|
RESTfull
- 참고 문헌
옴드로이드
T옴니아2의 SD Card(2GB 이상)에 옴드로이드를 설치해 보자.
- 설치 파일을 PC로 다운로드 합니다.
- T옴니아2의 T Store에서 파일 탐색기를 선택하여 설치 합니다.
- 저는 "씨쉘프리"를 설치 하였습니다.
- 기존에 파일 탐색기를 가지고 계신분은 이 단계를 생략해도 됩니다.
- 메인 메뉴 -> 단말설정 -> 시스템 -> 전원 관리 및 CPU성능 -> CPU 성능
- "고속"으로 설정 합니다.
- T옴니아2와 컴퓨터를 USB로 연결 합니다.
- 메인 메뉴 -> 단말설정 -> 연결설정 -> USB 연결 -> 이동식 저장소
- "My Storage"를 선택 합니다.
- "My Storage"의 최상위 폴더에 다운로드 받은 파일을 복사 합니다.
- 이동식 저장소를 해제 합니다.
- 메인 메뉴 -> 단말설정 -> 연결설정 -> USB 연결 -> 이동식 저장소
- "Storage Card"를 선택 합니다.
- 디스크를 포맷 합니다.
- 마우스 오른쪽버튼>포맷>기본값복원(빠른 포맷에 체크하시고)>포맷
- 이동식 저장소를 해제 합니다.
- 메인 메뉴 -> 단말설정 -> 메모리 관리 -> Storage Card (외장메모리) -> 포맷
- 파일 탐색기(씨쉘프리)에서 TRE 폴더의 TRE.EXE를 실행 합니다.
- File -> Import Registry에서 REG.REG를 선택 합니다.
- 옴니아2 리부팅
- 파일 탐색기(씨쉘프리)에서 My Storage/O2Beta-1G/HARET.EXE 실행
- 실행후 어떤 버튼을 누르시거나 터치를 하셔도 안됩니다
- "run"을 누름
- 자동으로 재부팅이 됩니다.
- 이제 옴드로이드의 설치가 완료 되었습니다.
SD Card에 옴드로이드가 설치 되었으므로 처음 T옴니아2를 실행하면 Windows 화면이 표시 됩니다. 옴드로이드를 사용하기 위해서는 아래 명령을 실행 하세요.
- 파일 탐색기(씨쉘프리)에서 My Storage/HARET.EXE 실행
- 실행후 어떤 버튼을 누르시거나 터치를 하셔도 안됩니다
- 참고 문헌
- o2droid : 옴니아2 안드로이드 개발 프로젝트
- 옴니아2에 안드로이드를, 옴드로이드(Omdroid)소개, 2011.3
안드로이드 오류 처리
- "Error generating final archive: Debug certificate expired on ~" 오류 처리
참고 문헌
- Android/Kotlin
- Google's App Inventor
- appcelerator의 Titanium : 다양한 모바일 환경을 지원하는 플랫폼
- 안드로이드 2.0 SDK + 이클립스 3.5 개발환경 설정 방법 .., 2009.11
- 구글 안드로이드 (android) 완벽정리, 2010.2
- 전자통신동향분석, 한국전자통신연구원, 2010.2
- 커니의 안드로이드 이야기 : 안드로이드와 관련된 사항이 잘 분류되어 정리되어 있습니다.
- 껍데기 안드로이드폰야그
- 퀄컴, 안드로이드용 증강현실 SDK 무료 공개, 2010.7
- 10 안드로이드 하드웨어, 2010.3
- Android Decompile
- 참고 파일