안드로이드(Android) : 휴대전화와 모바일 디바이스를 위한 운영체제, 미들웨어 그리고 핵심 애플리케이션을 포함한 소프트웨어 스택
안드로이드 역사
- 2005년 7월 : 안드로이드 사를 구글에서 인수
- 2007년 11월 5일
- 하드웨어, 소프트웨어, 통신 회사가 모여 만든 [OHA(Open Handset Alliance)](http://www.openhandsetalliance.com/) 결성
- 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](http://market.android.com/) 정식 오픈
- *2009년 2월 19일 부터 유료 애플리케이션도 제공
- 2014년 10월 18일 : [안드로이드 5.0 롤리팝 SDK 가 공개되었습니다.](http://googledevkr.blogspot.kr/2014/10/android-50-sdk.html?m=1)
WAP 1.2 부터 Push 기능이 나오기 시작했는데 이때는 MMS(SMS) 방식에 헤더에 identifier 를 넣어서 구분 했다. 즉 문자 전송방식에 일정한 구분자를 넣고, 내용이나 링크를 넣어서 보내는 방식으로 이러한 방식은 통신사와 제휴하지 않으면 구현이 쉽지 않다.
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 ' 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)" 메뉴의 설정된 값을 늘여 준다.
- [API 11의 Fragment를 하위 API에서 사용하기](http://www.androidpub.com/1432908)
- 화면 구조
- Action Bar <- Option Menu
- Notification
- Fragment <- Activity를 사용하여 Layout 구성
- System Bar
- setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
- setSystemUiVisibility(View.STATUS_BAR_VISIBLE);
- [Google's App Inventor: Learn how it works](http://appinventor.googlelabs.com/learn/)
- [Google's App Inventor: Read more about App Inventor](http://appinventor.googlelabs.com/about/)
- [Android Git](http://android.git.kernel.org/)
- [안드로이드 개발 2.0](http://moozi.tistory.com/category/안드로이드개발)
- [201003 스마트폰 킬러앱과 Bm](http://www.slideshare.net/germweapon/201003-bm)
- [안드로이드: 슈팅게임 만들기 강좌](http://blog.naver.com/PostList.nhn?blogId=foxmann&categoryNo=16)
- 참고 파일
- [모바일 클라우드 컴퓨팅 기술 동향, 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)
- [모바일 사무실 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 (Enterprise Mobility Service) 도입 현황과 적용 사례, 2009](http://www.google.co.kr/url?sa=t&source=web&ct=res&cd=14&ved=0CDkQFjAN&url=http%3A%2F%2Fkimsk.textcube.com%2F20%2Fattach%2FEnterprise%2520Mobiltiy%2520Service_1.pdf&ei=SCO9S53OKYvg7AP3n9HWBQ&usg=AFQjCNHeGXCFG89ty0IqY2kWk8MTZ7FCzw&sig2=-gIqlx9PrAnuMKkOgYM6ow)
- [Android 개발 팁 50선, 2010.5](http://miksnug.pe.kr/26)
- [스마트폰 시장 트렌드 분석과 전망, 2010.Q4](http://www.w3c.or.kr/~hollobit/presentation/20101125-KOITA-smartphonetrends.pdf)
- [안드로이드 외장 메모리에 설치 가능한 어플리케이션 만들기, 2010.6](http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110087800430&parentCategoryNo=18&viewDate=¤tPage=1&listtype=0)
- [Android version history](http://en.wikipedia.org/wiki/Android_version_history)