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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Daniel Lew
August 02, 2016
Programming
450
2
Share
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
More Decks by Daniel Lew
See All by Daniel Lew
How to Use Computers (Privately!)
dlew
0
73
Finding Meaningful, Mission-Driven Work
dlew
0
180
Things Maybe You Don't Know as a Newer Developer
dlew
1
140
Maintaining Software Correctness
dlew
4
1k
Grokking Coroutines (MinneBar)
dlew
5
670
ClimateChangeTech.pdf
dlew
0
160
What Tech Can Do About Climate Change
dlew
0
650
Grokking Coroutines
dlew
5
1.3k
Automated Tests Aren't Enough
dlew
0
540
Other Decks in Programming
See All in Programming
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
180
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
4
2.2k
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
200
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
810
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
200
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
110
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
270
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
210
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
130
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
160
Tamach-sre-3_ANDPAD-shimaison93
mane12yurks38
0
210
How to stabilize UI tests using XCTest
akkeylab
0
150
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
420
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
260
Art, The Web, and Tiny UX
lynnandtonic
304
21k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Invisible Side of Design
smashingmag
302
51k
The Curious Case for Waylosing
cassininazir
0
280
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
150
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
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