Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Opinionated Android
Search
Javier Gamarra
November 21, 2014
Programming
0
130
Opinionated Android
Charla sobre buenas prácticas de Android realizada en la Codemotion 2014.
Javier Gamarra
November 21, 2014
Tweet
Share
More Decks by Javier Gamarra
See All by Javier Gamarra
2000 katas later @cylicon
nhpatt
0
110
2000 katas later @CAS15
nhpatt
0
97
Métricas: lo bueno, lo feo y lo malo
nhpatt
0
240
Working Effectively with Legacy Code
nhpatt
0
400
Performance myths in android
nhpatt
2
270
How *not* to design an SDK
nhpatt
0
48
Angular2 @SC Toledo
nhpatt
0
56
Cambiar una empresa con juegos ágiles
nhpatt
0
250
RxJava in practice
nhpatt
1
330
Other Decks in Programming
See All in Programming
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.2k
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.3k
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
320
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.9k
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
0
160
sbt 2
xuwei_k
0
300
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.1k
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
250
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
110
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
250
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
440
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
186
22k
Producing Creativity
orderedlist
PRO
348
40k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
How STYLIGHT went responsive
nonsquared
100
6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Code Review Best Practice
trishagee
74
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
KATA
mclloyd
PRO
33
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
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