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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
310
Android Studio - What's new 2020
riggaroo
0
190
Getting Started with MotionLayout - Async Android 2020
riggaroo
2
2.6k
Mobile Era 2019 - Tips for Building Custom Views on Android with Canvas APIs
riggaroo
2
370
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
820
In a World of Pure Android Animation 🍭🍫
riggaroo
3
790
Building your Personal Brand - IWD Johannesburg 2019
riggaroo
5
380
How to write a great Conference Proposal - Global CFP Day - Johannesburg 2019
riggaroo
4
610
Other Decks in Technology
See All in Technology
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
260
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
300
夫婦で子育てするための育児標準化
codmoninc
PRO
0
410
パッチ更新でterraform initが落ちた日
grimoh
1
140
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
110
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
930
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
240
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
280
Metadata - Section 1: HTML Basics
mohab1
0
120
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
130
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Documentation Writing (for coders)
carmenintech
77
5.6k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Odyssey Design
rkendrick25
PRO
2
870
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
Six Lessons from altMBA
skipperchong
29
4.5k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
How to make the Groovebox
asonas
2
2.5k
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