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 a...
Search
Daniel Lew
August 02, 2016
Programming
2
410
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
70
Things Maybe You Don't Know as a Newer Developer
dlew
1
92
Maintaining Software Correctness
dlew
4
870
Grokking Coroutines (MinneBar)
dlew
5
550
ClimateChangeTech.pdf
dlew
0
100
What Tech Can Do About Climate Change
dlew
0
530
Grokking Coroutines
dlew
5
1.1k
Automated Tests Aren't Enough
dlew
0
460
The Importance of Developer Communities
dlew
0
88
Other Decks in Programming
See All in Programming
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
510
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
3
980
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
24
12k
macOS でできる リアルタイム動画像処理
biacco42
8
2.2k
Amazon Qを使ってIaCを触ろう!
maruto
0
310
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
460
Vue SFCのtemplateでTypeScriptの型を活用しよう
tsukkee
3
1.6k
僕がつくった48個のWebサービス達
yusukebe
19
17k
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
230
生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
pokutuna
0
670
PLoP 2024: The evolution of the microservice architecture pattern language
cer
PRO
0
1.9k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Happy Clients
brianwarren
97
6.7k
GitHub's CSS Performance
jonrohan
1030
460k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Designing Experiences People Love
moore
138
23k
Agile that works and the tools we love
rasmusluckow
327
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
328
21k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Designing for humans not robots
tammielis
249
25k
KATA
mclloyd
29
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
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