Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
What to expect when you're expecting to write an Android app
Daniel Lew
August 02, 2016
Programming
2
370
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
Maintaining Software Correctness
dlew
4
410
Grokking Coroutines (MinneBar)
dlew
5
390
ClimateChangeTech.pdf
dlew
0
46
What Tech Can Do About Climate Change
dlew
0
300
Grokking Coroutines
dlew
5
820
Automated Tests Aren't Enough
dlew
0
420
The Importance of Developer Communities
dlew
0
51
Crazy Fancy Android Text
dlew
5
1.1k
Intro to Android Development
dlew
1
410
Other Decks in Programming
See All in Programming
[2023년 1월 세미나] 데이터 분석가 되면 어떤 일을 하나요?
datarian
0
530
An Advanced Introduction to R
nicetak
0
1.6k
Circuit⚡
monaapk
0
200
はてなリモートインターンシップ2022 Web API 講義資料
hatena
0
150
PHPDocにおける配列の型定義を少し知る
shimabox
1
120
CDKでValidationする本当の方法 / cdk-validation
gotok365
1
150
Amebaブログの会員画面システム刷新の道程
ryotasugawara
1
200
(新米)エンジニアリングマネージャーのしごと #RSGT2023
murabayashi
9
5.4k
Refactor with using `available` and `deprecated`
417_72ki
3
370
AWSとCPUのムフフな関係
cmdemura
0
440
はてなリモートインターンシップ2022 インフラ 講義資料
hatena
4
2.1k
和暦を正しく扱うための暦の話
nagise
10
4.6k
Featured
See All Featured
Designing with Data
zakiwarfel
91
4.2k
Thoughts on Productivity
jonyablonski
49
2.7k
Code Reviewing Like a Champion
maltzj
508
38k
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
31
20k
The Pragmatic Product Professional
lauravandoore
21
3.4k
4 Signs Your Business is Dying
shpigford
171
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
50k
Ruby is Unlike a Banana
tanoku
93
9.5k
Gamification - CAS2011
davidbonilla
75
4.1k
Three Pipe Problems
jasonvnalue
89
8.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
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