Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Xamarinで作るAndroid Wearアプリ
Search
thinkAmi
March 14, 2015
Programming
1
2.7k
Xamarinで作るAndroid Wearアプリ
thinkAmi
March 14, 2015
Tweet
Share
More Decks by thinkAmi
See All by thinkAmi
知ろう!使おう!HDF5ファイル!/pycon-jp-2019-talk
thinkami
4
10k
Djangoでのメール送信 - 設定からテストまで/djangocongress-jp-2019-talk
thinkami
1
12k
Django・WSGIミドルウェア入門/django-congress-jp-2018-talk
thinkami
4
5.1k
自分のための機械学習をしてみた話
thinkami
0
610
FluentMigratorでDBマイグレーション
thinkami
0
2.1k
デプロイボタンを使ってみた
thinkami
0
990
Vagrant + Berkshelf でお手軽写経環境構築
thinkami
1
1.3k
Twilio入門
thinkami
0
1.6k
おひとりさま環境でのChef-solo使用例
thinkami
2
1.4k
Other Decks in Programming
See All in Programming
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
9
1.5k
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.9k
CloudNativePGを布教したい
nnaka2992
0
120
ABEMA iOS 大規模プロジェクトにおける段階的な技術刷新 / ABEMA iOS Technology Upgrade
akkyie
1
250
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
270
DevNexus - Create AI Infused Java Apps with LangChain4j
kdubois
0
130
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
130
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
410
AIレビュー導入によるCIツールとの共存と最適化
kamo26sima
1
660
sappoRo.R #12 初心者セッション
kosugitti
0
280
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
Featured
See All Featured
Navigating Team Friction
lara
183
15k
Making Projects Easy
brettharned
116
6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
115
51k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
For a Future-Friendly Web
brad_frost
176
9.6k
Optimizing for Happiness
mojombo
377
70k
BBQ
matthewcrist
87
9.5k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Into the Great Unknown - MozCon
thekraken
35
1.6k
Transcript
Xamarinで作る Android Wearアプリ @thinkAmi GDG信州 AndroidWear Event #3 2015/3/14 (で発表する予定だったもの)
自己紹介 • Android歴 – Java • 経験なし – JRuby (Ruboto)
• 2ヶ月 – C# (Xamarin) • 1ヶ月
Xamarinとは • モバイル向けクロスプラットフォーム 開発環境 – Android, iOS • 開発言語 –
C#, F# • 開発環境(IDE) – Visual Studio (Windows) – Xamarin Studio (Windows, Mac)
Xamarinとは • エディション – 無償: Starter • アプリサイズが128KBなど、制限あり – 有償:
Indie, Business, Enterprise • 個人で使うには結構お高い... » https://store.xamarin.com/
Xamarinとは • Microsoftとパートナーシップ – 2014/11/12付 • http://blog.xamarin.com/microsoft-and- xamarin-expand-global-partnership/ • Xamarinを使ったアプリ
– NHK紅白とか
XamarinでAndroid Wear • 2014/11/12に正式対応 • 注意 – Xamarin Starterではビルドできない •
無償では利用できない – 今回は30日評価版を使用 • ビルドしたアプリは、24時間だけ動作可能
XamarinでAndroid Wear • 作り方 – 正しいのかわからないけれど、とりあえず 作ってみたのがこちら • http://thinkami.hatenablog.com/entry/2015 /03/06/060342
XamarinでAndroid Wear • 自分が欲しいアプリを作ってみた – ある月に食べたリンゴのうち、 1番食べてたリンゴをAndroid Wearに表示 • UIはあまり気にしない感じで...
– 用語について – Android Wear → Wear と表記 » スマートウォッチとか – Android Handheld → Handheld と表記 » スマホとかタブレットとか
自作アプリの流れ① • WearからHandheldへ対象の月を送信 – 今回はランダムで選んだ月を送信
自作アプリの流れ② • Handheldで外部APIを叩いて リンゴ情報を取得 • HandheldからWearへリンゴ情報を送信
自作アプリの流れ③ • Wearの画面にリンゴ名と色を表示
作ってみた感想 • ラムダ式が使える – イベントの登録とか etc var send = FindViewById<Button>(Resource.Id.send);
send.Click += (sender, e) => { var month = new System.Random().Next(0, 11); SendMessageAsync(month); };
作ってみた感想 • async/awaitが使える – 非同期処理の記述が楽 public async void SendMessageAsync(int month)
{ // Handheldと通信するためのNodeIDは // WearのUIスレッドでは取得できない var nodeIds = await Task.Run(() => NodeIds); }
作ってみた感想 • 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"}]
作ってみた感想 • LINQが使える – コレクションの扱いが楽 • こんな感じのJSONから、quantities[0]が最大値 となるオブジェクトを持ってくる var topRingo
= results .OrderByDescending(r => r.quantities[0]) .First();
作ってみた感想 • .NET/Monoのクラスを使える – 自分が慣れていることもあり // 文字列をバイト配列化 var bytes =
System.Text.Encoding.UTF8.GetBytes(str) // 色名からRGB値を持つColor構造体へと変換 var color = System.Drawing.Color.FromName(name);
作ってみた感想 • NuGetでライブラリを導入できる – NuGet: .NETのパッケージ管理システム – 今回はAPIを叩くときにRestSharpを使用 • 実際は、NuGetのモノではエラーが出たので
Xamarin Componentsのものを使用...
作ってみた感想 • API 100%移植とのことなので、 悩んだらAndroid公式資料を見れば良い – ツライ
まとめ • Xamarinでも Android Wearアプリは作成可能 • Xamarin Starterでも開発できると...
参考 • Xamarin公式 Android Wearサンプル – http://developer.xamarin.com/samples/a ndroid/Android%20Wear/ • 自作アプリのソースコード
– https://github.com/thinkAmi- sandbox/XamarinRestsharp-sample