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
5
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.3k
デプロイボタンを使ってみた
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 14
javiergs
PRO
0
450
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.5k
AHC061解説
shun_pi
0
320
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
150
15年目のiOSアプリを1から作り直す技術
teakun
1
600
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
250
文字コードの話
qnighy
43
17k
Event Storming
hschwentner
3
1.3k
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
1
130
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
160
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
310
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
240
Featured
See All Featured
We Are The Robots
honzajavorek
0
190
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
200
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
エンジニアに許された特別な時間の終わり
watany
106
240k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
The Limits of Empathy - UXLibs8
cassininazir
1
240
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
110
Building AI with AI
inesmontani
PRO
1
760
Practical Orchestrator
shlominoach
191
11k
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