* 폰으로 애뮬레이터 실행하기

 

 

 

 

 

 

* 이렇게 설정 후 안드로이드 폰을 usb에 연결하고 run시키면 핸드폰에 뜬다.

Posted by 조은성
,

* 안드로이드 app( 4가지 구성요소)

1. Activity : 화면 기반으로 동작(UI + 화면을 터치하면 동작이 일어남) - 사용자와 상호작용(interection)

2. Service : 화면 없이 동작(background 작업) - 알림(ex : 카톡이 오면 카톡이 왔다고 알려줌.,mp3 : 음악을 켜두고 다른 일을 할 수 있음)

3. Broadcast Receiver(방송수신자) :  system이나 다른 app이 하는 방송을 수신.

4. Content Provider(컨텐트 제공자) : app이 가진 Data들을 다른 component에 제공하는 컴포넌트) - (ex : 주소록 - 전화) 전화번호는 주소록에 있어서 전화를 걸 시에 전화 app에서 주소록app에게 주소록을 달라고 요청해야 한다.

* 주소록의 content Provider를 만들어 두면 전화기능에서 주소록의 content Provider를 가져다가 쓰면 전화기능에서 주소록을 가져다가 쓸 수 있게 된다. content Provider는 DB를 만드는 것과 비슷하다.

 

 

Posted by 조은성
,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Posted by 조은성
,

 

HangulKeyboard.apk

 * 버츄얼 디바이스가 켜진 상태에서 따라하기

 

 

 

 

 

 

-------

 

 

 

 

 

 

 

 

 

 

 

'프로그래밍 > Android' 카테고리의 다른 글

안드로이드 app( 4가지 구성요소)  (0) 2012.07.13
Helloworld 만들기[실습] - 안드로이드  (0) 2012.07.12
안드로이드의 등장  (0) 2012.07.12
안드로이드의 역사  (0) 2012.07.12
안드로이드 시작하기  (0) 2012.07.12
Posted by 조은성
,

1. 모바일 개발

모바일 환경
통화 기능만을 제공하던 과거의 핸드폰과는 달리 근래의 스마트폰은 통신 장비의 수준을 뛰어 넘어 거의 모든 디지털 장비를 야금야금 통합해 가고 있다.
모바일 장비의 수요 증가는 소프트웨어의 수요 증가로 이어지며, 수요가 많다 보니 가격도 적당한 수준에서 합리적으로 형성된다. 또한 소프트웨어를 사고 파는 오픈 마켓이 활성화되어 있어 누구나 쉽게 접근할 수 있다.

 

안드로이드의 등장
스마트폰의 운영체제는 과거 통계 기준으로 신비안, 아이폰 등이 대부분을 차지했으며, 안드로이드는 점유율이 미미한 상태였다. 하지만 점차 점유율을 높이고 있는 상태다.
안드로이드는 각종 모바일 운영체제가 치열한 경쟁을 벌이는 상황에서 새롭게 등장한 모바일 운영체제이다.

개발 주체는 명목상으로 OHA(Open Handset Alliance)컨소시엄으로 되어 있지만 실질적인 리더는 인터넷 검색 업체인 구글이다.
OHA는 비독점 개방 플랫폼을 지향하며 그 결과로 만들어진 것이 바로 안드로이드이다 . 특정 업체에 의해 독점적으로 공급되는 아이폰, 윈도우 모바일과는 대조적인데 둘 다 장단점이 있어서 반드시 어느 쪽이 더 좋다고 할 수는 없다
구글 뿐만 아니라 국내 통신업체 및 장비업체들도 안드로이드 대중화를 위해 엄청난 자금을 쏟아 부으며 개발자 대회나 프로그램 공모전을 펼치고 있다.

 

2. 안드로이드

 

특징
운영체제의 핵심이라고 할 수 있는 커널은 공개 운영체제인 리눅스에 기반 한다.
공식적으로 Java 언어를 사용한다. 최근에는 C로 개발할 수 있는 NDK도 발표되었지만 아직 일반적이지 않다.
검증된 많은 라이브러리들을 대거 포함하고 있어 웬만한 기능은 별도의 외부 라이브러리를 사용할 필요가 없다.
플랫폼에 내장된 빌트인 프로그램과 사용자가 만든 프로그램이 동일한 API를 사용하므로 모든 프로그램은 평등하다.

개방된 환경인 만큼 개발 툴과 관련 문서들이 모두 무료로 제공된다.

아키텍처 

