Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Google Developer Days Poland - Android Things -...
Search
Rebecca Franks
September 06, 2017
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Google Developer Days Poland - Android Things - The IoT Platform for everyone
Rebecca Franks
September 06, 2017
More Decks by Rebecca Franks
See All by Rebecca Franks
Custom Drawing in Compose - Londroid December 2022
riggaroo
0
300
Android Studio - What's new 2020
riggaroo
0
180
Getting Started with MotionLayout - Async Android 2020
riggaroo
2
2.5k
Mobile Era 2019 - Tips for Building Custom Views on Android with Canvas APIs
riggaroo
2
360
Over ❤️ Kotlin - How we've used Kotlin to build a Mobile Design App
riggaroo
2
7.1k
Tips for Building Custom Views on Android with Canvas APIs
riggaroo
2
810
In a World of Pure Android Animation 🍭🍫
riggaroo
3
780
Building your Personal Brand - IWD Johannesburg 2019
riggaroo
5
380
How to write a great Conference Proposal - Global CFP Day - Johannesburg 2019
riggaroo
4
600
Other Decks in Technology
See All in Technology
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
2.3k
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
130
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
610
データ_AIの事業の勝敗をわけるもの
nek0128
1
470
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
460
品質と信頼性を地続きにする
grimoh
2
900
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
1k
おい、エージェントを使って終わらせろ
nwiizo
2
850
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
260
Oracle Cloud Network Path Analyzerを試してみた/I Tried Out Oracle Cloud Network Path Analyzer
masakiokuda
1
110
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
220
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.6k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Site-Speed That Sticks
csswizardry
13
1.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Scaling GitHub
holman
464
140k
How to Talk to Developers About Accessibility
jct
2
550
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Producing Creativity
orderedlist
PRO
348
41k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
550
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Code Reviewing Like a Champion
maltzj
528
40k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
Thoughts on Productivity
jonyablonski
76
5.4k
Transcript
None
None
extension IoT embedded
powerful intelligent secure
Android SDK Play Services Firebase Android Studio Cloud Platform
No Play Store Deploy OTAs Subset of APIs Custom Hardware
Single Purpose Device
None
None
None
SoM Architecture Google Managed BSP
Android Framework Hardware Libraries Linux Kernel Apps User Drivers
• • • •
None
None
None
None
None
Button GPS PWM Servo RGB LED Strip Temperature Sensor Capacitive
Touch Buttons GPIO PWM I2C SPI UART I2S
None
None
None
None
None
//Automatically added in app level build.gradle compileOnly 'com.google.android.things:androidthings:...'
//Automatically added in AndroidManifest.xml <application ...> <uses-library android:name="com.google.android.things"/> <activity ...>
<!-- Launch activity automatically on boot --> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.IOT_LAUNCHER"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application>
//Automatically added in AndroidManifest.xml <application ...> <uses-library android:name="com.google.android.things"/> <activity ...>
<!-- Launch activity automatically on boot --> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.IOT_LAUNCHER"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application>
//Import required dependencies, buttons etc implementation 'com.google.android.things.contrib:driver-button:0.3'
button = new Button("BCM6", Button.LogicState.PRESSED_WHEN_LOW); button.setOnButtonEventListener(new Button.OnButtonEventListener() { @Override public
void onButtonEvent(final Button button, final boolean pressed) { ledGpio.setValue(pressed); } }); // in onDestroy() button.close();
button = new Button("BCM6", Button.LogicState.PRESSED_WHEN_LOW); button.setOnButtonEventListener(new Button.OnButtonEventListener() { @Override public
void onButtonEvent(final Button button, final boolean pressed) { ledGpio.setValue(pressed); } }); // in onDestroy() button.close();
button = new Button("BCM6", Button.LogicState.PRESSED_WHEN_LOW); button.setOnButtonEventListener(new Button.OnButtonEventListener() { @Override public
void onButtonEvent(final Button button, final boolean pressed) { ledGpio.setValue(pressed); } }); // in onDestroy() button.close();
//Get access to the pin PeripheralManagerService service = new PeripheralManagerService();
ledGpio = service.openGpio("BCM21"); ledGpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW); ledGpio.setValue(true); //Close in onDestroy() ledGpio.close();
//Get access to the pin PeripheralManagerService service = new PeripheralManagerService();
ledGpio = service.openGpio("BCM21"); ledGpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW); ledGpio.setValue(true); //Close in onDestroy() ledGpio.close();
//Get access to the pin PeripheralManagerService service = new PeripheralManagerService();
ledGpio = service.openGpio("BCM21"); ledGpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW); ledGpio.setValue(true); //Close in onDestroy() ledGpio.close();
None
None
@devunwired
@blundell_apps @ataulm
None
DatabaseReference onlineRef = firebaseDatabase.child(".info/connected"); DatabaseReference isPowerOnRef = firebaseDatabase.child("/online"); onlineRef.addValueEventListener(new ValueEventListener()
{ @Override public void onDataChange(final DataSnapshot dataSnapshot) { if (dataSnapshot.getValue(Boolean.class)) { isPowerOnRef.setValue(true); isPowerOnRef.onDisconnect().setValue(false); } } });
DatabaseReference onlineRef = firebaseDatabase.child(".info/connected"); DatabaseReference isPowerOnRef = firebaseDatabase.child("/online"); onlineRef.addValueEventListener(new ValueEventListener()
{ @Override public void onDataChange(final DataSnapshot dataSnapshot) { if (dataSnapshot.getValue(Boolean.class)) { isPowerOnRef.setValue(true); isPowerOnRef.onDisconnect().setValue(false); } } });
@alvaroviebrantz
None
None
Hands-on with Android Things and Creating Your Own IoT Devices
Renato Mangini, Jonathan Koren
None
goo.gl/1gQ9Uo Give Feedback On This Session