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
Play with Android Things
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
shanonim
February 18, 2019
Technology
6.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Play with Android Things
2019.02.18
Cookpad.apk #2
https://cookpad.connpass.com/event/117054/
shanonim
February 18, 2019
More Decks by shanonim
See All by shanonim
実践 Glass EE2 向けアプリ開発 / Practical Glass EE2 app development
shanonim
0
330
What's "Material You"
shanonim
0
430
新規事業のIoTプロダクトをプロトタイピングする技術 / IoT product prototyping in cookpad mart
shanonim
0
280
IoTで美味しい漬け物を作りたい v2 / make good pickles with IoT v2
shanonim
1
520
アルコールモニタリングIoT / Alcohol monitoring IoT
shanonim
0
700
Android Things Now
shanonim
1
670
Kotlin初心者向けハンズオン #3 / Kotlin Hands-on for Beginners
shanonim
2
380
UI模写のすゝめ / Encouragement of UI drawing
shanonim
3
2.5k
食卓を支える技術 ~Oisixのアプリ開発~ / App Development in Oisix
shanonim
0
1.5k
Other Decks in Technology
See All in Technology
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
350
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
180
Retriever と Reranker、結局どうする?
kazuaki
3
680
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.5k
TypeScript入門 2026
recruitengineers
PRO
2
430
サイバー捜査員研修(前半)
nomizone
1
1.8k
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.6k
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
520
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
140
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
110
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
3
990
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
1.9k
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
620
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
Building AI with AI
inesmontani
PRO
1
1.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Spectacular Lies of Maps
axbom
PRO
1
890
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
480
Google's AI Overviews - The New Search
badams
0
1.1k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Transcript
"OESPJE5IJOHT0WFSWJFX $PPLQBEBQL !TIBOPOJN
ΫοΫύουגࣜձࣾങࣄۀ෦ ࣰݪ߂ޫ !TIBOPOJN "OESPJEJ04*P51SPUPUZQJOH
None
ϚΠίϯ .4UBDL Ͱ*P5ϓϩτλΠϐϯάΛͨ͠Γ͍ͯ͠·͢
w ʹ(PPHMF͕ϦϦʔεͨ͠*P5ػث͚ͷϓϥοτϑΥʔϜ w 3BTQCFSSZ1JͷϛχίϯϐϡʔλͰ"OESPJE͕ಈ͘ w ௨ৗͷ"OESPJEΞϓϦͱ΄΅มΘΒͳ͍։ൃମݧ w ΈࠐΈͷΞϓϦέʔγϣϯΛର w ֤छηϯαʔΛࣗ༝ʹ͑Δ
w Ϟμϯͳٕज़Λαϙʔτ w FHσʔλੳʹ'JSFCBTF($1Λ͏
w ϦϦʔε w ݄WFSTJPOϦϦʔε w ݄$MPVE*P5$PSFϥΠϒϥϦϦϦʔε
None
(JWFOUIFTVDDFTTFTXFIBWFTFFOXJUIPVS QBSUOFSTJOTNBSUTQFBLFSTBOETNBSUEJTQMBZT XFBSFSFGPDVTJOH"OESPJE5IJOHTBTB QMBUGPSNGPS0&.QBSUOFSTUPCVJMEEFWJDFTJO UIPTFDBUFHPSJFTNPWJOHGPSXBSE
None
None
None
None
EFWFMPQFSTDBODSFBUFOFXCVJMET BOEQVTIBQQVQEBUFTGPSVQUP EFWJDFTGPSOPODPNNFSDJBMVTF
1SPEVDUJPOಋೖͷເ͕ઈͨΕͨࠓɺ "OESPJE5IJOHTͷ͍Έͪ ύʔιφϧϢʔε͔͠ͳ͍
ઌि·Ͱͷ"OESPJE5IJOHT
ϋʔυΣΞ 1SPEVDUJPOQMBUGPSNT %FWFMPQNFOUQMBUGPSNT
1SPEVDUJPOQMBUGPSNT %FWFMPQNFOUQMBUGPSNT ϓϩτλΠϐϯά։ൃ ݕূ 1SPEVDUJPO4P.TBSFDFSUJpFE CZ(PPHMFUPNFFUUIFTFDVSJUZSFRVJSFNFOUT %FQMPZ 05"0WFS5IF"JS
ϋʔυΣΞ (2019.2.12 ~) 1SPEVDUJPOQMBUGPSNT %FWFMPQNFOUQMBUGPSNT XJMMOPUCFNBEFBWBJMBCMFUISPVHIUIFQVCMJDEFWFMPQFSQMBUGPSN
w 1SPEVDUJPOQMBUGPSNTͷσόΠε͕͑ͳ͘ͳ͚ͬͨͩ w %FWFMPQNFOUQMBUGPSNTͷσόΠεϥζύΠͱ/911JDPͷαϙʔτੜ͖͍ͯΔʂ ϙΠϯτ
NBLFTPNFUIJOH
"OESPJE5IJOHT0WFSWJFX $PPLQBEBQL !TIBOPOJN
1MBZXJUI"OESPJE5IJOHT $PPLQBEBQL !TIBOPOJN
/911JDPJ.9%͘ΜΛ͍·͢
w (PPHMF*0Ͱ͞Εͨ4UBSUFS,JUʹೖ͍ͬͯΔ։ൃϘʔυ w "OESPJE5IJOHT4UBSUFS,JU։෧ͷّIUUQTIBOPOJNIBUFOBCMPHDPNFOUSZ /911JDPJ.9%
"OESPJE5IJOHTͰԹௐཧثΛ࡞Δ
Թௐཧ w ਅۭௐཧ๏ w ʮম͘ʯʮৠ͢ʯʮࣽΔʯʹ͙࣍ɺୈ࢛ͷௐཧ๏ͱݺΕΔɻ w ੜ͋Δ͍ম͖Λ͚ͭΔͳͲͷԼॲཧΛࢪͨ͠৯ࡐͱௐຯӷΛϑΟϧϜାʹೖΕͯਅۭີ෧ ͠ɺ55ʢUFNQFSBUVSFUJNFʣཧͷग़དྷΔௐཧثͰࡐྉʹԠͨ࣌ؒ͡ͱԹઃఆΛͯ͠ௐཧ͞ ΕΔɻ w
ਅۭύοΫதͰௐཧɺௐຯ͕ߦΘΕΔͨΊࡐྉͷ෩ຯࢫຯΛಀͣ͞ۉҰʹௐཧ͢Δ͜ͱ͕Մ ೳͰ͋Δɻ 8JLJQFEJBΑΓ
࣮ͨ͠Թௐཧث w ࢢൢͷεϩʔΫοΧʔͷిݯΛίϯτϩʔϧͯ͠ɺৗʹҰఆͷԹଳΛอͭ w εϩʔΫοΧʔʹԹηϯαʔΛ࣮ w Թ͕ࢦఆͨ͠ԹΛ͑ͨΒˠεϩʔΫοΧʔͷిݯΛΔʢԹ͕Լ͕Δʣ w ٯʹԹ͕Լ͕Γ͗ͨ͢ΒˠεϩʔΫοΧʔͷిݯΛೖΕΔʢԹ͕࠶্ঢ͢Δʣ
/911JDPJ.9% (SPWF#BSPNFUFS4FOTPS #.1 εϩʔΫοΧʔ ܲ εϚʔτϓϥά )4 UFNQFSBUVSF 8FCIPPL TFOE0/0''FWFOU
None
None
ιϑτΣΞ TVQQPSUFECZ"OESPJE04 w ։ൃڥ w "OESPJE4UVEJP w *OUFMMJ+*%&" w ݴޠ
w +BWB w ,PUMJO
ηϯαʔ͔ΒσʔλΛऔಘ class MainActivity : Activity(), SensorEventListener { companion object {
private val TAG = MainActivity::class.java.simpleName } private val temperatureSensorDriver: Bmx280SensorDriver by lazy { Bmx280SensorDriver("I2C1") } private val sensorManager: SensorManager by lazy { getSystemService(Context.SENSOR_SERVICE) as SensorManager } private val dynamicSensorCallback = object : DynamicSensorCallback() { override fun onDynamicSensorConnected(sensor: Sensor) { if (sensor.type == Sensor.TYPE_AMBIENT_TEMPERATURE) { Log.i(TAG, "Temperature sensor connected") sensorManager.registerListener(this@MainActivity, sensor, SensorManager.SENSOR_DELAY_NORMAL) } } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) sensorManager.registerDynamicSensorCallback(dynamicSensorCallback) temperatureSensorDriver.registerTemperatureSensor() } override fun onDestroy() { super.onDestroy() sensorManager.unregisterDynamicSensorCallback(dynamicSensorCallback) sensorManager.unregisterListener(this) temperatureSensorDriver.run { unregisterTemperatureSensor() close() } } override fun onSensorChanged(event: SensorEvent) { // event.values[0] } override fun onAccuracyChanged(sensor: Sensor, accuracy: Int) { Log.i(TAG, "sensor accuracy changed: $accuracy") } }
⚡εϚʔτϓϥά w 51-JOL)4 w 8J'Jଂ w *'555࿈ܞ w XFCIPPLୟ͚ͩ͘Ͱ0/0''੍ޚͰ͖Δ
·ͱΊ w OPODPNNFSDJBMVTFPOMZͰ͋Δ͕ɺ"OESPJEΤϯδχΞʹͱͬͯ։ൃ͍͢͠ϓϥοτϑΥʔ ϜʹมΘΒͳ͍ w Πν͔ΒΈࠐΈษڧ͢ΔΑΓϋʔυϧ͍ʢͱࢥ͏ʣ w 8FCͱͷ࿈ܞָ͕ͩͬͨΓɺN#BB4Λ؆୯ʹ͑ΔͷͰɺͪΌΜͱͨ͠*P5αʔϏε͕؆୯ʹ ࡞ΕΔ w
*0Ͱ෮׆ͯ͘͠ΕཔΉ