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
390
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
42
Things Maybe You Don't Know as a Newer Developer
dlew
1
88
Maintaining Software Correctness
dlew
4
730
Grokking Coroutines (MinneBar)
dlew
5
470
ClimateChangeTech.pdf
dlew
0
80
What Tech Can Do About Climate Change
dlew
0
410
Grokking Coroutines
dlew
5
960
Automated Tests Aren't Enough
dlew
0
450
The Importance of Developer Communities
dlew
0
78
Other Decks in Programming
See All in Programming
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
650
Elm 0.19.0 Changes
bkuhlmann
0
490
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
23
15k
VS Code をプロダクトにどう取り込むか
onomax
1
360
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.2k
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
190
Goのmultiple errorsについて (2024年4月版)
syumai
3
700
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
270
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
370
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
340
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
514
39k
Visualization
eitanlees
136
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Making Projects Easy
brettharned
108
5.5k
The Invisible Side of Design
smashingmag
294
49k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
How GitHub (no longer) Works
holman
304
140k
Building Adaptive Systems
keathley
31
1.9k
Music & Morning Musume
bryan
41
5.6k
Web Components: a chance to create the future
zenorocha
305
41k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
78
42k
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