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
Google Glass Development
Search
David Vávra
May 23, 2014
Technology
0
69
Google Glass Development
David Vávra
May 23, 2014
Tweet
Share
More Decks by David Vávra
See All by David Vávra
Doze Mode & App Standby in Android M
davidvavra
0
220
Android TV development
davidvavra
0
84
WearSquare: Introduction to Android Wear Design & Development
davidvavra
0
97
Android Wear Development
davidvavra
2
87
Other Decks in Technology
See All in Technology
[I/O Extended Android 2024] What`s new in Android 2024
kyeongwan
0
220
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
DevIO2024_レガシー運用からの脱却 -クラウド活用の実践事例とベストプラクティス-
jun2882
0
210
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
710
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
Docker互換のセキュアなコンテナ実行環境「Podman」超入門
devops_vtj
6
3.2k
開発生産性をむしろ向上させる セキュリティパートナーの作り方 / Dev Productivity Con 2024
flatt_security
0
380
Scaling Technical Excellence at 104: Evolution in AWS and Developer Empowerment
scotthsieh825
1
150
Azure Pipelinesを使用したCICDベースラインアーキテクチャ実践
yuriemori
0
190
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
Docker and Python
trallard
37
2.9k
Large-scale JavaScript Application Architecture
addyosmani
506
110k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
Practical Orchestrator
shlominoach
185
10k
In The Pink: A Labor of Love
frogandcode
139
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Become a Pro
speakerdeck
PRO
15
4.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
The Invisible Side of Design
smashingmag
294
50k
Debugging Ruby Performance
tmm1
71
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Transcript
David Vávra, Inmite Development for using Android GDK
None
None
None
None
None
None
None
None
None
None
None
None
Hardware
Demo time
4 principles of Glassware design
Design for Glass
Don’t get in the way
Keep it relevant
Avoid the unexpected
User interface: Timeline card • 640x360 px • black background,
given font sizes & colors • bundles
User interface - timeline
Immersions
Menus
None
GDK • Full API level 19 • no touch •
resolution 640x360 • no emulator • same API for Speech, Camera, Navigation, Browser, Location, Sensors
None
<style name="CustomTheme" parent= "@android:style/Theme.DeviceDefault" /> android { compileSdkVersion "Google Inc.:Glass
Development Kit Preview:19" …}
Card card1 = new Card(context); card1.setText("This card has a footer.");
card1.setFootnote("I'm the footer!"); View card1View = card1.getView();
res/xml/my_voice_trigger.xml <?xml version="1.0" encoding="utf-8"?> <trigger keyword="start my app" /> <uses-permission
android:name="com.google.android.glass.permission. DEVELOPMENT"/> <activity | service ...> <intent-filter> <action android:name="com.google.android.glass.action. VOICE_TRIGGER"/> </intent-filter> <meta-data android:name="com.google.android.glass.VoiceTrigger" android:resource="@xml/my_voice_trigger" /> </activity | service> AndroidManifest.xml
None
Menu The same onCreateOptionsMenu from Android SDK public class MainActivity
extends Activity { // ... @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { openOptionsMenu(); return true; } return super.onKeyDown(keyCode, event); } }
Live card
Creating live cards TimelineManager tm = TimelineManager.from(context); mLiveCard = tm.createLiveCard(LIVE_CARD_TAG);
mLiveCard.setViews(new RemoteViews(context.getPackageName(), R.layout.card_text)); mLiveCard.publish(LiveCard.PublishMode.REVEAL); // or SILENT
Updating live cards mRemoteViews.setTextViewText(R.id.text, "new message"); mLiveCard.setViews(mRemoteViews); Removing live cards
mLiveCard.unpublish();
Let’s dive into Glasquare code http://github.com/destil/glasquare
Distribution • adb install • MyGlass ◦ checklist: https://developers.google.com/glass/distribute/checklist ◦
design ◦ voice commands ◦ assets
None
Documentation • https://developers.google.com/glass • https://github.com/googleglass • http://stackoverflow. com/questions/tagged/google-gdk • https://code.google.com/p/google-glass-
api/issues/list
Q + A Follow me: http://google.com/+DavidVávra http://twitter.com/destil