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
930
Advanced Shared Element Transition
r21nomi
4
3k
Other Decks in Technology
See All in Technology
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
110
20260129_CB_Kansai
takuyay0ne
1
260
あたらしい上流工程の形。 0日導入からはじめるAI駆動PM
kumaiu
5
720
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
0
210
What happened to RubyGems and what can we learn?
mikemcquaid
0
210
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.3k
【インシデント入門】サイバー攻撃を受けた現場って何してるの?
shumei_ito
0
1.4k
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.2k
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
8
2.2k
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.4k
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
45
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
230
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The Spectacular Lies of Maps
axbom
PRO
1
510
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Claude Code のすすめ
schroneko
67
210k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
What does AI have to do with Human Rights?
axbom
PRO
0
2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
WENDY [Excerpt]
tessaabrams
9
36k
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