제일 하위에는 운영체제의 핵심에 해당하는 리눅스 커널이 있다.
안드로이드가 리눅스를 채용한 주된 이유는 공개 운영체제라는 이유도 있지만 무엇보다 디바이스 드라이버의 지원이 광범위하기 때문이다.
자바 가상 머신 JVM을 직접 사용하지 않으며 모바일 환경에 최적화한 달빅(Dalvik) 가상 머신을 사용한다.
달빅은 안드로이드 전용의 가상 으로 자바 클래스를 바로 실행할 수는 없으며 클래스 파일을 dex 포맷(JavaClass와 다른 byte code)으로 변환해야만 실행이 가능하다.
라이브러리와 런타임 위에는 프레임워크가 있는데 이것이 바로 안드로이드의 API이다.
응용프로그램은 프레임워크를 통해 하위의 커널이나 시스템 라이브러리를 사용한다.

 

 

4가지 구성요소
액티비티 : 사용자 인터페이스를 구성하는 기본 단위이다.
서비스 : UI가 없어 사용자 눈에 직접으로 보이지 않으며 백그라운드에서 실행되는 컴포넌트이다. 전형적인 예로 미디어 플레이어를 들 수 있는데 비활성화된 상태라도 노래는 계속 재생되어야 하기 때문이다.
방송 수신자(Broadcast Receiver) : 시스템으로부터 전달되는 방송을 대기하고 있다가 신호 전달 시 수신하는 역할을 한다.
콘텐트 제공자(Content Provider) : 다른 응용 프로그램을 위해 자신의 데이터를 제공한다. 전형적인 예가 데이터베이스이며, 주소록도 CP로 제공된다.
4가지 컴포넌트들은 서로 독립적으로 동작하므로 상호간의 통신을 위한 장치가 필요한데 이 역할은 인텐트(Intent)가 담당한다. 인텐트는 컴포넌트간의 통신 수단이며 메시지에 대한 상세한 정보를 가진다.
Posted by 조은성
,

 

 

Posted by 조은성
,

 

 

 

 

 

 

 

 

 

 

 

Posted by 조은성
,

 

 

 

 

----

 

 

 

 

 

 

 

 

 

 

 

 

 

* eclipse 안드로이드 plug-in 설치하기

 

 

 

 

 

 

 

 

 

 

 

* 설치완료화면

 

Posted by 조은성
,

 

 

 

 

 

 

 

 

 


Posted by 조은성
,

 

프로젝트수업문서.zip

google svn_subclipse메뉴얼.pdf

* SVN 

형상관리 : 프로젝트에 관련된 요소들(소스)을 관리해주는 틀

               (ex : 소스들을 한군데 모아두고 관리함)

SVN : 서버에 내가 만든 소스를 올린다. (FTP에 비해 히스토리 관리를 더 해준다.)

 
* SVN의 장점

1.이력관리(예전소스 확인하고, 백업가능)
2.소스를 합치기 좋다.
3.하나의 소스를 여러 사람이 고쳤을 때 그 소스를 합쳐줌.

     ex : 관리자A123을 올리고 관리자B012를 올리면 둘을 합쳐서 0123을 만들어줌

 

 

 

* SVN은 FTP와 같이 하나의 서버에 여러사람이 소스를 올려서 관리한 수 있고 히스토리를 관리해준다는 장점을 가지고 있다.

 

 

1. http://code.google.com/intl/ko/ 로 이동

 

2. create a new project 선택 후 로그인

3. 작성

project name 프로젝트 이름

summary 프로젝트 성명

description 자세한 설명

label(s) 자세한 테그.(조회시 사용)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-----

 

 

 

 

 

-----

 

 

 

 

 

----

 

 

 

 

 

---

 

 

 

 

 

 

 

 

* commit하기

 

 

 

 

 

 

 

 

 

 

 

 

---

 

 

 

 

 

 * 다른사람이 수정해서 올린것 svn서버에서 다운받기

* 수정해서 svn에 올라가 있는 것 확인하기

 

 

 

* 동시에 같은 파일 업데이트 할 경우

A가 먼저 update하고 B가 업데이트 할경우 툴이 자동으로 내가 수정한 소스와 A의 소스를 병합해 준다. 이후 커밋을 해주면 정상적으로 올라간다. -> 커밋하기전에 반드시 업데이트를 받고 커밋해라.

* 동시에 서로 같은 파일에 같은 부분을 수정해서 올릴 경우

- 올릴 시에 충돌이 나면 파일이 네개로 쪼개짐(대부분 내가 만든 것으로 바꾸어줌)

 

 

* Mark Resolved를 선택했을 경우

1. 내가 선택한 것으로 해결하겠다.
2. mine 내것으로 해결하겠다.
3. 바뀐 것으로 해결하겠다.
4. 받아온 버전으로 해결하겠다.(다른사람이 고친것으로 해결하겠다. 내것 무시)
5. 받은 것을 수정한 다음에 내가 고치겠다.
6. 원래 서버의 원본으로 바꾸겠다.

Posted by 조은성
,