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
An introduction to Android development
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Eugene Oskin
January 20, 2018
Programming
86
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
An introduction to Android development
Eugene Oskin
January 20, 2018
More Decks by Eugene Oskin
See All by Eugene Oskin
Local Models for Coding
evgeneoskin
0
19
REST API. Django, Ruby on Rails, Play! Framework
evgeneoskin
0
100
Introduction to gRPC
evgeneoskin
0
110
GrailInventory – Advanced Backend Development
evgeneoskin
0
48
Bracing Calculator
evgeneoskin
1
81
emotional intelligence, part 2
evgeneoskin
0
49
Office temperature
evgeneoskin
0
45
Parse platform
evgeneoskin
0
110
Hubot
evgeneoskin
0
61
Other Decks in Programming
See All in Programming
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
1.1k
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
160
高専キャリア LT 発表内容
crysta1221
6
5.6k
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
470
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
110
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
600
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
120
信頼性の目標を誰も求めてない
shubox
0
500
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
530
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
56
38k
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
200
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
530
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
We Are The Robots
honzajavorek
0
360
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Bash Introduction
62gerente
615
220k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
630
Transcript
An introduction to Android development
Why I do this?
Deep dive into Android
• Activity • Fragments • Views • *Listener Vocabulary •
Adapters • DAO • Providers • Service
ToolKit
None
App Architecture • MVC: ◦ Activity, Fragments ◦ DAO, Providers
◦ Adapters, Views
App Architecture • MVC: ◦ Activity, Fragments ◦ DAO, Providers
◦ Adapters, Views • Cursor • Service
Pitfalls
Pitfalls • Emulator • findViewById hell • Huge Activity •
Android specific SDK
• Use Real device • Speed up your emulator (Intel
HAXM) • Use an alternative Emulator
findViewById hell • Use Kotlin Android Extensions • Use Dependency
Injection like butterknife or dagger
Huge Activity • Decompose it! • Use RxJava/RxAndroid • Use
Kotlin
RxJava/RxKotlin/RxAndroid getObservable() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe { s -> data.add(s) adapter.notifyDataSetChanged()
}
RxJava/RxAndroid • Why? ◦ Use high level API to run
asynchronous code. • How? ◦ Add custom observers and use Rx operators • When? ◦ Until it's too late. But not too soon.
Android specific SDK • Keep Calm and work with it
• Use Guava • Use Kotlin
Advices • Make it simple – Android is not a
Java EE! • Use linters and tests – Automate! • Later use Platform Architecture Components
Platform Architecture Components • LifeCycle – Handling Lifecycles with Lifecycle-Aware
Components • Room – ORM • LiveData – like Rx • Paging – to build paged lists with Room
Summary
None
References • Butterknife • Dagger • Guava • Platform Architecture
Components • RxAndroid