SlideShare a Scribd company logo
Matej Vidaković
Android app
development
in 2017
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?
IDEALLY
minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion
(latest SDK)
Support library
Multidex
Palette
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
How should my app look like?
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
Some things never
change...
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/
Javantura v4 - Android App Development in 2017 - Matej Vidaković

More Related Content

PDF
Javantura v4 - Angular2 - Ionic2 - from birth to stable versions - Hrvoje Pek...
PDF
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
PDF
Javantura v4 - The power of cloud in professional services company - Ivan Krn...
PDF
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...
PDF
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
PDF
Front-end for Java developers Devoxx France 2018
PPTX
GWT and Angular - Relatives or Foes
PDF
Micronaut Deep Dive - Codeone 2019
Javantura v4 - Angular2 - Ionic2 - from birth to stable versions - Hrvoje Pek...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - The power of cloud in professional services company - Ivan Krn...
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
Front-end for Java developers Devoxx France 2018
GWT and Angular - Relatives or Foes
Micronaut Deep Dive - Codeone 2019

What's hot (20)

PDF
What we do with Go
PPTX
Vs java (1)
PDF
Javantura v4 - FreeMarker in Spring web - Marin Kalapać
PDF
End-to-end HTML5 APIs - The Geek Gathering 2013
PDF
Boost your API with GraphQL
PDF
Building Big Architectures XP Conference 2016
PDF
Building the Web with Gradle
PDF
Micro Frontends
PDF
Who needs containers in a serverless world
PPTX
Polyglot
PDF
E bpf and profilers
PPTX
Better java with design
PDF
Designing and Debugging Mobile Apps with an Embedded, Scriptable Web Server
PPTX
Top 10 reasons to migrate to Gradle
PPTX
Modern Tools for Building Progressive Web Apps
PPTX
Сергей Моренец: "Gradle. Write once, build everywhere"
PPTX
Continuous integration
PDF
A Tour of the Modern Java Platform
PPTX
Gradle 2.Breaking stereotypes
PPTX
Serverless
What we do with Go
Vs java (1)
Javantura v4 - FreeMarker in Spring web - Marin Kalapać
End-to-end HTML5 APIs - The Geek Gathering 2013
Boost your API with GraphQL
Building Big Architectures XP Conference 2016
Building the Web with Gradle
Micro Frontends
Who needs containers in a serverless world
Polyglot
E bpf and profilers
Better java with design
Designing and Debugging Mobile Apps with an Embedded, Scriptable Web Server
Top 10 reasons to migrate to Gradle
Modern Tools for Building Progressive Web Apps
Сергей Моренец: "Gradle. Write once, build everywhere"
Continuous integration
A Tour of the Modern Java Platform
Gradle 2.Breaking stereotypes
Serverless
Ad

Viewers also liked (20)

PDF
Javantura v4 - Java and lambdas and streams - are they better than for loops ...
PDF
Javantura v4 - DMN – supplement your BPMN - Željko Šmaguc
PDF
Javantura v4 - JVM++ The GraalVM - Martin Toshev
PDF
Javantura v4 - Let me tell you a story why Scrum is not for you - Roko Roić
PDF
Javantura v4 - Test-driven documentation with Spring REST Docs - Danijel Mitar
PDF
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
PDF
Javantura v4 - Security architecture of the Java platform - Martin Toshev
PDF
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
PDF
Javantura v4 - (Spring)Boot your application on Red Hat middleware stack - Al...
PDF
Javantura v4 - Getting started with Apache Spark - Dinko Srkoč
PDF
Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen ...
PDF
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
PDF
Javantura v4 - Spring Boot and JavaFX - can they play together - Josip Kovaček
PDF
Javantura v4 - Keycloak – instant login for your app - Marko Štrukelj
PDF
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
ODP
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
PPTX
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
PPTX
Javantura v3 - Just say it – using language to communicate with the computer ...
PPTX
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
PPTX
Javantura v3 - Spring Boot under the hood– Nicolas Fränkel
Javantura v4 - Java and lambdas and streams - are they better than for loops ...
Javantura v4 - DMN – supplement your BPMN - Željko Šmaguc
Javantura v4 - JVM++ The GraalVM - Martin Toshev
Javantura v4 - Let me tell you a story why Scrum is not for you - Roko Roić
Javantura v4 - Test-driven documentation with Spring REST Docs - Danijel Mitar
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
Javantura v4 - Security architecture of the Java platform - Martin Toshev
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
Javantura v4 - (Spring)Boot your application on Red Hat middleware stack - Al...
Javantura v4 - Getting started with Apache Spark - Dinko Srkoč
Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen ...
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Spring Boot and JavaFX - can they play together - Josip Kovaček
Javantura v4 - Keycloak – instant login for your app - Marko Štrukelj
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
Javantura v3 - Just say it – using language to communicate with the computer ...
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
Javantura v3 - Spring Boot under the hood– Nicolas Fränkel
Ad

