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
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
0
81
An introduction to Android development
Eugene Oskin
January 20, 2018
Tweet
Share
More Decks by Eugene Oskin
See All by Eugene Oskin
REST API. Django, Ruby on Rails, Play! Framework
evgeneoskin
0
92
Introduction to gRPC
evgeneoskin
0
98
GrailInventory – Advanced Backend Development
evgeneoskin
0
38
Bracing Calculator
evgeneoskin
1
69
emotional intelligence, part 2
evgeneoskin
0
40
Office temperature
evgeneoskin
0
35
Parse platform
evgeneoskin
0
100
Hubot
evgeneoskin
0
52
An introduction to iOS development
evgeneoskin
0
43
Other Decks in Programming
See All in Programming
Oxlintはいいぞ
yug1224
5
1.3k
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
組織で育むオブザーバビリティ
ryota_hnk
0
180
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
CSC307 Lecture 04
javiergs
PRO
0
660
AI & Enginnering
codelynx
0
110
Oxlint JS plugins
kazupon
1
960
CSC307 Lecture 08
javiergs
PRO
0
670
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
300
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
AgentCoreとHuman in the Loop
har1101
5
240
Featured
See All Featured
HDC tutorial
michielstock
1
380
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
180
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
50
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
140
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
First, design no harm
axbom
PRO
2
1.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
190
What's in a price? How to price your products and services
michaelherold
247
13k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
The Curse of the Amulet
leimatthew05
1
8.6k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
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