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
Let's make Photo Frame with Android Things
Search
Ryota Takemoto
March 22, 2017
Technology
0
2.5k
Let's make Photo Frame with Android Things
Story about development for photo frame with Android Things.
Ryota Takemoto
March 22, 2017
Tweet
Share
More Decks by Ryota Takemoto
See All by Ryota Takemoto
NEORT1周年の振り返りとこれからの話
r21nomi
0
1.4k
デジタルアートのプラットフォームを開発してる話
r21nomi
1
540
設計にみるAWA Androidアプリのこれまでとこれから
r21nomi
6
2.5k
How to notify Dataset changed for RecyclerView
r21nomi
2
1.7k
アプリのUX向上のためにAWAがやってきたこと
r21nomi
0
940
Advanced Shared Element Transition
r21nomi
4
3k
Other Decks in Technology
See All in Technology
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.5k
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.8k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
260
Agent Skils
dip_tech
PRO
0
120
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
970
Agile Leadership Summit Keynote 2026
m_seki
1
650
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.5k
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
100
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
160
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Amusing Abliteration
ianozsvald
0
100
Practical Orchestrator
shlominoach
191
11k
Rails Girls Zürich Keynote
gr2m
96
14k
The Curse of the Amulet
leimatthew05
1
8.7k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
ラッコキーワード サービス紹介資料
rakko
1
2.3M
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Leo the Paperboy
mayatellez
4
1.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Transcript
Let’s make Photo Frame with Android Things Ryota Takemoto 3ZPUB5BLFNPUP
!SOPNJ SOPNJ ݩ ɹ ྄ ଠ 5BLFNPUPɹ3ZPUB +PJO$ZCFS"HFOU 'SPOUFOE%FWFMPQFS
ʙ "OESPJEEFWFMPQFS!"8" ʢχΠϊϛʣ
Android Things
None
What I made
None
None
Setup
IUUQTEFWFMPQFSBOESPJEDPNUIJOHT IBSEXBSFSBTQCFSSZQJIUNM
Build on
$ adb connect Android.local $ ./gradlew :app:assembleDebug
Develop App
API Using
Getting AccessToken with OAuth on
Getting AccessToken with OAuth on
webView.loadUrl(url); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent);
Using Realtime Database
IUUQTSJHHBSPPDP[BBOESPJEUIJOHTFMFDUSJDJUZNPOJUPSJOHBQQ Save Get AccessToken
Setup Firebase IUUQTpSFCBTFHPPHMFDPNEPDTBOESPJETFUVQ
Realtime Database rule
Realtime Database rule for development
FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference dbRef = database.getReference(“access_token"); dbRef.setValue(“xxx-yyy-zzz”); Save
AccessToken app module
“xxx-yyy-zzz” Saved successfully!!
Get AccessToken things module dbRef.addValueEventListener(new ValueEventListener() { @Override public void
onDataChange(DataSnapshot dataSnapshot) { String value = dataSnapshot.getValue(String.class); } @Override public void onCancelled(DatabaseError error) { // cancelled } });
Get AccessToken things module dbRef.addValueEventListener(new ValueEventListener() { @Override public void
onDataChange(DataSnapshot dataSnapshot) { String value = dataSnapshot.getValue(String.class); } @Override public void onCancelled(DatabaseError error) { // cancelled } }); value(AccessToken) is “xxx-yyy-zzz”
Fetch contents app things
IUUQTHJUIVCDPNSOPNJQJOCPBSE Demo App
Thank you !SOPNJ SOPNJ