「 Xamarin × Azure 」で
スマホアプリを作ってみた
青柳 英明
熊本クラウド語ろう会
2016/7/23 勉強会 LT
自己紹介青柳 英明
・ 福岡生まれの福岡育ち
・ 福岡で インフラ SE やってます
・ 熊本との関わり:くまモン LOVE !!以上
Visual Studio + .NET + C# 環境で
Android / iOS / Windows Mobile のアプリを
共通のコードで開発できる!
※ 一部、各プラットフォーム固有のコード記述は必要です
ってご存知ですか?
Visual Studio に Xamarin を標準添付!
ってご存知ですか?2016 年、マイクロソフトが Xamarin 社を買収!
無償の 「 Visual Studio Community 」 でも利用可能!
※ Visual Studio Community の無償利用には一定の条件があります
( 従来は数十万円のラインセンスが必要だった・・・ )
「 Fukuoka.NET 勉強会」 で 「もくもく会※」 に参加
Xamarin でスマホアプリを作ってみる!
さて、どんなのを作ろうかな・・・?
・ やっぱり 「くまモン」 は外せない!
・ 流行の 「 VR 」 とか 「 AR 」 も取り入れたい・・・
※ 発表形式ではなく、みんなで 「もくもく」 と勉強する会
完成!
GOKumamon
ウソです・・・ごめんなさい、
当然
本当は、こんなのを作りました
Azure Storage サービス
スマートフォン
Xamarin アプリ
アップロード
ダウンロード( 今回は Android のみ )
( 会場では、実機のデモを御覧頂きました。 スライドでは静止画でイメージをお伝えします。 )
「 Local Storage 」 を
タッチ
Azure へアップロードしたい画像をタッチ
スマホに保存されている
画像がリスト表示されます
これで、 Azure Storage へ
画像がアップロードされます
( 進行状況表示などは無し! )
一旦トップ画面に戻って、今度は「 Cloud Storage 」 をタッチします
Azure に保存されている
画像がリスト表示されます
Azure 側の画像アイコン表示は
実装が間に合いませんでした・・・
さきほどアップロードした
「 DSC_0212.JPG 」が
一覧に表示されています
今度は、 Azure からスマホへ
ダウンロードしたい画像をタッチ
Azure Storage からスマホへ
画像がダウンロードされます
トップ画面に戻って、「 Local Storage 」 を
タッチ
ダウンロードした「 kumamon1.jpg 」
が一覧に表示されてい
ます
Azure ポータル上で見ると、こんな感じ
①
① … スマホからアップロードしたファイル
② … 元から Azure 上に置いてあるファイル
②
Azure 的ポイント
① アプリから Azure Storage へアクセスする方式
→ 大きく 3 通り の方式 … 今回は 「 SAS 」 を使用しました
② ファイル転送等の処理は 「非同期 (Async) 」 が基本
→ 今回は、ちゃんとした非同期処理は実装できていません (;_;)
理想は … 「 Azure Mobile Apps 」 を使ったユーザー認証
( 進行状況の表示とか、処理のキャンセルとか… )
つまづきポイント ( 多すぎて書ききれん… )・ SAS の設定方法
・ Visual Studio の参照設定
Azure ポータル (GUI) から設定…するとハマりますPowerShell から設定しましょう ( コンテナ単位の設定が必要なため )
Azure SDK の登録は 「 NuGet 」 を使う…のですが、うまくいかない…→ 実は、プレリリース版のバージョン (7.1.3-preview) を指定しないとダメだという!
・ 「 Xamarin.Forms 」 を使うと、さらにコードの共通化が図れる!はずですが…ビルド実行するとエラーが大量に!! ( 現時点で全く解決してません… )
・ 画像データの取り扱いが難しい…MemoryStream ? Drawing ? C# 初心者にはハードルが高いですっ!
参考にさせて頂いた資料http://www.slideshare.net/ytabuchi/xamarin-20167
・ Xamarin 基礎講座 / ハンズオン資料 (Xamarin エバンジェリスト 田淵義人さん )
・ Microsoft Azure ドキュメントセンター ( サンプルソースあり )https://azure.microsoft.com/ja-jp/documentation/https://azure.microsoft.com/ja-jp/documentation/articles/storage-dotnet-how-to-use-blobs/https://azure.microsoft.com/ja-jp/documentation/articles/storage-xamarin-blob-storage/
・ MSDN - Azure 関連ドキュメントhttps://msdn.microsoft.com/ja-jp/library/dn578280.aspxhttps://msdn.microsoft.com/ja-jp/library/mt347887.aspx
https://github.com/fukuten/getting-started-xamarin・ Fukuoka.NET もくもく会 資料集 (Fukuoka.NET 松村優大さん )