"Android"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
잔글
 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
81번째 줄: 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
94번째 줄: 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;" |컴파스
 
|
 
|
 
|}
 
|}
387번째 줄: 387번째 줄:
 
*참고 문헌
 
*참고 문헌
  
:*[http://developer.android.com/sdk/android-3.0.html http://developer.android.com/sdk/android-3.0.html]
+
:*http://developer.android.com/sdk/android-3.0.html
:*[http://developer.android.com/guide/practices/optimizing-for-3.0.html http://developer.android.com/guide/practices/optimizing-for-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/adlinkorea]
+
:*https://sites.google.com/site/adlinkorea
:[https://sites.google.com/site/iobootcamphclab/ https://sites.google.com/site/iobootcamphclab/]
+
:https://sites.google.com/site/iobootcamphclab/
:*[http://code.google.com/p/adl-protips-demo/source/checkout http://code.google.com/p/adl-protips-demo/source/checkout]
+
:*http://code.google.com/p/adl-protips-demo/source/checkout
:*[http://j.mp/adl-protips-apk http://j.mp/adl-protips-apk]
+
:*http://j.mp/adl-protips-apk
 
:*Google Analytics for Mobile
 
:*Google Analytics for Mobile
::*[http://j.mp/adl-protips-ga http://j.mp/adl-protips-ga]
+
::*http://j.mp/adl-protips-ga
  
  
450번째 줄: 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]
 
|
 
|
 
*안드로이드 개발자 사이트
 
*안드로이드 개발자 사이트
463번째 줄: 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
511번째 줄: 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==
594번째 줄: 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]
603번째 줄: 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]
618번째 줄: 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]
633번째 줄: 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]]
:*UI Guide : http://developer.android.com/guide/topics/ui/actionbar.html
 
  
[[Category:Android]]
+
:*UI Guide&nbsp;: 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]]
 
[[Category:Mobile]]
 

2020년 1월 26일 (일) 21:07 기준 최신판

오픈소스 모바일 플랫폼인 안드로이드(Android)를 정리 한다.

  • Linux 커널 : GNU GPL
  • 안드로이드 플랫폼 : Apache 2.0

안드로이드 개요

안드로이드(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
  • 스마트폰용 센서
자이로 센서
  • 자이로스코프(gyroscope), gyro
  • 회전 관성을 감지하는 센서, 회전각을 감지
가속도 센서
  • 중력 센서, G-Sensor, Accelation
  • 가속도를 감지하는 센서, 외부의 충격량과 방향을 감지
  • 기울기(Tilt) 센서의 기능도 있음
기울기 센서
  • Tilt
  • 기울기를 감지
GPS
  • 위치 기반 서비스
나침반 센서
  • 전자 나침반, 디지털 나침반
근접 센서
  • Proximity sensor
조도 센서
  • 주변 광센서
컴파스

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
  • 푸쉬 처리를 해주는 Agent가 대표 서버에 붙어있는 방식
  • C2DM(Cloud to Device Messaging)
  • Google Push (Android)
  • MQTT Push (Android et.al.)
  • 동기화 : Exchange ActiveSync, IMAP4, POP3 지원
  • iPhone's APNS
  • SMS를 활용한 Push Service
  • 장점: 밧데리의 소모가 없다.
  • WAP 1.2 부터 Push 기능이 나오기 시작했는데 이때는 MMS(SMS) 방식에 헤더에 identifier 를 넣어서 구분 했다. 즉 문자 전송방식에 일정한 구분자를 넣고, 내용이나 링크를 넣어서 보내는 방식으로 이러한 방식은 통신사와 제휴하지 않으면 구현이 쉽지 않다.
  • 참고 문헌

Android 개발 환경

사전 준비 사항

Android 개발 환경 설정

  • Android Plugin 설치
  • 이클립스에서 "Help -> Install New Software..." 메뉴를 선택 한다.
  • "Add" 버튼을 선택 한 후 다음과 같이 등록 한다.
  • "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에서 한글 계정으로 로그인한 경우 제대로 동작하지 않을 수 있다. 사실 한글 계정은 여러곳에서 문제가 된다.
Android
  • 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
  • 한글 키보드 설치
  • ~.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

  • 라이브러리 다운로드
  • 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 SDK

Android UI

Android - UI

Android 입출력

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/


Android L

Android L의 특징

  • 머티리얼 디자인 적용 : 종이와 잉크를 메타포로하여 입체적인 디자인을 추구
  • OpenGL ES 3.1
  • WebRTC : P2P
  • WebGL : 3D 그래픽
  • 웹 오디오
  • 매니지드 프로비저닝


안드로이드L 애뮬레이터 다운로드 사이트

안드로이드 SDK 매니저

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!"를 입력 한다.

Resource 수정

  • 수정한 애플리케이션을 애뮬레이터를 통해 실행 한다.
  • "Hello_Android" 애플리케이션을 선택한다.
  • 오른쪽 마우스를 눌른 후 "Run As -> Android Application"을 선택 한다.
  • 애뮬레이터에서 애플리케이션이 실행되어 "Hello Android!"가 25px 폰트 사이즈로 화면에 표시되는 것을 확인할 수 있다.
  • 애뮬레이터의 처음 실행헤 시간이 조금 걸리므로 끊기 있게 기다리자.
  • 처음 이후의 실행은 애뮬레이터가 떠 있는 상태이므로 빨리 결과를 확인할 수 있다.

애뮬레이터 화면

안드로이드 커뮤니티

Google 커뮤니티

Google 모바일
  • Google의 모바일 사이트
Android Developers
Google Code : Android
  • Android용 Google 프로젝트

안드로이드 커뮤니티

Korea Android
안드로이드펍
  • 구글 안드로이드폰 사용자와 개발자 커뮤니티
Android Side
  • 구글 안드로이드 강좌 개발
mSurf Lab 안드로이드 개발 정보방
  • 열심히 공부해서 우리모두 최고의 안드로이드 개발자가 됩시다. 웃쌰 . 웃쌰 .
안드로이드 클럽
  • 안드로이드폰 사용자와 개발자 커뮤니티
AndroLib
  • Android Market for your phone

스마트폰 커뮤니티

재미있는 재임스
  • Social Interface Design

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 실행
  • 실행후 어떤 버튼을 누르시거나 터치를 하셔도 안됩니다
  • 참고 문헌

안드로이드 오류 처리

  • "Error generating final archive: Debug certificate expired on ~" 오류 처리

참고 문헌

  • Android Decompile
  • 참고 파일