Transcript
Page 1: (탑크리에듀추천C#,자마린교육강좌)Xamarin.Forms?_크로스플랫폼 앱 개발을 위한 자마린 폼즈 소개합니다

Xamarin 강좌(Xamarin.Forms)

탑크리에듀 (http://topcredu.co.kr), 이종철

Page 2: (탑크리에듀추천C#,자마린교육강좌)Xamarin.Forms?_크로스플랫폼 앱 개발을 위한 자마린 폼즈 소개합니다

Xamarin.Forms Requirements 스트린 화면은 Xamarin.Forms 자마린의 Xamarin.Forms 는 크로스플랫폼 (Android, iOS, Win-

dows, and Windows Phone) 을 편하게 개발하도록 지원하는 프레임워크 이다 . 사용자가 작성한 응용프로그램은 자마린을 통해 타겟 플랫폼의 Native Controll 로 렌더링되어 실행된다 . 의 Page 에 대응되는데 안드로이드의 Activity, iOS 의 View Controller, Windows Universal

Platform 의 Page 와 같다 .

Target Platform : Xamarin.Forms 응용프로그램은 다음과 같은 OS 에 사용가능 하다 . Android 4.0.3 (API 15) or higher # iOS 6.1 or higher Windows Phone 8.1 (WinRT, using Visual Studio) # Windows 8.1 Tablet/Desktop Apps (WinRT, using Visual Studio) # Windows 10 Universal Apps (Phone/Tablet/Desktop, using Visual Studio) # Windows Phone 8 Silverlight (using Visual Studio) DEPRECATED #

Page 3: (탑크리에듀추천C#,자마린교육강좌)Xamarin.Forms?_크로스플랫폼 앱 개발을 위한 자마린 폼즈 소개합니다

Android

Target 및 Compile 버전은 “ Use latest installed platform” 로 설정되야 한다 . Build > General Build > Android Application

Page 4: (탑크리에듀추천C#,자마린교육강좌)Xamarin.Forms?_크로스플랫폼 앱 개발을 위한 자마린 폼즈 소개합니다

Xamarin.Forms Windows 비주얼 스튜디오에서 Xamarin.Forms 템플릿은 3 개의 Windows 템플릿이 사용가능하다 . Windows 8.1 - 태블릿 , 데스크탑 (WinRT 기반 , WinRT 는 Windows Runtime 의 약자로 모바일과 웹서비스를 주로 겨냥한 MS 의 차세대 API) Windows Phone 8.1 : Universal Windows Platform Apps - Xamarin.Forms 에서는 윈도우

10 의 Universal (UWP) 응용프로그램을 폰 , 태블릿 , 데스크탑 디바이스에서 실행할 수 있도록 지원한다 .  Windows : Windows8.1 프로젝트는 사전에 기본 템플렛에 포함되어 있지 않으므로 별도로 포함해야 한다 .  Universal Windows Platform(UWP) : Windows 10 UWP 프로젝트 역시 사전에 포함되어 있지 않으므로 별도로 추가해야 한다 . 참고로 타일 UI 의 앱의 명칭은 다음과 같이 변해왔다 . Metro App -> Modern App -> Windows Store App -> Universal App

Platform(Windows 10)  Windows Phone 8(Silverlight) : Xamarin.Forms 1.x and 2.x 는 Windows Phone 8

Silveright 응용으로그램을 지원했지만 Deprecated 됨 .

Page 5: (탑크리에듀추천C#,자마린교육강좌)Xamarin.Forms?_크로스플랫폼 앱 개발을 위한 자마린 폼즈 소개합니다

Xamarin.Forms 기타 요구사항 Mac 시스템 요구사항 : iOS 응용프로그램 개발을 위해 Xcode 7 이상이 필요하다 . Windows 시스템 요구사항 : 비주얼 스튜디오 2012 이상 (Win 7 이상 ), iOS 개발을 위해선 네트워크에 연결된 Mac 장비가 필요하다 . Universal Windows Platform System 개발을 위해선 비주얼 스튜디오 2015 및

Windows10 이 필수요건 이다 .

Page 7: (탑크리에듀추천C#,자마린교육강좌)Xamarin.Forms?_크로스플랫폼 앱 개발을 위한 자마린 폼즈 소개합니다

Xamarin.Forms 실행하기 Xamarin.Forms 응용프로그램은 화면에 출력되고자 인스턴스화 되는 처음 페이지에 대응되는 하나의 App라는 클래스를 가진다 .

 ContentPage 는 StackLayout or ScrollView 와 같은 하나의 뷰를 Display 하는 Page 를 말하며 뷰가 되는 페이지는 ContentPage 를 상속받아야 하는데 , 아래 예문처럼 사용하는 것도 가능하다 .

public class App : Application{ public App () { MainPage = new ContentPage { Content = new Label { Text = "Hello, Forms !", VerticalOptions = LayoutOptions.Cen-terAndExpand, HorizontalOptions = LayoutOptions.-CenterAndExpand, } }; } }

Page 8: (탑크리에듀추천C#,자마린교육강좌)Xamarin.Forms?_크로스플랫폼 앱 개발을 위한 자마린 폼즈 소개합니다

iOS

Xamarin.Forms 페이지를 iOS에서 실행하기 위해서는 프로젝트에서 Xamarin.Forms.-Platform.iOS.FormsApplica-tionDelegate 를 상속받은 Ap-pDelegate 클래스를 포함한다 . 재정의한 FinishedLaunching 메소드에서 Init 메소드에 의해 Xamarin.Forms 를 초기화한다 .

[Register("AppDelegate")]public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate{ public override bool FinishedLaunching(UIApplication app, NSDic-tionary options) { global::Xamarin.Forms.Forms.Init (); LoadApplication (new App ()); return base.FinishedLaunching (app, options); }}

Page 9: (탑크리에듀추천C#,자마린교육강좌)Xamarin.Forms?_크로스플랫폼 앱 개발을 위한 자마린 폼즈 소개합니다

Android

안드로이드에서 Xamarin.-Forms Page 를 초기화하기 위해서는 MainLancher 속성을 포함한 Activity(FormsApplicationActivity 클래스를 상속 ) 를 만들어야 한다 .

오버로딩된 OnCreate 메소드는 Init 메소드에 의해 Xamarin.Forms 프레임워크를 초기화한다 .

[Activity(Label = "HelloXamarinFormsWorld", MainLauncher = true,ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orienta-tion)]

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity {

protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); Xamarin.Forms.Forms.Init(this, bundle); LoadApplication (new App ()); } }

Page 10: (탑크리에듀추천C#,자마린교육강좌)Xamarin.Forms?_크로스플랫폼 앱 개발을 위한 자마린 폼즈 소개합니다

This Practice makes the Expert!

C#,ADO.NET,Network프로그래밍 기초과정 C# 기초 , Xamarin 앱 개발과정 Xamarin 앱개발 과정