2016年2月13日土曜日

[Android] Xamarin でアプリを作ってみました

How to create Android apps with the use of Xamarin

Xamarinは「C# で iOS、Android、Mac、Windows アプリを開発」できる統合開発環境です。
日本ではエクセルソフトが販売・サポートをしています。
http://www.xlsoft.com/jp/products/xamarin/

2016年3月、企業のXamarinはマイクロソフトに買収されました。
開発ツールのXamarinはエディションによりますがVisual Studioに組み込まれたり無償化されます。
従来よりライセンスを入手する機会が広がりました。
2016年4月2日追記

Xamarinはこのブログを書いている時点では次のエディションに分かれています。
  • Xamarin Starter
    Visual Studio 2015にも付属する無料版。かなり制限あり
  • Xamarin Indie
    月額サブスクリプション制、少し制限あり
  • Xamarin Business
    年間サブスクリプション制、一番人気といわれる実用レベルのエディション
  • Xamarin Business
    年間サブスクリプション制、制限無しの全部入り

2015年12月、Xamarinがゲームアプリ開発者向けに1年分の無料サブスクリプションを配布しました。
Indie Game Developers Get Xamarin for Free
https://blog.xamarin.com/indie-game-developers-get-xamarin-for-free/

申し込んでみたら5日後に返信が来たので早速使ってみました。
今回の無料サブスクリプションは2015年12月31日までの期間限定でしたが、過去にも似たようなキャンペーンがあったので興味があればチェックしておくといいと思います。


環境

  • Windows8.1 Home Edition
  • Visual Studio Community 2015
  • Android SDK Windows


Visual Studio と Android SDKをインストールする

XamarinはExpress版のVisual Studioでは使えません。Community以上のエディションが必要です。
Visual Studio Community 2015 のインストール方法はこちら

Visual Studio Community/Professional/Enterprise のいずれも使えない場合は Xamarin.Studio で開発できます。

Android SDK はAndroid公式サイトの下の方の画面からダウンロードできます。

Android SDK をインストールして実行すると必要なファイルをダウンロードしてくれます。


Xamarinをインストールする

公式サイトでアカウント登録してXamarinをダウンロードします。

Androidアプリを作ることを目標とし Xamarin.Android をインストールしました。
Xamarin.Forms を使うには Xamarin.iOS も必要です。


Androidエミュレーターをインストールする

開発環境にAndroidエミュレーターをインストールしておくと開発中のアプリの動作確認に便利です。
Android SDKにエミュレーターが付属するのですが動作が遅く効率が悪いです。

XamarinからVirtualBoxを使ったXamarin Android Playerという高速なAndroidエミュレーターがが公開されているのですが、このブログを書いている時点では Xamarin Android Playerはサブスクリプションを支払っているXamarinユーザーにライセンスを提供しているようです。英訳が間違っていたらすいません。
http://developer.xamarin.com/guides/android/getting_started/installation/android-player/

マイクロソフトからWindows Professionalエディション向けにHyper-Vを使った Visual Studio Emulator for Androidが公開されてます。
HomeエディションのWindowsでは使えません。

どちらの使用条件にも当てはまらない場合は、実機を使うか、Android SDK付属のエミュレーターを使うか、自分でVirtualBoxにx86版Androidをインストールするか、BlueStacks などをインストールすれば動作確認できます。

[Android] Android4.0をVmwareやVirtualBoxで起動する (2012年のブログです)
[Android] 高速Androidエミュレーター・BlueStacks (2013年のブログです)


Visual Studioの設定を忘れるとエラーになる

Visual StudioのAndroid SDKのパスが未設定のままだと次のエラーが出ました。
値をNullにすることはできません
パラメーター名:path1

Visual Studioの
ツール - オプション
からAndroid SDKのパスを設定すればこのエラーは起きません。


Visual Studioを起動してXamarinをアクティベーションする

Visual Studio 2015を起動して
ファイル - 新規作成 - プロジェクト
を開くとVisual C#のカテゴリー内にAndroidがあります。

名前とソリューション名を入力してOKをクリックしたら準備できました。

log inをクリックしてXamarinアカウントのメールアドレスとパスワードを入力したらBusinessエディションとしてアクティベートされました。


動作確認する

新規のプロジェクトを作るとボタンをクリックした回数を表示するアプリのソースが自動でインポートされます。
エミュレーターでも実機でもこのアプリが動作すればインストール成功です。

Visual Studioの実行ボタンでどのエミュレーターを使うか選んで実行できます。

試しにボタンのクリックイベントをデリゲートからラムダ式に書き換えてみましたが、あっさり動作しました。

今までAndroidアプリは動作の遅いEclipseやAndroid Studioを使ってJavaで作ってきたので、Visual Studioで書いたC#のコードが動くのが信じがたい気分です。


アプリを作るには

Xamarinを使ってでできること・できないこと、Javaとの違いなどを把握する必要があります。
日本語で説明されているエクセルソフトの入門ガイドを参考にすると取っつきやすいと思います。
http://www.xlsoft.com/jp/products/xamarin/android_hello_world.html


Xamarin.Formsプロジェクトでエラーがでたら確認するべきこと

サブプロジェクト'XamarinForms.iOS' の作成中にエラーが発生しました

Xamarin.Formsのプロジェクトを作る場合、iOSアプリを作らなくても Xamarin.iOS SDK がインストールされている必要があるようです。
Xamarinのインストーラーで Xamarin.iOS SDK をインストールすればこのエラー解決します。
エラーを無視して進めても Xamarin.iOS SDK がなければビルドできません。

どうしても Xamarin.iOS SDK をインストールしたくない場合は、ソリューションの中の Xamarin.Forms.iOS をプロジェクトをアンロードします。


メリット

Xamarinを使ってみて感じたメリットです。
  • Visual Studio で開発できる (Windowsのみ)
  • xamarin.Formを使えば複数のプラットフォーム向けにアプリをビルドできる


デメリット

デメリットもあります。
  • JavaやVB.NETでプログラミングできない
  • OS毎に開発が必要な部分がある
  • Mac用やiOS用にビルドするにはMacとXcodeなどが必要
  • ゲームエンジンUnityのAndroid向けプロジェクトをインポートできない

Businessエディションを使い続けるには年間サブスクリプションが必要です。


関連ブログ

Android Studioを使ってみました
[Android] Google Play Services APIを使うアプリが動かなくなった
[Unity3D] Unity5のプロジェクトをAndroid Studioにインポートする方法
[Java] Android StudioやEclipseのお節介な警告を消す方法
[Android] アナログ時計アプリをライブ壁紙に改造する
Live2Dを使ってみました

以上、参考になれば幸いです。

0 件のコメント:

コメントを投稿