Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

目次

はじめに

Xamarin (ザマリンと読みます) とは、Gnome, Mono の開発者である Migel de Icaza (ミゲル・デ・イカザ) 氏が立ち上げた企業名であり、C#Android, iOS, Mac のネイティブアプリを作成できる開発ツール郡 (Xamarin.Android*1、Xamarin.iOS*2、Xamarin.Mac*3、Xamarin Studio*4 など) のブランド名です。

2016/4/1 をもって、Visual Studio に付いてくるようになりました。

本ブログは、エクセルソフトの田淵義人が Xamarin に関する様々な情報を記載しています。Xamarin って何だろ?という方、Xamarin についてもっと知りたい。というような開発者の皆様の手助けになれば幸いです。

 

Visual Studio 2017 で Xamarin を使うエントリー書きました。

ytabuchi.hatenablog.com

 

Xamarin とは?

紹介スライド、エントリーなどをご覧ください。

 

qiita.com

書籍

 

コミュニティ

公式コミュニティサイト Japan Xamarin User Group (JXUG) 

facebook User Group

 

各種情報へのリンク

本ブログの主なエントリー

全般
Xamarin.Forms
Xamarin.iOS、Xamarin.Android 記事
Xamarin.Forms TIPS/逆引き
Xamarin.Forms Plugins/ライブラリ
Xamarin.Forms MVVM
Xamarin Test Cloud/Unit Test
BAD KNOW HOW

全記事一覧 - Xamarin 日本語情報

Xamarin.Forms エントリー纏め

 

事例

事例

 

エクセルソフト Xamarin ページ

Qiita

ブログ、連載記事など

 Xamarin 本家の開発者向けの情報(英語)

Xamarin 学習用リソースまとめ でも公式情報を纏めていますので、ご参照ください。

 

Xamarin 気になった方は

是非 ダウンロード(直接) / ダウンロード(弊社経由) して触ってみてください。
学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の情報が欲しい方はこのブログも購読いただいたりすると嬉しいです。

以上です。

*1:旧 MonoDroid, Mono for Android

*2:旧 MonoTouch

*3:OSS版はMonoMac

*4:OSS 版は MonoDevelop

IBM Think Japan 2018 で登壇してきました

こんにちは。エクセルソフトの田淵です。

表題の通りなのですが、IBM のイベント Think Japan 2018 の DB-5「IBM Cloud と Xamarin の意外な親和性」というタイトルで、Microsoft Corporation の千代田まどか氏(ちょまどさん)と一緒に登壇してきました。

今回のような大きなイベントに呼んでもらえてうれしいです。(日本で最初に Xamarin を紹介した元 MS のエバンジェリストだった 大西章 さんにお声がけいただき、ぜひ!と二つ返事で快諾した次第です。)

ということで、今回は Xamarin についてではなく、IBM Cloud についてエントリーを残しておきます。

本エントリーは 2018/6/10 の時点の情報に則っています。特に IBM Cloud の各サービスの UI などは変わっていきますので、適宜読み替えてください。

用意するモノ

IBM Cloud ライト・アカウント

大体のことがライトアカウントで出来てしまいます。クレジットカード登録も不要です。素晴らしい!

制限事項として以下がありますので、その点だけご注意ください。ガッと集中してやる分にはまったく問題ないはずです。

  • 10日間 開発なしでアプリを自動停止
  • 30日間 活動なしでサービスの自動削除
  • 「組織の作成」画面では、地域に「米国南部」を選択を行う必要があります。
  • 過去にIBM Cloud 30日フリートライアルに登録したメールアドレスは、ライト・アカウントへの登録は行えません。別のメールアドレスにてご登録ください。

作った/使ったモノ

  • Xamarin.Forms でのチャットアプリ
  • Watson Assistant の会話 Bot
  • Personality Insights の性格分析
    • Personality Insights で自身の Twitter アカウントの文言を拾い、性格分析ができます。面白いので興味があれば是非試してみてください。
  • Node-RED

github.com

Github の README に詳しい手順と Assistant の JSON、Node-RED の JSON をアップしています。

ちょまどさんからも Logic Apps と LUIS の JSON を頂いているので、後日追記します。

Xamarin.Forms のプロジェクトについては、後日エントリーを書きたいと思います。

謝辞

IBM Cloud について色々ネタを考え試行錯誤する際に、#JXUG によく遊びに来てくれる @Santea3173 くんに色々教えてもらいました。彼の助けがなかったらデモが間に合わなかったと思います。ありがとう!!!

Xamarin 気になった方は

Visual Studio 2017 をインストールして触ってみてください。手順書は こちらのエントリー をご覧ください。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

Xamarin 有償トレーニング : XLsoft エクセルソフト

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。

Visual Studio 2017 用の PCL を使った Xamarin.Forms プロジェクトテンプレートを作りました

こんにちは。エクセルソフトの田淵です。

このエントリーは 2018/5/30 時点の Visual Studio 2017 15.7.1 の情報です。テンプレートは Xamarin.Forms のアップデートと共に変化しますのでご注意ください。

