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
720
Grokking Coroutines (MinneBar)
dlew
5
470
ClimateChangeTech.pdf
dlew
0
76
What Tech Can Do About Climate Change
dlew
0
400
Grokking Coroutines
dlew
5
950
Automated Tests Aren't Enough
dlew
0
450
The Importance of Developer Communities
dlew
0
76
Other Decks in Programming
See All in Programming
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
340
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.2k
9年開発を牽引して見えてきた、共通化すべきものと個別でつくるもの ~プログラム言語~
shinout
1
640
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
8
2.2k
デザインシステムで Tailwind CSSとCSS in JSに分散投資をしたら良かった話
fsubal
18
4.8k
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
24
7.6k
甘い香りに誘われてVanilla Extractを1年間運用してみた
miyahkun
1
110
"config" ってなんだ? / What is "config"?
okashoi
0
210
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
7
4.1k
Ruby製社内ツールのGo移行
bgpat
2
330
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
180
オブジェクト指向のリ・オリエンテーション~歴史を振り返り、AI時代に向きなおる~
hanyudaeiiti
9
5.5k
Featured
See All Featured
How to name files
jennybc
64
92k
The Mythical Team-Month
searls
214
42k
The Brand Is Dead. Long Live the Brand.
mthomps
48
27k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
2k
Product Roadmaps are Hard
iamctodd
43
9.7k
Embracing the Ebb and Flow
colly
78
4.1k
Building Effective Engineering Teams - LeadDev
addyosmani
26
1.8k
Robots, Beer and Maslow
schacon
PRO
154
7.9k
Teambox: Starting and Learning
jrom
127
8.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
Six Lessons from altMBA
skipperchong
19
3k
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