Xamarin 日本語情報

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

Microsoft MVP 再受賞しました(2018-2019)

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

無事 Microsoft MVP Visual Studio and Development Technologies を再受賞できたようです。

今年はあまり Xamarin のブログを書けていないので、Xamarin ネイティブ方面の記事を書いていきたいなと考えています。

また、JXUG の活動についても、次の jazug との合同勉強会(満員御礼を頂いております。ありがとうございます。)

jazug.connpass.com

をはじめとして、Prism ハンズオン、作ってみたアプリ発表会 2018年度版、レバレジーズさん共催の初心者向けハンズオンを予定しています。

また、JXUG の勉強会は私主催だけでなく、東京では @hiro128_777 ともひろさん@mishi_cs 石崎さん、名古屋では @Fumiya_Kume くぅくん、福岡では @tafuji1223 藤本さん が主催の JXUG を定期的に開催してくださっています。Connpass ページ の「メンバーになる」ボタンで JXUG にご参加いただくと、申し込みページがオープンしたらメールが飛んでいきますので便利です。お気軽にメンバーになってくださいね。

近々では

2018/07/28(土)13時~

jxug.connpass.com

2018/08/04(土) 13時~

jxug.connpass.com

が開催されます。まったくの初心者向けという会ではありませんが、感触をつかんでいただくには良い機会かと思います。

Xamarin がもっと広まることを願って引き続き楽しんでいきます。

以上です。

田淵

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 用の Xamarin.Forms プロジェクトテンプレートを作りました

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

2018/7/3 追記:Xamarin.Forms テンプレートの PCL 版と、.NET Standard 版も用意しました。標準のテンプレートの不具合である「UWP プロジェクトで署名ファイルが作成されない」などは発生しません。

.NET Standard 版:

github.com

PCL 版:

github.com

f:id:ytabuchi:20180703105124p:plain:w600

このエントリーは 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 開発で Emulator を使用する場合は、Google Android Emulator を Intel HAXM で使用するのが業界標準となっています。

Emulator の管理は Android SDK に付属していた Android Device Manager を利用していました。が、Android SDK 26 からは Emulator の管理に Android Studio に付属のツールを使う事が推奨され、Android SDK から Android Device Manager が無くなってしまいました。

Xamarin ユーザーさんの中には、Android Studio をインストールしていない方もいらっしゃるため、このままでは Android SDK のバージョンを上げないか、Android Studio を追加でインストールするしか方法が無くなってしまうところでした。

そのため、Xamarin が独自に Android Device Manager を用意しました。それが、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 リンクページ | ブログ購読