Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Xamarinで作るAndroid Wearアプリ

D484f3a4d5f516f943b29b9ff55a2040?s=47 thinkAmi
March 14, 2015

Xamarinで作るAndroid Wearアプリ

D484f3a4d5f516f943b29b9ff55a2040?s=128

thinkAmi

March 14, 2015
Tweet

Transcript

  1. Xamarinで作る Android Wearアプリ @thinkAmi GDG信州 AndroidWear Event #3 2015/3/14 (で発表する予定だったもの)

  2. 自己紹介 • Android歴 – Java • 経験なし – JRuby (Ruboto)

    • 2ヶ月 – C# (Xamarin) • 1ヶ月
  3. Xamarinとは • モバイル向けクロスプラットフォーム 開発環境 – Android, iOS • 開発言語 –

    C#, F# • 開発環境(IDE) – Visual Studio (Windows) – Xamarin Studio (Windows, Mac)
  4. Xamarinとは • エディション – 無償: Starter • アプリサイズが128KBなど、制限あり – 有償:

    Indie, Business, Enterprise • 個人で使うには結構お高い... » https://store.xamarin.com/
  5. Xamarinとは • Microsoftとパートナーシップ – 2014/11/12付 • http://blog.xamarin.com/microsoft-and- xamarin-expand-global-partnership/ • Xamarinを使ったアプリ

    – NHK紅白とか
  6. XamarinでAndroid Wear • 2014/11/12に正式対応 • 注意 – Xamarin Starterではビルドできない •

    無償では利用できない – 今回は30日評価版を使用 • ビルドしたアプリは、24時間だけ動作可能
  7. XamarinでAndroid Wear • 作り方 – 正しいのかわからないけれど、とりあえず 作ってみたのがこちら • http://thinkami.hatenablog.com/entry/2015 /03/06/060342

  8. XamarinでAndroid Wear • 自分が欲しいアプリを作ってみた – ある月に食べたリンゴのうち、 1番食べてたリンゴをAndroid Wearに表示 • UIはあまり気にしない感じで...

    – 用語について – Android Wear → Wear と表記 » スマートウォッチとか – Android Handheld → Handheld と表記 » スマホとかタブレットとか
  9. 自作アプリの流れ① • WearからHandheldへ対象の月を送信 – 今回はランダムで選んだ月を送信

  10. 自作アプリの流れ② • Handheldで外部APIを叩いて リンゴ情報を取得 • HandheldからWearへリンゴ情報を送信

  11. 自作アプリの流れ③ • Wearの画面にリンゴ名と色を表示

  12. 作ってみた感想 • ラムダ式が使える – イベントの登録とか etc var send = FindViewById<Button>(Resource.Id.send);

    send.Click += (sender, e) => { var month = new System.Random().Next(0, 11); SendMessageAsync(month); };
  13. 作ってみた感想 • async/awaitが使える – 非同期処理の記述が楽 public async void SendMessageAsync(int month)

    { // Handheldと通信するためのNodeIDは // WearのUIスレッドでは取得できない var nodeIds = await Task.Run(() => NodeIds); }
  14. 作ってみた感想 • LINQが使える – コレクションの扱いが楽 • こんな感じのJSONから、quantities[0]が最大値 となるオブジェクトを持ってくる [{"name":"トキ","quantities": [0,0,0,0,0,0,0,0,4,7,0,0],"color":"Yellow"},

    {"name":"フジ","quantities": [18,7,9,0,0,0,0,0,0,0,2,5],"color":"Red"}, {"name":"あかぎ","quantities": [0,0,0,0,0,0,0,0,2,0,0,0],"color":"AntiqueWhite"}]
  15. 作ってみた感想 • LINQが使える – コレクションの扱いが楽 • こんな感じのJSONから、quantities[0]が最大値 となるオブジェクトを持ってくる var topRingo

    = results .OrderByDescending(r => r.quantities[0]) .First();
  16. 作ってみた感想 • .NET/Monoのクラスを使える – 自分が慣れていることもあり // 文字列をバイト配列化 var bytes =

    System.Text.Encoding.UTF8.GetBytes(str) // 色名からRGB値を持つColor構造体へと変換 var color = System.Drawing.Color.FromName(name);
  17. 作ってみた感想 • NuGetでライブラリを導入できる – NuGet: .NETのパッケージ管理システム – 今回はAPIを叩くときにRestSharpを使用 • 実際は、NuGetのモノではエラーが出たので

    Xamarin Componentsのものを使用...
  18. 作ってみた感想 • API 100%移植とのことなので、 悩んだらAndroid公式資料を見れば良い – ツライ

  19. まとめ • Xamarinでも Android Wearアプリは作成可能 • Xamarin Starterでも開発できると...

  20. 参考 • Xamarin公式 Android Wearサンプル – http://developer.xamarin.com/samples/a ndroid/Android%20Wear/ • 自作アプリのソースコード

    – https://github.com/thinkAmi- sandbox/XamarinRestsharp-sample