Visual Studio 2017 15.7 か 15.6 から「Visual C# > Cross-Platform」で作成できるプロジェクトが Xamarin.Forms だけになり、「コード共有方法」が「共有プロジェクト(Shared Project)」と「.NET Standard」だけになりました。

f:id:ytabuchi:20180530154404p:plain:w600

新規プロジェクト作成画面で「Visual C# > Cross-Platform >モバイルアプリ (Xamarin.Forms)」を選択すると、

f:id:ytabuchi:20180530154505p:plain:w600

この画面になり、PCL(Portable Class Library)の選択肢はなくなってしまいました。

作りました

なので、PCL でコア部分のプロジェクトを作る Xamarin.Forms のテンプレートを用意しました。

github.com

%USERPROFILE%\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C# にユーザーテンプレートを保存するフォルダがありますので、Git Bush などで

cd "%USERPROFILE%\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#"
git clone https://github.com/ytabuchi/XamarinFormsPCLTemplate.git

するなどしてクローンしてもらえれば、アップデートがあった時に Git pull するだけで最新にできます。

是非使ってみてください。

Xamarin ネイティブプロジェクトを PCL と .NET Standard で作るテンプレートも作ったのですが、それは別途エントリ書きますね。

ところで

ちょっとした自慢ですが、UWP のテンプレートファイル<TemplateContent> 内に署名ファイル $ext_safeprojectname$_TemporaryKey.pfx をテンプレートからコピーして作成するのですが、その際に

<WizardExtension>
  <Assembly>Microsoft.VisualStudio.WinRT.TemplateWizards, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
  <FullClassName>Microsoft.VisualStudio.WinRT.TemplateWizards.CreateProjectCertificate.Wizard</FullClassName>
</WizardExtension>

を追加することで皆さんのローカルの情報から署名ファイルを自動生成してくれます。(現在の Xamarin.Forms のテンプレートは署名ファイルが追加されないので、「証明書ファイル 'App1.UWP_TemporaryKey.pfx' が見つかりません。」というワーニングが出ちゃいます。)

プルリクしてみたいけど、どこにあるのか分からないですねw

Xamarin 気になった方は

Visual Studio 2017 をインストールして触ってみてください。手順書は こちらのエントリー をご覧ください。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

Xamarin 有償トレーニング : XLsoft エクセルソフト

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。

Xamarin Android Device Manager でエミュレーターを管理するには

こんにちは。エクセルソフトの田淵です。

Android 開発では、Google Android Emulator を Intel HAXM で使用するのが業界標準となっていましたが、少し前(正確には Android SDK 26)から Xamarin 製の Android Device Manager が使えるようになり、Android Emulator の管理が楽に出来るようになっています。

また、今まで Intel HAXM を使えない環境(AMD の人とか、Docker for Windows を使っている人とか)でも、Windows 10 April 2018 Update からは、Google Android Emulator が Hyper-V 上でも動作するようになります(Hyper-V Android emulator support | The Visual Studio Blog)ので、Windows での Android 開発がかなり快適になるのではないでしょうか。

Xamarin における Android Emulator の歴史を少し

初期:ARM Emulator

中期:Intel HAXM Emulator や Xamarin 製の Emulator、Microsoft 製の Emulator が乱立

現在:

という感じです。

Hyper-V Android Emulator については解説記事が出ていますので、ご覧ください。

Hyper-VでサクサクAndroidエミュレータを使おう - Qiita

Xamarin Android Device Manager とは

Xamarin 製の AVD(Android Virtual Device)管理ツールです。

公式ドキュメントは Managing Android Emulators with the Xamarin Android Device Manager - Xamarin | Microsoft Docs です。

以下のように作成、編集、初期状態への復帰など各種作業が行えます。

f:id:ytabuchi:20180521161443p:plain:w600

f:id:ytabuchi:20180521162751p:plain:w600

経緯として、Android SDK 26 からは、Android Studio を使えということで、単体で動作する GUI 付きの AVD Manager/SDK Manager がなくなってしまったため、作った。ということのようです。

Windows だと Visual Studio 2017 のメニューから「ツール>AndroidAndroidバイスマネージャー/Android SDK Manager」の部分です。

f:id:ytabuchi:20180521160244p:plain:w450

まず、Xamarin チームでは独自に SDK Manager を作成しました。今皆さんが使っている以下の画面のやつです。

f:id:ytabuchi:20180521155652p:plain:w600

余談ですが、Xamarin Android Device Manager が無かったころ(26 がリリースされて半年くらいですかね?)は、AVD Manager も無くなってしまうため、Android Studio をインストールしていない方は AVD を作ったり編集したりする方法が無かったということになります。そのため、上記画像の「Android SDK Tools 26.x」をインストールしようとすると、以下のダイアログを表示して、26 を使わないようにしてもらっていました。

f:id:ytabuchi:20180521161204p:plain:w450

現在は 25.x を使うか、Xamarin Android Device Manager をインストールするダイアログになっています。
f:id:ytabuchi:20180521161047p:plain:w450

次に Xamarin Android Device Manager が出来たという感じです。

Xamarin Android Device Manager の使い方

