2. Xamarin.Android
2.1 Hello Android(Xamarin.Android Application) 예제
n Xamarin.Android를 이용하여 전화번호를 입력받은 후 폰의 전화걸기 앱을 호출하여 전화거는 기능을 구현해 보자.
n Visual Studio를 실행하여 파일 -> 새로만들기 -> 프로젝트를 클릭 후 좌측 템플릿에서 Android -> 비어있는 앱(Blank App)을 선택하고 프로젝트 이름을 “Android_Hello”라고 입력을 하자.
n 프로젝트가 생성되면 우측 솔루션 탐색기의 Resources -> Layout 아래의 activity_main을 더블 클릭하면 폰화면이 나타나는데 이 파일이 스크린의 Layout 파일이다.
n 화면 좌측에 도구상자(ToolBox)가 보이지 않으면 보기메뉴 -> 도구상자를 클릭해서 좌측에 위치시킨 후 Text(Large)를 드래그 해서 폰화면의 상단 가운데 위치 시키고 우측하단 속성창에서 Text 속성을 " Enter a Phone Number : ” 로 입력하자.
n 툴박스(ToolBox)에서 Plain Text 위젯을 선택 후 Text(Large) 박스 아래에 위치 시키고 id 속성을 “@+id/PhoneNumberText”로 설정하자. (드래그해서 위치 시킬 때 마우스 커서가 화살표 모양이 될 때 컨트롤을 놓아야 한다.)
n 도구상자에서 Button을 선택해서 Plain Text 아래에 위치시키고 id 속성을 “@+id/CallButton”, Text 속성을 “Make a Call”로 설정하자.
n “Make a Call“ 버튼과 연관된 기능을 구현하는데 솔루션 탐색기에서 MainActivity.cs 파일을오픈하고 OnCreate 메소드에서 전화걸기 버튼의 기능을 구현하자.
[MainActivity.cs]
n Application에 전화거는 기능을 활성화 시키자. Android Manifest안에 권한과 관련된 부분을 정의해야 하는데, 솔루션 탐색기에서 Properties를 더블클릭하고 좌측 Android Manifest를 선택 후 하단의 Permission중 “CALL_PHONE” permission을 활성화 하자.
n 애플리케이션 이름을 지정하자. 기본적으로 프로젝트명으로 되어 있는데 “First Xamarin.Android App”으로 변경하자. (Resources/values/strings.xml)
n 모든 변경사항을 저장(Ctrl+Shift+S)하고 빌드하자.(Build > Rebuild Solution)
n MainActivity.cs의 Label은 응용프로그램의 스크린 최상단에 디스플레이되는 텍스트, 응용프로그램의 이름이니 필요하다면 수정을 하면 된다.
n 실습시 전화걸기가 권한/보안 오류로 인해 작동하지 않는다면 설정 -> 애플리케이션 관리 -> 애플리케이션 관리자를 실행하여 해당 앱을 선택하고 권한 -> 전화를 선택하여 권한을 주도록 하자.
n 에뮬레이터, 또는 안드로이드폰으로 테스트를 해보자.
실제 폰에서 테스트 하길 권고하며 USB 연결을 했는데도 상단에 본인의 “휴대폰 모델명”이 보이지 않으면 개인의 폰에 맞는 USB Driver를 설치 후 다시 USB를 연결하자.
Properties를 더블클릭 후 좌측 Application 에서 API LEVEL 23(mashimallow)로 설정하고 이뮬레이터를 실행했다. 상단의 실행단추를 눌러 실행하자.
n 폰으로 테스트 하기 위해서는 휴대폰을 USB로 연결 후 폰에서 USB 디버깅을 활성화 해야 되는데 휴대폰 상단 설정을 클릭하고 더보기 -> 개발자옵션 ->USB 디버깅을 체크하자. 또는 갤럭시 S4이후, 안드로이드4.2 젤리빈 이후의 폰들은 개발자 옵션이 비활성화 되어있으므로 설정 -> 디바이스 정보 -> 빌드번호 를 7번 클릭하면 “개발자 모드가 실행되었습니다” 라는 메시지가 나오면서 개발자 모드가 활성화 된다. 개발자 모드를 활성화하면 USB 디버깅도 같이 활성화 하자.
2.2 Hello Xamarin Android 구조?
n Properties : 응용프로그램 이름, 버전, 접근권한과 같이 Xamarin.Android Application 요구사항들을 설명하는 AndroidManifest.xml을 포함하고 있으며, 자기자신 어셈블리를 서술하는 AssemblyInfo.cs 파일도 제공한다.
n 참조 : 응용프로그램이 참조하는 내부, 외부 어셈블리(.DLL)을 지정한다. References 디렉터리를 확장하면 System, System.Core 및 System.Xml과 같은 .NET 어셈블리에 대한 참조는 물론 Xamarin의 Mono.Android 어셈블리에 대한 참조가 표시된다.
n Assets : 글꼴, 로컬 데이터 파일 및 텍스트 파일을 비롯하여 응용 프로그램이 실행해야하는 파일이 들어 있으며 여기에 포함 된 파일은 생성 된 Assets 클래스를 통해 액세스 할 수 있습니다.
n Resources : 문자열, 이미지 및 레이아웃과 같은 응용 프로그램 자원을 포함하며 생성 된 Resource 클래스를 통해 코드에서 이러한 리소스에 액세스 할 수 있다.
댓글 없음:
댓글 쓰기