javantura v4 - android app development in 2017 - matej vidaković
Upload: hujak-hrvatska-udruga-java-korisnika-croatian-java-user-association
Post on 21-Feb-2017
100 views
TRANSCRIPT
What’s up with Android Java?
● Some Java 8 feature support (in theory)
● Libs that help
○ Retrolambda
○ Lightweight-Stream-API
● Dalvik vs ART
● Alternatives?
○ Kotlin
○ Scala
○ Groovy
○ …
Which IDE to use?
● Eclipse - no longer officially supported
● Android Studio - official IDE
● NetBeans, IDEA - Android plugins
What makes Android Studio so cool?
● Modified IDEA
● Gradle build system support
○ Easily customizable
○ Build variants (type x flavor)
● Emulator now actually fast
I’m still not convinced...
● Android specific static code analysis (support annotations)
● Profiling tools
● Instant run
● Vector drawable
● Data Binding
● Samples browser
● Apk analyzer
● Layout inspector
● ...
What about testing?
● Local
○ No Android dependencies
○ Run on local JVM
● Instrumented
○ Android dependencies
○ Run on device or emulator
● JUnit 4
● Espresso UI testing
● Test recorder (beta)
2.3.3 - 2.3.7 Gingerbread 10 1.0%
4.0.3 - 4.0.4 Ice Cream Sandwich 15 1.1%
4.1.x Jelly Bean 16 4.0%
4.2.x 17 5.9%
4.3 18 1.7%
4.4 KitKat 19 22.6%
5.0 Lollipop 21 10.1%
5.1 22 23.3%
6.0 Marshmallow 23 29.6%
7.0 Nougat 24 0.5%
7.1 25 0.2%
Which versions to support?
IDEALLYminSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion
(latest SDK)
Support library
MultidexPalette
Test
RecyclerView
Design
GridLayout
Leanback
Annotations
Percent
MediaRouterCardView
How to support ancient versions?
Appcompat
Is 64k method limit still a thing?
● Yes…
● Check method count of libs at methodscount.com
● Use Proguard / Dexguard (@Keep)
● If all else fails - Multidex
And how do I do that?
● Design guidelines - material.io/guidelines
● Standard icons - material.io/icons
● Support libs
○ Design
○ Appcompat
○ CardView
○ Palette
○ Percent
● Material Design Android Library
Where can I learn more?
● Udacity.com - basic and advanced Android nanodegrees
● Coursera.org - Android App Development Specialization
● Android Programming: The Big Nerd Ranch Guide book (new
edition coming this month)
● Caster.io
● Google codelabs
Cool presentation, but I already knew all that…ool talk, but I already know all of that…
five.agency/about/careers/