インストール

システム要件は以下です。

インストール方法なのですが、SDK Manager で「Android SDK Tools」のバージョンを 26.x.x に変更すると、上記ダイアログが出て、「Install AVD Manager」をクリックするとそのままインストーラーをダウンロードしてインストールが開始されます。WindowsMac も同じ動作だったかと思います。

Android SDKVisual Studio と一緒に入れておらず、別で管理している方は、Android SDK のパスを設定するやり方が 公式ドキュメント に書いてあるのでそちらを参考にしてください。(私はこれに気付かず、Visual Studio 側で Android SDK をすべて再インストールしました…)Mac の方は自動的に認識されるので問題ありません。

使い方

「New」ボタンから新規デバイスを作成します。(画面写真はイメージが付きやすいように WindowsMac をランダムにw)

f:id:ytabuchi:20180521163512p:plain:w600

f:id:ytabuchi:20180521163619p:plain:w600

f:id:ytabuchi:20180521163644p:plain:w600

この際に、

  • バイスを選びます。
    • バイスにより、画面サイズと DPI がプリセットされています。
    • Windows の場合は Pixel とかを選んでおけば良いのですが、Mac の場合は、良さげなデバイスが無いので、手動で hw.lcd.height を 1920、hw.lcd.width を 1080、hw.lcd.density を 420 や 480 にしておくと良い感じの画面サイズになります。
  • システムイメージを選びます。
    • Windows の場合は、OS を選んで、下の Google APIsGoogle Play Store にチェックを付けるとそれぞれ Google API 付き(通知を受け取れる)の AVD、Play Store 付き(Google Play が使える) AVD が利用されます。チェックが無いと、Intel x86 イメージが利用されます。
    • Mac の場合は、OS を選んだ後で、設定の tag.id で それぞれ google_apisgoogle_apis_playstoredefault を選択してください。Windows と同じく、Google API 付き/Play Store 付き/Intel x86 のイメージが利用されます。
    • これらのイメージがインストールされていない場合は、自動的にダウンロードされます!素敵!(ハンズオン向け!)
  • 必要に応じて下の Add Properties のドロップダウンから disk.dataPartition.size を追加して、2GB とかにしてください。
    • 標準で 800MB のディスクサイズが確保されるのですが、Xamarin のデバッグをしているとすぐに埋まってしまいます…
  • 必要に応じてスキンを選んでください。
    • WindowsMac ともにダイアログで選択できるスキンは少ない(特に Mac が少ない)ですが、設定項目の skin.nameskin.path を手動で修正するとそのスキンが使用されます。
    • 例えば、WindowsMac 共に Pixel 2 のスキンを使用したい場合は、skin.name を「pixel_2」、skin.path を「<Android SDK インストール PATH>/skins/pixel_2」を指定すれば以下のような Pixel 2 のガワで Emulator を表示できます。

f:id:ytabuchi:20180521170150p:plain:w300

その他カメラ(一部のマシンでは Webcam0 が動きませんが、emulated なら確実に動きます。)や SD カードなどお好きな項目を設定してください。

Xamarin 気になった方は

Visual Studio 2017 をインストールして触ってみてください。手順書は こちらのエントリー をご覧ください。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

Xamarin 有償トレーニング : XLsoft エクセルソフト

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。

足りない Android SDK を自動的にダウンロードする機能が追加されています

こんにちは。エクセルソフトの田淵です。

すっかり更新をサボってしまっていてすみません。Xamarin Android Device Manager とか、テンプレートが .NET Standard になって PCL のテンプレートがなくなったり、Xamarin Native のテンプレートが無い件とか、書きたいことはたくさんあるんですが忙しさにかまけて放置してしまいました。

またアップデート情報などをメインに気を改めてちょいちょい書いていきますので、よろしくお願いいたします。

Android SDK 自動ダウンロード機能

Windows

WindowsVisual Studio 2017 15.7 からだと思うのですが、オプションに

f:id:ytabuchi:20180514105532p:plain:w600

Android SDK の自動インストール」

というチェックボックスが追加されています。

Android プロジェクトのプロパティを見ると、

f:id:ytabuchi:20180514105827p:plain:w600

f:id:ytabuchi:20180514105852p:plain:w600

と「*」が付いているのはまだインストールされていない SDK なので、それを指定してビルドすると、Android SDK を自動でダウンロードしてくれる。というものです。

ビルドしてみると、次のダイアログが出てインストールされて無事ビルドが完了しました!

f:id:ytabuchi:20180514112213p:plain:w450

f:id:ytabuchi:20180514112251p:plain:w600

素晴らしいですね!特にハンズオンなどでは助かる機能だなと思いますので、ハンズオンを実施する際は是非設定していきましょう。

Mac

Mac も同様にインストールできるようです。

Xamarin 気になった方は

Visual Studio 2017 をインストールして触ってみてください。手順書は こちらのエントリー をご覧ください。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

Xamarin 有償トレーニング : XLsoft エクセルソフト

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。

エクセルソフト | ダウンロード | 学習用リソース | JXUG リンクページ | ブログ購読