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
What to expect when you're expecting to write an Android app
Search
Daniel Lew
August 02, 2016
Programming
2
400
What to expect when you're expecting to write an Android app
An introduction to writing Android apps, given at a local GDG meetup.
Daniel Lew
August 02, 2016
Tweet
Share
More Decks by Daniel Lew
See All by Daniel Lew
Finding Meaningful, Mission-Driven Work
dlew
0
45
Things Maybe You Don't Know as a Newer Developer
dlew
1
89
Maintaining Software Correctness
dlew
4
770
Grokking Coroutines (MinneBar)
dlew
5
490
ClimateChangeTech.pdf
dlew
0
84
What Tech Can Do About Climate Change
dlew
0
430
Grokking Coroutines
dlew
5
980
Automated Tests Aren't Enough
dlew
0
450
The Importance of Developer Communities
dlew
0
79
Other Decks in Programming
See All in Programming
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
520
Try creating your own orderedmap
kazamori
1
290
Amazon Aurora Serverless v2が意外と高かった話と、AWS Database Migration Serviceの話
satoshi256kbyte
1
110
酒飲んでたらテックリードになった話
spbaya0141
0
210
JS RPCを理解する
yusukebe
5
310
Runtime Objects in Rust
mitsuhiko
0
220
TypeScriptで使いやすいOpenAPIの書き方
yukimochi_dwango
1
970
Unlocking Potential of Property Based Testing with Ractor
ohbarye
2
630
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
2
300
一文字エイリアスのすすめ
fujimura
0
200
RubyGems on ruby.wasm
kateinoigakukun
0
160
How to implement a RubyVM with PHP?
memory1994
PRO
2
1.1k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
423
63k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
Building Adaptive Systems
keathley
32
1.9k
Into the Great Unknown - MozCon
thekraken
15
1.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
[RailsConf 2023] Rails as a piece of cake
palkan
29
4.1k
Designing the Hi-DPI Web
ddemaree
276
33k
The Pragmatic Product Professional
lauravandoore
26
5.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
In The Pink: A Labor of Love
frogandcode
138
21k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
Designing Experiences People Love
moore
136
23k
Transcript
What to expect when you're expecting to write an Android
app Dan Lew @danlew42
• Android Studio • apt • adb • Calligraphy •
ButterKnife • dex • dexmaker • Retrolambda • OkHttp • Phrase • Picasso • Genymotion • Dagger • RxJava • RxAndroid • RxBinding • RxLifecycle • RxRelay • RxLint • Support library • Design support library • Palette • CardView • RecyclerVie w • Test support library • App compat • LeakCanary • Otto • EventBus • Gson • Stethp • SqlBrite • SqlDelight • Retrofit • Tape • Timber • Navi • OrmLite • Process Phoenix • Google Play Services • Firebase • RoundedIma geView • Subsamplin g Scaling ImageView • Victor • joda-time • joda-time- android • auto-value • auto-value- gson • auto-value- parcelable • android-apt • Apache commons • BetterPicker s • Crashlytics • gradle- versions- plugin • Hugo • Quantcast • Mockito • Sticky List Headers • Error Prone • Hierarchy Viewer • systrace • Gradle • Logcat • Pro guard
None
None
Tools
Google Nexus
Android Studio
USB Cable
Becoming a Developer
Concepts
Concepts • Context • Lifecycles • Intents • Permissions •
Configuration
Components • Activities • Services • Broadcast Receivers • Content
Providers
Activity • Views • ViewGroups • findViewById()
Structure
Manifest Your app’s API
Java All your code
Resources Layouts, images, values, configuration, etc…
Gradle Build configuration
Important Libraries
Google Support Libraries • Backwards-compatible implementations • AppCompat • New
features
Google Play Services / Firebase • (Mostly) free Google services
• Ties you to Google-approved devices
Networking • Most apps require internet • HTTP: OkHttp •
REST: Retrofit
Rookie Mistakes • Developing for a single screen size •
Mishandling configuration changes • Using implicit intents • Blocking the main thread • Overstuffing Activity • Forgetting internet permission • Following Google 100%
Catching Mistakes • Android Lint • StrictMode
First Release Checklist • Some things can (or should) never
change… • Package name • Signing certificate • Manifest API • Crash logger • Publishing Google account
Education
Java • The Internet • Head First Design Patterns •
Effective Java
Android • The Internet • Android documentation • The Busy
Coder's Guide to Android Development
Training • Android @ Udacity • Google Study Jams •
Paid training
Open Source • AOSP: https://source.android.com/ • u2020: https://github.com/JakeWharton/u2020 • iosched:
https://github.com/google/iosched • …And much, much more!
Questions? @danlew42 Slides: https://goo.gl/UWDwjv