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
550
設計にみる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
スピンアウト講座06_認証系(API-OAuth-MCP)入門
overflowinc
0
1.1k
Physical AI on AWS リファレンスアーキテクチャ / Physical AI on AWS Reference Architecture
aws_shota
1
130
契約書からの情報抽出を行うLLMのスループットを、バッチ処理を用いて最大40%改善した話
sansantech
PRO
2
250
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
120
新規事業×QAの挑戦:不確実性を乗りこなす!フェーズごとに求められるQAの役割変革
hacomono
PRO
0
180
Phase03_ドキュメント管理
overflowinc
0
2.4k
Phase06_ClaudeCode実践
overflowinc
0
1.9k
Phase12_総括_自走化
overflowinc
0
1.4k
君はジョシュアツリーを知っているか?名前をつけて事象を正しく認識しよう / Do you know Joshua Tree?
ykanoh
4
120
データマネジメント戦略Night - 4社のリアルを語る会
ktatsuya
1
220
How to install a gem
indirect
0
1.3k
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
4
370
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
130
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
How STYLIGHT went responsive
nonsquared
100
6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
200
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
Believing is Seeing
oripsolob
1
94
Scaling GitHub
holman
464
140k
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