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.6k
Xamarinで作るAndroid Wearアプリ
thinkAmi
March 14, 2015
Tweet
Share
More Decks by thinkAmi
See All by thinkAmi
知ろう!使おう!HDF5ファイル!/pycon-jp-2019-talk
thinkami
4
9.6k
Djangoでのメール送信 - 設定からテストまで/djangocongress-jp-2019-talk
thinkami
1
12k
Django・WSGIミドルウェア入門/django-congress-jp-2018-talk
thinkami
4
5k
自分のための機械学習をしてみた話
thinkami
0
600
FluentMigratorでDBマイグレーション
thinkami
0
2.1k
デプロイボタンを使ってみた
thinkami
0
950
Vagrant + Berkshelf でお手軽写経環境構築
thinkami
1
1.3k
Twilio入門
thinkami
0
1.5k
おひとりさま環境でのChef-solo使用例
thinkami
2
1.4k
Other Decks in Programming
See All in Programming
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.9k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
受け取る人から提供する人になるということ
little_rubyist
0
230
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
Click-free releases & the making of a CLI app
oheyadam
2
110
Outline View in SwiftUI
1024jp
1
330
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
距離関数を極める! / SESSIONS 2024
gam0022
0
280
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
243
12k
It's Worth the Effort
3n
183
27k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Happy Clients
brianwarren
98
6.7k
Teambox: Starting and Learning
jrom
133
8.8k
How to Ace a Technical Interview
jacobian
276
23k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
BBQ
matthewcrist
85
9.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
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