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
11k
Djangoでのメール送信 - 設定からテストまで/djangocongress-jp-2019-talk
thinkami
1
13k
Django・WSGIミドルウェア入門/django-congress-jp-2018-talk
thinkami
4
5.5k
自分のための機械学習をしてみた話
thinkami
0
660
FluentMigratorでDBマイグレーション
thinkami
0
2.2k
デプロイボタンを使ってみた
thinkami
0
1.1k
Vagrant + Berkshelf でお手軽写経環境構築
thinkami
1
1.4k
Twilio入門
thinkami
0
1.7k
おひとりさま環境でのChef-solo使用例
thinkami
2
1.5k
Other Decks in Programming
See All in Programming
CSC307 Lecture 01
javiergs
PRO
0
680
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2.3k
組織で育むオブザーバビリティ
ryota_hnk
0
140
Oxlintはいいぞ
yug1224
5
1k
ゆくKotlin くるRust
exoego
1
210
Data-Centric Kaggle
isax1015
2
700
CSC307 Lecture 04
javiergs
PRO
0
650
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
5.8k
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.2k
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
190
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
160
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
120
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
420
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
410
Paper Plane (Part 1)
katiecoart
PRO
0
3.5k
Between Models and Reality
mayunak
1
170
Designing for humans not robots
tammielis
254
26k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Getting science done with accelerated Python computing platforms
jacobtomlinson
1
100
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
150
How Software Deployment tools have changed in the past 20 years
geshan
0
31k
Music & Morning Musume
bryan
47
7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
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