Similar to Javantura v4 - Android App Development in 2017 - Matej Vidaković (20)

PDF
Introduction to Android App Development
PPTX
Android Applications Development: A Quick Start Guide
PPTX
Seminar on android app development
PPTX
Android Study Jam
PPTX
Demo class on android development
PPTX
Introduction to Android- A session by Sagar Das
PPTX
01 introduction & setup - Android
PDF
Programming Android Zigurd Mednieks Laird Dornin Blake Meike
PPTX
Android introduction
PDF
Android app development Beginners Guide
PPTX
Android - Application Framework
PPTX
Introduction to android mobile app development.pptx
PDF
(Ebook) Android Cookbook by Ian F. Darwin ISBN 9781449374457, 144937445X
ODP
Java Meetup - 12-03-15 - Android Development Workshop
PDF
Beating Android Fragmentation
PPTX
Introduction to Android (in-short) - Itvedant, Thane | Mumbai | Navi Mumbai
PPT
Getting started with android dev and test perspective
PDF
Android Cookbook Problems And Solutions For Android Developers Darwin
PDF
Android Overview
PDF
Is Java Required for Android App Development.pdf
Introduction to Android App Development
Android Applications Development: A Quick Start Guide
Seminar on android app development
Android Study Jam
Demo class on android development
Introduction to Android- A session by Sagar Das
01 introduction & setup - Android
Programming Android Zigurd Mednieks Laird Dornin Blake Meike
Android introduction
Android app development Beginners Guide
Android - Application Framework
Introduction to android mobile app development.pptx
(Ebook) Android Cookbook by Ian F. Darwin ISBN 9781449374457, 144937445X
Java Meetup - 12-03-15 - Android Development Workshop
Beating Android Fragmentation
Introduction to Android (in-short) - Itvedant, Thane | Mumbai | Navi Mumbai
Getting started with android dev and test perspective
Android Cookbook Problems And Solutions For Android Developers Darwin
Android Overview
Is Java Required for Android App Development.pdf

More from HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association (20)

PDF
Java cro'21 the best tools for java developers in 2021 - hujak
PDF
JavaCro'21 - Java is Here To Stay - HUJAK Keynote
PDF
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
PPTX
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
PPTX
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
PDF
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
PDF
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
PDF
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
PPTX
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
PDF
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
PDF
Javantura v6 - When remote work really works - the secrets behind successful ...
PDF
Javantura v6 - Kotlin-Java Interop - Matej Vidaković
PDF
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
PDF
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
PPTX
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
PDF
Javantura v6 - How can you improve the quality of your application - Ioannis ...
PDF
Javantura v6 - Automation of web apps testing - Hrvoje Ruhek
PDF
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
PDF
Javantura v6 - Building IoT Middleware with Microservices - Mario Kusek
PDF
Javantura v6 - JDK 11 & JDK 12 - Dalibor Topic
Java cro'21 the best tools for java developers in 2021 - hujak
JavaCro'21 - Java is Here To Stay - HUJAK Keynote
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
Javantura v6 - When remote work really works - the secrets behind successful ...
Javantura v6 - Kotlin-Java Interop - Matej Vidaković
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
Javantura v6 - How can you improve the quality of your application - Ioannis ...
Javantura v6 - Automation of web apps testing - Hrvoje Ruhek
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
Javantura v6 - Building IoT Middleware with Microservices - Mario Kusek
Javantura v6 - JDK 11 & JDK 12 - Dalibor Topic

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Electronic commerce courselecture one. Pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
KodekX | Application Modernization Development
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Cloud computing and distributed systems.
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Weekly Chronicles - August'25 Week I
MIND Revenue Release Quarter 2 2025 Press Release
The Rise and Fall of 3GPP – Time for a Sabbatical?
Electronic commerce courselecture one. Pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
cuic standard and advanced reporting.pdf
Spectral efficient network and resource selection model in 5G networks
Chapter 3 Spatial Domain Image Processing.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Spectroscopy.pptx food analysis technology
Review of recent advances in non-invasive hemoglobin estimation
KodekX | Application Modernization Development
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Per capita expenditure prediction using model stacking based on satellite ima...
Cloud computing and distributed systems.

Javantura v4 - Android App Development in 2017 - Matej Vidaković

  • 2. 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 ○ …
  • 3. Which IDE to use? ● Eclipse - no longer officially supported ● Android Studio - official IDE ● NetBeans, IDEA - Android plugins
  • 4. What makes Android Studio so cool? ● Modified IDEA ● Gradle build system support ○ Easily customizable ○ Build variants (type x flavor) ● Emulator now actually fast
  • 5. 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 ● ...
  • 6. 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)
  • 7. 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? IDEALLY minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)
  • 9. 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
  • 10. How should my app look like?
  • 11. 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
  • 13. 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
  • 14. Cool presentation, but I already knew all that… ool talk, but I already know all of that… five.agency/about/careers/