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
Opinionated Android
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Javier Gamarra
November 21, 2014
Programming
140
0
Share
Opinionated Android
Charla sobre buenas prácticas de Android realizada en la Codemotion 2014.
Javier Gamarra
November 21, 2014
More Decks by Javier Gamarra
See All by Javier Gamarra
2000 katas later @cylicon
nhpatt
0
110
2000 katas later @CAS15
nhpatt
0
99
Métricas: lo bueno, lo feo y lo malo
nhpatt
0
240
Working Effectively with Legacy Code
nhpatt
0
430
Performance myths in android
nhpatt
2
290
How *not* to design an SDK
nhpatt
0
50
Angular2 @SC Toledo
nhpatt
0
60
Cambiar una empresa con juegos ágiles
nhpatt
0
250
RxJava in practice
nhpatt
1
330
Other Decks in Programming
See All in Programming
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
5
3.9k
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
140
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
130
Programming with a DJ Controller — not vibe coding
m_seki
3
780
AIを導入する前にやるべきこと
negima
2
330
Agentic Elixir
whatyouhide
0
440
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
150
cloudnative conference 2026 flyle
azihsoyn
0
110
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
310
空間オーディオの活用
objectiveaudio
0
130
GitHubCopilotCLIをはじめよう.pdf
htkym
0
320
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
180
The Pragmatic Product Professional
lauravandoore
37
7.3k
Exploring anti-patterns in Rails
aemeredith
3
350
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
200
Skip the Path - Find Your Career Trail
mkilby
1
110
AI: The stuff that nobody shows you
jnunemaker
PRO
6
630
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Mind Mapping
helmedeiros
PRO
1
180
How GitHub (no longer) Works
holman
316
150k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Amusing Abliteration
ianozsvald
1
160
Transcript
MADRID · NOV 21-22 · 2014 Opinionated Android Javier Gamarra
@nhpatt
MADRID · NOV 21-22 · 2014 ¿Quién? Javier Gamarra /
@nhpatt Tech Lead, @agilecyl, android/java/javascript
MADRID · NOV 21-22 · 2014 ¿Por qué? • Para
los novatos • Para los cómodos • Por dar una opinión (IMHO)
MADRID · NOV 21-22 · 2014 IDE Android Studio
MADRID · NOV 21-22 · 2014 Build tool Gradle.
MADRID · NOV 21-22 · 2014 Build tool
MADRID · NOV 21-22 · 2014 Código Java bien escrito:
Findbugs Checkstyle PMD/CPD Ignorad los field naming conventions del core de Android
MADRID · NOV 21-22 · 2014 Código • Clean Code
• SOLID
MADRID · NOV 21-22 · 2014 Buenas prácticas de Android
Usad Android Lint Huid de clases Application
MADRID · NOV 21-22 · 2014 Arquitectura No es un
juego de niños Pero hay buenas propuestas: • Clean Architecture • Arquitectura Hexagonal
MADRID · NOV 21-22 · 2014 Y en UI Separad
concerns! • MVP • MVP/MVVM Incluso podéis plantearos si usar fragments
MADRID · NOV 21-22 · 2014 Librerías Hay unas pocas
librerías… Con muchas recomendaciones... Pero algunas imprescindibles
MADRID · NOV 21-22 · 2014 Inyección de dependencias •
Usaréis alguna librería de inyección de dependencias, no?
MADRID · NOV 21-22 · 2014 Inyección de dependencias •
Roboguice • Dagger (+ButterKnife)
MADRID · NOV 21-22 · 2014 Buenas prácticas de Android
Ignorad el título de las guías “Avoid dependency injection frameworks“ Usad Proguard (vale, hay problemas)
MADRID · NOV 21-22 · 2014 APIs REST • Async
Tasks
MADRID · NOV 21-22 · 2014 APIs REST • Volley
• Retrofit
MADRID · NOV 21-22 · 2014 APIs REST public interface
GitHubService { @GET("/users/{user}/repos") List<Repo> listRepos(@Path("user") String user); } vs StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener() { … }
MADRID · NOV 21-22 · 2014 Carga de imágenes •
Universal Image Loader • Picasso
MADRID · NOV 21-22 · 2014 Jake Wharton! https://github.com/JakeWharton/u2020 •
Dagger • ButterKnife • Retrofit • Picasso • OkHttp • RxJava • Timber • Madge • Scalpel • Hugo • StaggeredGrid • SDK Manager Plugin
MADRID · NOV 21-22 · 2014 BD? • SQL •
SQL con content providers?
MADRID · NOV 21-22 · 2014 BD? • ORMLite •
SugarORM • GreenDAO • ADAFramework • ActiveAndroid ORMLite / SugarORM
MADRID · NOV 21-22 · 2014 Comunicación entre servicios... Es
un dolor comunicar información entre servicios, actividades, async tasks… Bus de eventos al rescate!
MADRID · NOV 21-22 · 2014 Comunicación EventBus Otto
MADRID · NOV 21-22 · 2014 Comunicación eventBus.post(new AnyEventType(42)); eventBus.register(this);
public void onEvent(AnyEventType event) {...}; vs eventBus.post(new AnyEventType(42)); @Subscribe public void eventAvailable(AnyEventType event) {}
MADRID · NOV 21-22 · 2014 Keep an eye on
• Reactive programming en Android con RxJava • Echadle un ojo
MADRID · NOV 21-22 · 2014 Keep an eye on
RxJava(+[RxAndroid]) + Retrofit = Bliss eventAPI.login(). flatMap(status -> api.getUserStatus()). subscribe(onComplete, onError); api.login(new Callback<ResponseBody>() { @Override public void success(...) { api.getUserStatus(new Callback<UserStatus>() { @Override public void success() {
MADRID · NOV 21-22 · 2014 Testing TESTEAD!
MADRID · NOV 21-22 · 2014 Testing Escuchad a este
tío, en serio.
MADRID · NOV 21-22 · 2014 Testing JUnit + •
JMock • PowerMock • Mockito
MADRID · NOV 21-22 · 2014 Testing Robolectric + Espresso
Robotium/Calabash Appium
MADRID · NOV 21-22 · 2014 Testing Cómo siempre, echadle
un ojo a Square • Spoon • AssertJ Jenkins, plz.
MADRID · NOV 21-22 · 2014 Pls, Android guys Soporte
para Java 8? Mientras tanto tendremos que vivir con retrolambda
MADRID · NOV 21-22 · 2014 Brace yourselves Otros lenguajes!
• Kotlin?
MADRID · NOV 21-22 · 2014 Madrid? Soy nuevo en
Madrid Hay un meetup de Xamarin Dónde está nuestro meetup?
MADRID · NOV 21-22 · 2014 Preocupate por mejorar
MADRID · NOV 21-22 · 2014 ¿Qué leer/escuchar? Weekly Newsletter
Android Developers Backstage
MADRID · NOV 21-22 · 2014 ¿A quién seguir? -
world • Jake Wharton • Cyril Mottier • Mark Murphy • Romain Guy • Reto Meier
MADRID · NOV 21-22 · 2014 ¿A quién seguir? -
local • flipper83 • pedro_g_s • akelael • fernando_cejas
MADRID · NOV 21-22 · 2014 Libros The Busy Coder's
Guide to Android Development
MADRID · NOV 21-22 · 2014 Links • vogella •
buenas prácticas de futurice • muchas charlas!
MADRID · NOV 21-22 · 2014 Feedback tinyurl.com/codemotionandroid
MADRID · NOV 21-22 · 2014 ¿Dudas o preguntas?
MADRID · NOV 21-22 · 2014 Opinionated Android Javier Gamarra
@nhpatt