<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Antonio Leiva</title><description>The projects I build with AI agents and what I learn from each one. Antonio Leiva, founder of DevExpert and Google Developer Expert for Android.</description><link>https://antonioleiva.com</link><language>en</language><item><title>What Is Loop Engineering? A Practical Codex Example</title><link>https://antonioleiva.com/what-is-loop-engineering-practical-codex-example</link><guid isPermaLink="true">https://antonioleiva.com/what-is-loop-engineering-practical-codex-example</guid><description>People are starting to talk more and more about Loop Engineering. As always when a new label appears, part of it is hype. But I do think there is something…</description><pubDate>Wed, 08 Jul 2026 10:30:00 GMT</pubDate></item><item><title>A 1Password Runtime for Local Agents and Desktop Apps</title><link>https://antonioleiva.com/1password-runtime-local-agents-desktop-apps</link><guid isPermaLink="true">https://antonioleiva.com/1password-runtime-local-agents-desktop-apps</guid><description>There is a funny phase when you start using local agents seriously. At first, everything is simple: you have an API key, you put it in .zshrc, .bashrc, .env…</description><pubDate>Wed, 24 Jun 2026 08:00:00 GMT</pubDate></item><item><title>How to Enable Gemma 4 Thinking Mode in LM Studio and OpenCode</title><link>https://antonioleiva.com/enable-gemma-thinking-mode-lm-studio-opencode</link><guid isPermaLink="true">https://antonioleiva.com/enable-gemma-thinking-mode-lm-studio-opencode</guid><description>These past few days I have been playing with Gemma 4 locally. Not just for the sake of tinkering, but to test its capabilities and see whether it could fit…</description><pubDate>Wed, 08 Apr 2026 15:10:00 GMT</pubDate></item><item><title>MCPs Are More Alive Than Ever</title><link>https://antonioleiva.com/mcps-are-more-alive-than-ever</link><guid isPermaLink="true">https://antonioleiva.com/mcps-are-more-alive-than-ever</guid><description>There is a weird obsession lately with declaring MCP servers dead. It&apos;s true that MCPs were overused for a while. We were in the early phase of agentic…</description><pubDate>Thu, 26 Mar 2026 11:30:00 GMT</pubDate></item><item><title>Why I Don’t Think Token Subsidies Are Going Away</title><link>https://antonioleiva.com/token-subsidy-future-of-ai</link><guid isPermaLink="true">https://antonioleiva.com/token-subsidy-future-of-ai</guid><description>Lately I keep hearing the same idea: this moment of &quot;subsidized tokens&quot; is going to end. That OpenAI and Anthropic are letting us use ChatGPT, Codex, and…</description><pubDate>Mon, 16 Mar 2026 10:30:00 GMT</pubDate></item><item><title>The End of IDEs and Agentic CLIs? The Rise of ADEs</title><link>https://antonioleiva.com/end-of-ides-and-agentic-clis-rise-of-ades</link><guid isPermaLink="true">https://antonioleiva.com/end-of-ides-and-agentic-clis-rise-of-ades</guid><description>My grey hair probably gives it away, but I&apos;ve been building software for a while. The funny thing is that when I started programming, back in 2003, IDEs were…</description><pubDate>Tue, 10 Mar 2026 11:25:00 GMT</pubDate></item><item><title>My AI wrote garbage code. And that was exactly what I needed.</title><link>https://antonioleiva.com/my-ai-wrote-garbage-code-and-that-was-exactly-right</link><guid isPermaLink="true">https://antonioleiva.com/my-ai-wrote-garbage-code-and-that-was-exactly-right</guid><description>There is a widespread belief that when you use AI to code, you need to ask it to do things right from the start. Clean architecture, small files, quality…</description><pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate></item><item><title>My Complete Agentic Development &amp; Productivity Setup in 2026</title><link>https://antonioleiva.com/agentic-dev-setup-2026</link><guid isPermaLink="true">https://antonioleiva.com/agentic-dev-setup-2026</guid><description>I&apos;ve been working in a way that looks nothing like what I was doing a year ago. I don&apos;t open an IDE staring at code waiting for it to compile. I don&apos;t review…</description><pubDate>Mon, 23 Feb 2026 14:00:00 GMT</pubDate></item><item><title>How I Built an Autonomous Development System with AI Agents</title><link>https://antonioleiva.com/autonomous-dev-agents-system-en</link><guid isPermaLink="true">https://antonioleiva.com/autonomous-dev-agents-system-en</guid><description>I&apos;ve been experimenting with something that had me curious: letting AI develop a software project almost entirely on its own.</description><pubDate>Mon, 16 Feb 2026 14:00:00 GMT</pubDate></item><item><title>Skills: The Hidden Engine of AI Agents (And Why You Don&apos;t Need a &apos;Magic Bot&apos;)</title><link>https://antonioleiva.com/hype-vs-reality-skills</link><guid isPermaLink="true">https://antonioleiva.com/hype-vs-reality-skills</guid><description>Lately, tools like Moltbot (formerly Clawdbot) have broken the internet. It feels like magic: an agent that uses WhatsApp, manages your calendar, and browses…</description><pubDate>Thu, 29 Jan 2026 10:00:00 GMT</pubDate></item><item><title>ClawdBot: Is it safe to give your terminal to an AI? Survival Guide</title><link>https://antonioleiva.com/clawdbot-security-guide</link><guid isPermaLink="true">https://antonioleiva.com/clawdbot-security-guide</guid><description>I&apos;ve been messing around with ClawdBot for a couple of weeks, and honestly, it&apos;s blowing my mind. If you saw my latest video on X, you know this AI manages my…</description><pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate></item><item><title>How I reorganized all my repos with AI (and fixed my GitHub profiles in the process)</title><link>https://antonioleiva.com/reorganize-repos-with-ai-github-profiles</link><guid isPermaLink="true">https://antonioleiva.com/reorganize-repos-with-ai-github-profiles</guid><description>For years I kept collecting side projects like it was nothing. One day you create a repo for a quick idea, another for an experiment, another for a proof of…</description><pubDate>Sat, 03 Jan 2026 00:00:00 GMT</pubDate></item><item><title>The year AI threatened our jobs: 2025 review and goals for 2026</title><link>https://antonioleiva.com/analysis-2025-goals-2026</link><guid isPermaLink="true">https://antonioleiva.com/analysis-2025-goals-2026</guid><description>Who would have told us at the beginning of the year, when AI was still just a pretty smart copilot, that we would end up watching software developers question…</description><pubDate>Tue, 30 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Do we need training to use AI?</title><link>https://antonioleiva.com/need-ai-training</link><guid isPermaLink="true">https://antonioleiva.com/need-ai-training</guid><description>A few days ago, Miguel Angel Duran (MiduDev) published a YouTube video claiming that AI trainings are smoke. I admire Midu a lot, and I understand why he…</description><pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate></item><item><title>LLM Duel: Gemini 3 Flash vs Opus 4.5 vs GPT-5.2-Codex vs GLM-4.7</title><link>https://antonioleiva.com/llm-duel-gemini-opus-gpt-glm</link><guid isPermaLink="true">https://antonioleiva.com/llm-duel-gemini-opus-gpt-glm</guid><description>The madness of models in the last few weeks, all claiming in benchmarks that they beat the previous one, I must admit has made me feel a bit of curiosity and…</description><pubDate>Tue, 23 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Closing the AI Loop in Software Development</title><link>https://antonioleiva.com/closing-circle-ai</link><guid isPermaLink="true">https://antonioleiva.com/closing-circle-ai</guid><description>Lately I’ve been thinking hard about something that feels critical when you’re building with AI: 💥 you’re probably doing it wrong 💥</description><pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate></item><item><title>How to deploy an Astro SSR app to Coolify</title><link>https://antonioleiva.com/astro-ssr-coolify</link><guid isPermaLink="true">https://antonioleiva.com/astro-ssr-coolify</guid><description>WordPress has been with me for many years on my company&apos;s website, DevExpert, and we&apos;ve always had our ups and downs. It&apos;s true that for building a website…</description><pubDate>Tue, 03 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Live Templates on Android Studio and IntellliJ to improve your productivity</title><link>https://antonioleiva.com/live-templates-android-studio</link><guid isPermaLink="true">https://antonioleiva.com/live-templates-android-studio</guid><description>Live Templates are a way to avoid repetitive code in development environments like Android Studio or IntelliJ. When we are writing code, there are times when…</description><pubDate>Tue, 09 Jun 2020 00:00:00 GMT</pubDate></item><item><title>View Binding: The Definitive way to access views on Android</title><link>https://antonioleiva.com/view-binding-android</link><guid isPermaLink="true">https://antonioleiva.com/view-binding-android</guid><description>View Binding is a new view access mechanism that was released in conjunction with Android Studio version 3.6. Historically, there have been many ways to access…</description><pubDate>Thu, 21 May 2020 00:00:00 GMT</pubDate></item><item><title>[LIVE] Answering all your questions: MVVM, Work-Life balance, career progression, football..? 😂</title><link>https://antonioleiva.com/live-answer-questions</link><guid isPermaLink="true">https://antonioleiva.com/live-answer-questions</guid><description>I got many questions after an Instagram story, and decided to do a Live session answering them all. And many more. We were 50 minutes live, so join them…</description><pubDate>Sun, 25 Aug 2019 00:00:00 GMT</pubDate></item><item><title>COIL: The Next-Gen IMAGE LOADER for Android [Coroutines Based!] 🚀</title><link>https://antonioleiva.com/coil-image-loader-android</link><guid isPermaLink="true">https://antonioleiva.com/coil-image-loader-android</guid><description>Coil is a new image loading library for Android development based on Kotlin and coroutines with the goal of making it simple, fast and lightweight.</description><pubDate>Tue, 13 Aug 2019 00:00:00 GMT</pubDate></item><item><title>Dependency Injection - All the Must-Know Concepts to start using it</title><link>https://antonioleiva.com/dependency-injection-principles</link><guid isPermaLink="true">https://antonioleiva.com/dependency-injection-principles</guid><description>To understand dependency injection, you first need to learn a set of concepts that will help you realize why you need it and what&apos;s happening under the hood.</description><pubDate>Wed, 26 Jun 2019 00:00:00 GMT</pubDate></item><item><title>Living by the code, with Enrique López [Droidkast LIVE 7]</title><link>https://antonioleiva.com/living-by-the-code-enrique-lopez</link><guid isPermaLink="true">https://antonioleiva.com/living-by-the-code-enrique-lopez</guid><description>Enrique López is a freelance Android Developer, who also writes books, articles and travels around the world to multiple events while running marathons…</description><pubDate>Mon, 24 Jun 2019 00:00:00 GMT</pubDate></item><item><title>Koin for dependency injection on Android. Is Dagger dead?</title><link>https://antonioleiva.com/koin-vs-dagger</link><guid isPermaLink="true">https://antonioleiva.com/koin-vs-dagger</guid><description>Koin is an alternative to Dagger that takes advantage of Kotlin features to make dependency injection much easier. In the video above, I explain why you need a…</description><pubDate>Thu, 13 Jun 2019 00:00:00 GMT</pubDate></item><item><title>Antonio Leiva interviewed by Fernando Cejas - Celebrating 1k subs on YouTube [Droidkast LIVE 6]</title><link>https://antonioleiva.com/antonio-leiva-interviewed-by-fernando-cejas</link><guid isPermaLink="true">https://antonioleiva.com/antonio-leiva-interviewed-by-fernando-cejas</guid><description>Welcome to another episode of Droidkast LIVE. But this time I&apos;m bringing a little different program. When I interviewed Fernando in the first Droidkast, he…</description><pubDate>Tue, 04 Jun 2019 00:00:00 GMT</pubDate></item><item><title>Data Binding on Android to implement the real MVVM</title><link>https://antonioleiva.com/data-binding-on-android-to-implement-the-real-mvvm</link><guid isPermaLink="true">https://antonioleiva.com/data-binding-on-android-to-implement-the-real-mvvm</guid><description>Data Binding is really easy and can save you from a lot of boilerplate when connecting your data to the UI, and also to update it when something changes.</description><pubDate>Wed, 15 May 2019 00:00:00 GMT</pubDate></item><item><title>Google I/O 2019 - What&apos;s new for Android Developers</title><link>https://antonioleiva.com/google-io-2019</link><guid isPermaLink="true">https://antonioleiva.com/google-io-2019</guid><description>In this video, I show you some of the greatest announcements that were done during the first keynotes of Google I/O 2019, and I do an example with some of…</description><pubDate>Thu, 09 May 2019 00:00:00 GMT</pubDate></item><item><title>Self-publishing: My experience with Kotlin for Android Developers</title><link>https://antonioleiva.com/self-publishing</link><guid isPermaLink="true">https://antonioleiva.com/self-publishing</guid><description>Self-publishing may be a frightening option when you decide to publish your own tech book. I&apos;ve received many questions through all these years since I…</description><pubDate>Wed, 03 Apr 2019 00:00:00 GMT</pubDate></item><item><title>Flutter: Mobile Development for Busy People, Lara Martin [Droidkast LIVE 05]</title><link>https://antonioleiva.com/flutter-mobile-development-for-busy-people-droidkast-05</link><guid isPermaLink="true">https://antonioleiva.com/flutter-mobile-development-for-busy-people-droidkast-05</guid><description>Lara Martin came to tell us about her beginnings and her experience as an Android Developer at Berlin. Her talk was about Flutter! And how Flutter allows…</description><pubDate>Tue, 26 Mar 2019 00:00:00 GMT</pubDate></item><item><title>You need to learn Kotlin now! if you are an #AndroidDev</title><link>https://antonioleiva.com/learn-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/learn-kotlin</guid><description>Companies are adopting it and it is nowadays the fastest growing language in the market. Here I talk about the inception of the language, the current situation…</description><pubDate>Wed, 13 Mar 2019 00:00:00 GMT</pubDate></item><item><title>What Android devs wish they had known when starting out, with Nate Ebel [Droidkast LIVE 04]</title><link>https://antonioleiva.com/what-android-devs-wish-they-had-known-when-starting-out-droidkast-04</link><guid isPermaLink="true">https://antonioleiva.com/what-android-devs-wish-they-had-known-when-starting-out-droidkast-04</guid><description>Nate Ebel was our guest on Droidkast.LIVE! He’s an Android Engineer at Pixite Apps, speaker in many events and organizer of Droidcon Boston. Probably you know…</description><pubDate>Wed, 06 Mar 2019 00:00:00 GMT</pubDate></item><item><title>Modularizing Android Apps, with Joe Birch [Droidkast LIVE 03]</title><link>https://antonioleiva.com/modularizing-android-apps-droidkast-03</link><guid isPermaLink="true">https://antonioleiva.com/modularizing-android-apps-droidkast-03</guid><description>Joe Birch was our guest on the last episode! He’s an Android Lead at Buffer, Google Developer Expert for Android, Google Play and Flutter, instructor at…</description><pubDate>Mon, 18 Feb 2019 00:00:00 GMT</pubDate></item><item><title>Coroutines in Kotlin 1.3 explained: Suspending functions, contexts, builders and scopes</title><link>https://antonioleiva.com/kotlin-coroutines</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-coroutines</guid><description>Kotlin coroutines are one of the most exciting features in Kotlin. With them, you can simplify the work of asynchronous tasks in an impressive way, and make…</description><pubDate>Thu, 31 Jan 2019 00:00:00 GMT</pubDate></item><item><title>ConstraintLayout 2.0 with MotionLayout, with Huyen Tue Dao [Droidkast LIVE 02]</title><link>https://antonioleiva.com/constraint-motion-layout-droidkast-02</link><guid isPermaLink="true">https://antonioleiva.com/constraint-motion-layout-droidkast-02</guid><description>Huyen came to tell us how she became a software developer, her experience becoming an Android developer, and a speaker. She also told us about some of her…</description><pubDate>Wed, 23 Jan 2019 00:00:00 GMT</pubDate></item><item><title>The Art of Coding: Disasters and Failures, with Fernando Cejas [Droidkast LIVE 01]</title><link>https://antonioleiva.com/art-of-coding-droidkast-01</link><guid isPermaLink="true">https://antonioleiva.com/art-of-coding-droidkast-01</guid><description>I had the honor to have Fernando Cejas as my first guest for Droidkast.LIVE. We talked about almost two hours about lots of things, related to his life, how to…</description><pubDate>Fri, 18 Jan 2019 00:00:00 GMT</pubDate></item><item><title>The year that changed it all: Analysis of 2018 and goals for 2019</title><link>https://antonioleiva.com/analysis-2018-goals-2019</link><guid isPermaLink="true">https://antonioleiva.com/analysis-2018-goals-2019</guid><description>Wow! This has been a pretty crazy year, and quite calm at the same time when compared to 2017. 2018 ends and it&apos;s time to take a look at the past to see how it…</description><pubDate>Tue, 01 Jan 2019 00:00:00 GMT</pubDate></item><item><title>MVVM with architecture components: a step by step guideline for MVP lovers</title><link>https://antonioleiva.com/mvvm-vs-mvp</link><guid isPermaLink="true">https://antonioleiva.com/mvvm-vs-mvp</guid><description>Ok, so now that MVVM is the standard to implement Android Apps since Google released their Guide to App architecture, I think it&apos;s time to provide some easy…</description><pubDate>Wed, 12 Dec 2018 00:00:00 GMT</pubDate></item><item><title>Clean architecture for Android with Kotlin: a pragmatic approach for starters</title><link>https://antonioleiva.com/clean-architecture-android</link><guid isPermaLink="true">https://antonioleiva.com/clean-architecture-android</guid><description>Clean architecture is a topic that never gets old in the Android world, and from the comments and questions I receive, I feel it&apos;s still not very clear.</description><pubDate>Sun, 30 Sep 2018 00:00:00 GMT</pubDate></item><item><title>How my world is changing today</title><link>https://antonioleiva.com/world-changing-today</link><guid isPermaLink="true">https://antonioleiva.com/world-changing-today</guid><description>Hi dear reader! I normally don&apos;t write this kind of blog posts in my pretty technical blog, but I think that today deserves an exception.</description><pubDate>Fri, 21 Sep 2018 00:00:00 GMT</pubDate></item><item><title>MVP for Android: how to organize the presentation layer</title><link>https://antonioleiva.com/mvp-android</link><guid isPermaLink="true">https://antonioleiva.com/mvp-android</guid><description>MVP (Model View Presenter) pattern is a derivative from the well known MVC (Model View Controller), and one of the most popular patterns to organize the…</description><pubDate>Wed, 04 Jul 2018 00:00:00 GMT</pubDate></item><item><title>Hacking Architecture Components by using Kotlin</title><link>https://antonioleiva.com/architecture-components-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/architecture-components-kotlin</guid><description>I&apos;ve been using Architecture Components for a while, and I must admit I love them. The Android team has managed to find a way to let us forget about lifecycles…</description><pubDate>Tue, 13 Mar 2018 00:00:00 GMT</pubDate></item><item><title>Yo Dawg! I heard you like Kotlin (Talk at Devfest Baltics)</title><link>https://antonioleiva.com/yo-dawg-heard-like-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/yo-dawg-heard-like-kotlin</guid><description>In November 2017, I had the chance (and luck!) of participating in a great event at Latvia: Devfest Baltics. It was awesome in many ways, but specially because…</description><pubDate>Mon, 15 Jan 2018 00:00:00 GMT</pubDate></item><item><title>Time for accountability: Analysis of 2017 and goals for 2018</title><link>https://antonioleiva.com/analysis-2017-goals-2018</link><guid isPermaLink="true">https://antonioleiva.com/analysis-2017-goals-2018</guid><description>Believe or not, another year is coming to an end! And I like to take a look at all the things I achieved, the ones I didn&apos;t, and what I plan for the new year.</description><pubDate>Mon, 25 Dec 2017 00:00:00 GMT</pubDate></item><item><title>Listeners with several functions in Kotlin. How to make them shine?</title><link>https://antonioleiva.com/listeners-several-functions-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/listeners-several-functions-kotlin</guid><description>One question I get often is how to simplify the interaction with listeners that have several functions on Kotlin. For listeners (or any interfaces) with a…</description><pubDate>Wed, 06 Dec 2017 00:00:00 GMT</pubDate></item><item><title>Calling Kotlin from Java: start using Kotlin today (KAD 29)</title><link>https://antonioleiva.com/kotlin-from-java</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-from-java</guid><description>One of the great wonders of Kotlin is that it&apos;s fully integrated with Java. This means that although all your application code is written Java, you can create…</description><pubDate>Wed, 29 Nov 2017 00:00:00 GMT</pubDate></item><item><title>Function references in Kotlin: use functions as lambdas everywhere</title><link>https://antonioleiva.com/function-references-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/function-references-kotlin</guid><description>Function references are another of those great improvements that we get with Kotlin, which are kind of exotic when we come from Java.</description><pubDate>Wed, 22 Nov 2017 00:00:00 GMT</pubDate></item><item><title>Anko layouts on Android. Should I forget about XMLs?</title><link>https://antonioleiva.com/anko-layouts-android</link><guid isPermaLink="true">https://antonioleiva.com/anko-layouts-android</guid><description>If you&apos;re already developing Android Apps using Kotlin, you&apos;ve probably heard about Anko layouts and been thinking about using them, or at least considering to…</description><pubDate>Tue, 14 Nov 2017 00:00:00 GMT</pubDate></item><item><title>Kotlin DSL to write Gradle scripts on Android: Step by step walkthrough</title><link>https://antonioleiva.com/kotlin-dsl-gradle</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-dsl-gradle</guid><description>There&apos;s been quite some months already since Gradle announced that they were working on supporting Kotlin to write Gradle Scripts, by using a version of the…</description><pubDate>Fri, 10 Nov 2017 00:00:00 GMT</pubDate></item><item><title>Why Kotlin for Android online course is different from any other</title><link>https://antonioleiva.com/kotlin-android-online-course</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-android-online-course</guid><description>You may probably know that this days I&apos;m publishing my first online course in English, Kotlin for Android Developers, based on all the knowledge I&apos;ve gotten…</description><pubDate>Sat, 02 Sep 2017 00:00:00 GMT</pubDate></item><item><title>Kotlin Android Extensions: Say goodbye to findViewById (KAD 04)</title><link>https://antonioleiva.com/kotlin-android-extensions</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-android-extensions</guid><description>If you&apos;ve been developing Android Apps for some time, you&apos;re probably already tired of working with _findViewById_ in your day-to-day life to recover views. Or…</description><pubDate>Wed, 16 Aug 2017 00:00:00 GMT</pubDate></item><item><title>12 reasons why you should start using Kotlin for Android today (KAD 30)</title><link>https://antonioleiva.com/reasons-kotlin-android</link><guid isPermaLink="true">https://antonioleiva.com/reasons-kotlin-android</guid><description>Even now that Kotlin is an officially supported language to write Android Apps, you may still feel that there are not enough reasons for a change. Java has…</description><pubDate>Tue, 11 Jul 2017 00:00:00 GMT</pubDate></item><item><title>Sealed classes in Kotlin: enums with super-powers (KAD 28)</title><link>https://antonioleiva.com/sealed-classes-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/sealed-classes-kotlin</guid><description>Sealed classes in Kotlin are another new concept we didn&apos;t have in Java, and open another new world of possibilities. A sealed class allows you to represent…</description><pubDate>Tue, 27 Jun 2017 00:00:00 GMT</pubDate></item><item><title>Objects in Kotlin: Create safe singletons in one line of code (KAD 27)</title><link>https://antonioleiva.com/objects-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/objects-kotlin</guid><description>Kotlin objects are another element of the language that we Android developers are not familiarized with, because there is nothing like that in Java.</description><pubDate>Tue, 20 Jun 2017 00:00:00 GMT</pubDate></item><item><title>Interfaces in Kotlin. Who said interfaces can&apos;t have code? (KAD 26)</title><link>https://antonioleiva.com/interfaces-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/interfaces-kotlin</guid><description>The interfaces in Kotlin will allow you to reuse more code than what you can get with Java. The reason is very simple: you can add code to your interfaces. If…</description><pubDate>Tue, 06 Jun 2017 00:00:00 GMT</pubDate></item><item><title>Databases on Android with Anko and Kotlin: SQLite never was so easy (KAD 25)</title><link>https://antonioleiva.com/databases-anko-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/databases-anko-kotlin</guid><description>Truth to be told: writing databases in Android is quite boring. All the boilerplate required to work with SQLite is far from being the most delightful thing in…</description><pubDate>Tue, 30 May 2017 00:00:00 GMT</pubDate></item><item><title>What do 17 Google Developers Experts for Android think about Kotlin?</title><link>https://antonioleiva.com/google-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/google-kotlin</guid><description>Google has already expressed several times that they don&apos;t have anything against Kotlin, and that they&apos;re not preventing us from using it while the compiler…</description><pubDate>Mon, 15 May 2017 00:00:00 GMT</pubDate></item><item><title>Dialogs and alerts on Android using Anko and Kotlin (KAD 24)</title><link>https://antonioleiva.com/dialogs-android-anko-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/dialogs-android-anko-kotlin</guid><description>Creating alerts and dialogs on Android is a relatively simple task thanks to the builder, but due to the verbosity of the language it usually becomes something…</description><pubDate>Tue, 09 May 2017 00:00:00 GMT</pubDate></item><item><title>How to mock final classes on Kotlin using Mockito 2 (KAD 23)</title><link>https://antonioleiva.com/mockito-2-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/mockito-2-kotlin</guid><description>One of the most common issues for Kotlin, as we talked about in a previous article, is that all classes and functions are closed by default.</description><pubDate>Tue, 02 May 2017 00:00:00 GMT</pubDate></item><item><title>Unit tests on Android with Kotlin (KAD 22)</title><link>https://antonioleiva.com/unit-tests-android-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/unit-tests-android-kotlin</guid><description>Of course, Kotlin also allows us to do unit tests in a very simple way, and very similar to what we&apos;re used in Java. There are some small complications when we…</description><pubDate>Tue, 25 Apr 2017 00:00:00 GMT</pubDate></item><item><title>How to use Retrofit on android with Kotlin (KAD 21)</title><link>https://antonioleiva.com/retrofit-android-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/retrofit-android-kotlin</guid><description>This is just one more example about how in Kotlin we can continue to use the same libraries we&apos;ve always used in Java for Android.</description><pubDate>Tue, 18 Apr 2017 00:00:00 GMT</pubDate></item><item><title>How to use Dagger 2 on Android with Kotlin (KAD 20)</title><link>https://antonioleiva.com/dagger-android-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/dagger-android-kotlin</guid><description>Virtually everyone who wants to create code on Android in a decoupled and easy-to-test way, resorts to Dagger sooner or later.</description><pubDate>Tue, 11 Apr 2017 00:00:00 GMT</pubDate></item><item><title>Say goodbye to NullPointerException. Working with nulls in Kotlin (KAD 19)</title><link>https://antonioleiva.com/nullity-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/nullity-kotlin</guid><description>It had taken me too long to write an article to one of the most important parts of Kotlin: the treatment of nullity. Tony Hoare, the creator of the idea of…</description><pubDate>Tue, 04 Apr 2017 00:00:00 GMT</pubDate></item><item><title>How lambdas work in Kotlin. setOnClickListener transformation (KAD 18)</title><link>https://antonioleiva.com/lambdas-kotlin-android</link><guid isPermaLink="true">https://antonioleiva.com/lambdas-kotlin-android</guid><description>Although I spoke a little about it in another article, I&apos;d like to explain in depth how lambdas work in Kotlin, and how they transform the interfaces with a…</description><pubDate>Tue, 28 Mar 2017 00:00:00 GMT</pubDate></item><item><title>Operator Overload in Kotlin: Add standard operations to any class (KAD 17)</title><link>https://antonioleiva.com/operator-overload-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/operator-overload-kotlin</guid><description>In Kotlin, as in every language, we have predefined operators to perform certain operations. The most typical are the addition (+), subtraction (-)…</description><pubDate>Tue, 21 Mar 2017 00:00:00 GMT</pubDate></item><item><title>Writing a RecyclerView Adapter in Kotlin (KAD 16)</title><link>https://antonioleiva.com/recyclerview-adapter-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/recyclerview-adapter-kotlin</guid><description>An interesting way to see how Kotlin simplifies your life is by creating a RecyclerView Adapter. You&apos;ll see that the code can be organized in such a way that…</description><pubDate>Tue, 14 Mar 2017 00:00:00 GMT</pubDate></item><item><title>Property delegation in Kotlin: Assign values in Android without having the context (KAD 15)</title><link>https://antonioleiva.com/property-delegation-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/property-delegation-kotlin</guid><description>As we&apos;ve seen in previous articles, properties need a default value, they can&apos;t be declared without assigning them a value.</description><pubDate>Thu, 09 Mar 2017 00:00:00 GMT</pubDate></item><item><title>Reified Types in Kotlin: how to use the type within a function (KAD 14)</title><link>https://antonioleiva.com/reified-types-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/reified-types-kotlin</guid><description>One of the limitations that most frustrates Java developers when using generics is not being able to use the type directly.</description><pubDate>Thu, 02 Mar 2017 00:00:00 GMT</pubDate></item><item><title>Using &quot;when&quot; expression in Kotlin: The &quot;switch&quot; with super powers (KAD 13)</title><link>https://antonioleiva.com/when-expression-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/when-expression-kotlin</guid><description>The switch expression in Java, and especially in Java 6, are extremely limited. Apart from a very short amount of types, it can not be used for anything else.</description><pubDate>Thu, 23 Feb 2017 00:00:00 GMT</pubDate></item><item><title>Take Realm to the next level with Kotlin</title><link>https://antonioleiva.com/kotlin-realm-extensions</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-realm-extensions</guid><description>When someone asks me what I like the most about Kotlin, I find it hard to highlight a single feature. Data classes, lambdas, type inference, delegates…</description><pubDate>Tue, 14 Feb 2017 00:00:00 GMT</pubDate></item><item><title>Ninja Functions in Kotlin. Understanding the power of generics (KAD 12)</title><link>https://antonioleiva.com/generic-functions-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/generic-functions-kotlin</guid><description>The combined use of several Kotlin features mixed with the use of generics allow to create functions that will greatly simplify your code, while maintaining…</description><pubDate>Wed, 08 Feb 2017 00:00:00 GMT</pubDate></item><item><title>Functional operations with collections in Kotlin (KAD 11)</title><link>https://antonioleiva.com/functional-operations-collections-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/functional-operations-collections-kotlin</guid><description>I must admit that, for me, one of the most frustrating things when writing Java code is the list handling. Java 8 has some improvements in this respect with…</description><pubDate>Thu, 02 Feb 2017 00:00:00 GMT</pubDate></item><item><title>Data Classes in Kotlin: save a good bunch of lines of code (KAD 10)</title><link>https://antonioleiva.com/data-classes-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/data-classes-kotlin</guid><description>We&apos;ve already seen the classes in an earlier article, but data classes go a little further in helping us simplify our code.</description><pubDate>Wed, 25 Jan 2017 00:00:00 GMT</pubDate></item><item><title>Using Anko to run background tasks with Kotlin in Android (KAD 09)</title><link>https://antonioleiva.com/anko-background-kotlin-android</link><guid isPermaLink="true">https://antonioleiva.com/anko-background-kotlin-android</guid><description>Anko is an Android library written in Kotlin by Jetbrains, that can be used for a lot of different stuff. Its main feature is to create views by code using a…</description><pubDate>Thu, 19 Jan 2017 00:00:00 GMT</pubDate></item><item><title>Extension functions in Kotlin: Extend the Android Framework (KAD 08)</title><link>https://antonioleiva.com/extension-functions-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/extension-functions-kotlin</guid><description>Extension functions are a really cool feature that Kotlin provides, and that you&apos;ll find yourself using a lot when writing Android Apps.</description><pubDate>Wed, 11 Jan 2017 00:00:00 GMT</pubDate></item><item><title>Lambdas in Kotlin, and how they simplify Android development (KAD 07)</title><link>https://antonioleiva.com/lambdas-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/lambdas-kotlin</guid><description>Lambdas are one of the most powerful tools in Kotlin, and in any other modern language, since it allows modelling functions in a much simpler way.</description><pubDate>Thu, 05 Jan 2017 00:00:00 GMT</pubDate></item><item><title>Custom Views in Android with Kotlin (KAD 06)</title><link>https://antonioleiva.com/custom-views-android-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/custom-views-android-kotlin</guid><description>Cuando vimos el artículo sobre clases, puede que recuerdes que en general solo se usa un constructor. Este es un problema para crear custom views.</description><pubDate>Tue, 27 Dec 2016 00:00:00 GMT</pubDate></item><item><title>Kotlin integrations with Android SDK (KAD 05)</title><link>https://antonioleiva.com/kotlin-integrations-android-sdk</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-integrations-android-sdk</guid><description>Kotlin not only simplifies the code you create on this language, but also the Java code you use from Kotlin. How does this work? It simply uses some generic…</description><pubDate>Mon, 19 Dec 2016 00:00:00 GMT</pubDate></item><item><title>Classes in Kotlin: More power with less effort (KAD 03)</title><link>https://antonioleiva.com/classes-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/classes-kotlin</guid><description>Classes in Kotlin are as simple as possible so that you can express the maximum amount of logic with the less code possible.</description><pubDate>Wed, 07 Dec 2016 00:00:00 GMT</pubDate></item><item><title>Variables in Kotlin, differences with Java. var vs val (KAD 02)</title><link>https://antonioleiva.com/variables-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/variables-kotlin</guid><description>In this second chapter we will see how variables work in Kotlin, what is _val_ and _var_ , and when to use one or the other.</description><pubDate>Mon, 28 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Create your first Android project using Kotlin (KAD 01)</title><link>https://antonioleiva.com/create-first-android-project-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/create-first-android-project-kotlin</guid><description>Today I&apos;m starting a set of 30 articles about Kotlin for Android Developers (KAD). In these articles I&apos;ll be talking about the most important parts of the…</description><pubDate>Mon, 21 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Kotlin Recipes for Android (II): RecyclerView and DiffUtil</title><link>https://antonioleiva.com/recyclerview-diffutil-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/recyclerview-diffutil-kotlin</guid><description>As you may know, the Support Library 24 included a new really handy class called DiffUtil, which will let you get rid of the boring and error prone of…</description><pubDate>Mon, 12 Sep 2016 00:00:00 GMT</pubDate></item><item><title>Kotlin recipes for Android (I): OnGlobalLayoutListener</title><link>https://antonioleiva.com/kotlin-ongloballayoutlistener</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-ongloballayoutlistener</guid><description>Today a mate asked me how he could do an OnGlobalLayoutListener properly without incurring in the need of too much boilerplate. This was a tricky question…</description><pubDate>Tue, 15 Mar 2016 00:00:00 GMT</pubDate></item><item><title>Kotlin awesome tricks for Android</title><link>https://antonioleiva.com/kotlin-awesome-tricks-for-android</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-awesome-tricks-for-android</guid><description>I&apos;ve been talking a lot about Kotlin in this blog, but now that Google is also talking about Kotlin, and that Kotlin 1.0 RC has been released, there&apos;s no doubt…</description><pubDate>Thu, 04 Feb 2016 00:00:00 GMT</pubDate></item><item><title>Set a click listener to a RecyclerView</title><link>https://antonioleiva.com/recyclerview-listener</link><guid isPermaLink="true">https://antonioleiva.com/recyclerview-listener</guid><description>If you&apos;ve used a RecyclerView, you may know that they don&apos;t have a setOnItemClickListener as ListView had, so we have to create our own way to do it. Many…</description><pubDate>Mon, 14 Dec 2015 00:00:00 GMT</pubDate></item><item><title>Converting Plaid to Kotlin: Lessons learned (Part 2)</title><link>https://antonioleiva.com/plaid-kotlin-2</link><guid isPermaLink="true">https://antonioleiva.com/plaid-kotlin-2</guid><description>We saw pretty amazing improvements in the first article thanks to the use of Kotlin in an activity. But the thing is that these kind of classes are not the…</description><pubDate>Tue, 17 Nov 2015 00:00:00 GMT</pubDate></item><item><title>Converting Plaid to Kotlin: Lessons learned (Part 1)</title><link>https://antonioleiva.com/plaid-kotlin-1</link><guid isPermaLink="true">https://antonioleiva.com/plaid-kotlin-1</guid><description>People often ask me about the advantages of writing Android Apps using Kotlin. The thing is that I never directly converted an Android App from Java to Kotlin…</description><pubDate>Tue, 03 Nov 2015 00:00:00 GMT</pubDate></item><item><title>Use Voice Search to integrate with Google Now</title><link>https://antonioleiva.com/voice_search_google_now</link><guid isPermaLink="true">https://antonioleiva.com/voice_search_google_now</guid><description>One of the awesome things about Android is the ability we have to integrate our apps into the ecosystem in many different ways. Apps can talk among each…</description><pubDate>Wed, 14 Oct 2015 00:00:00 GMT</pubDate></item><item><title>Functional Android (II): Collection operations in Kotlin</title><link>https://antonioleiva.com/collection-operations-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/collection-operations-kotlin</guid><description>Lambdas are a great powerful tool to simplify code, but also to do things that were not possible before. We talked about them in the first part of the series…</description><pubDate>Tue, 29 Sep 2015 00:00:00 GMT</pubDate></item><item><title>Layout animations on RecyclerView</title><link>https://antonioleiva.com/layout-animations-on-recyclerview</link><guid isPermaLink="true">https://antonioleiva.com/layout-animations-on-recyclerview</guid><description>Since Material Design was presented, I&apos;ve been amazed by the animations some videos showed when populating a grid. If you haven&apos;t seen it, it consists of a…</description><pubDate>Tue, 08 Sep 2015 00:00:00 GMT</pubDate></item><item><title>Unleash functional power on Android (I): Kotlin lambdas</title><link>https://antonioleiva.com/functional-programming-android-kotlin-lambdas</link><guid isPermaLink="true">https://antonioleiva.com/functional-programming-android-kotlin-lambdas</guid><description>The functional programming can be a really powerful tool when used properly, and though Java 8 includes some functional tools, as you can imagine Android…</description><pubDate>Tue, 01 Sep 2015 00:00:00 GMT</pubDate></item><item><title>Branded launch screen: the new splash for Android</title><link>https://antonioleiva.com/branded-launch-screen</link><guid isPermaLink="true">https://antonioleiva.com/branded-launch-screen</guid><description>Talking about splash screens in Android has always been rather controversial. On one hand, you can find marketing teams and customers, avid of showing their…</description><pubDate>Sun, 09 Aug 2015 00:00:00 GMT</pubDate></item><item><title>Operator overloading in Kotlin</title><link>https://antonioleiva.com/operator-overloading-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/operator-overloading-kotlin</guid><description>Kotlin has a fixed number or symbolic operators we can easily use on any class. The way is to create a function with a reserved name that will be mapped to the…</description><pubDate>Wed, 05 Aug 2015 00:00:00 GMT</pubDate></item><item><title>Functional operations over Views in ViewGroup using Kotlin</title><link>https://antonioleiva.com/functional-operations-viewgroup-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/functional-operations-viewgroup-kotlin</guid><description>Collections, iterators, arrays, sequences... all share a good set of useful functions that help do transformations, sortings and other kind of operations over…</description><pubDate>Wed, 29 Jul 2015 00:00:00 GMT</pubDate></item><item><title>API request in Android the easy way using Kotlin</title><link>https://antonioleiva.com/api-request-kotlin</link><guid isPermaLink="true">https://antonioleiva.com/api-request-kotlin</guid><description>Kotlin is a really powerful language aimed to write more code using less boilerplate. And this is specially true in Android. Apart from the language itself and…</description><pubDate>Tue, 21 Jul 2015 00:00:00 GMT</pubDate></item><item><title>Kotlin for Android Developers: The book</title><link>https://antonioleiva.com/kotlin-android-developers</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-android-developers</guid><description>Hi dear reader. Today it&apos;s a very special post, because I&apos;m really happy to announce the release of my first book: Kotlin for Android Developers</description><pubDate>Tue, 14 Jul 2015 00:00:00 GMT</pubDate></item><item><title>Design Support Library (IV): Collapsing Toolbar Layout</title><link>https://antonioleiva.com/collapsing-toolbar-layout</link><guid isPermaLink="true">https://antonioleiva.com/collapsing-toolbar-layout</guid><description>One of the most amazing things about Design Support Library is that we can create lively animated UIs with some simple configuration in XML. No code nor deep…</description><pubDate>Thu, 09 Jul 2015 00:00:00 GMT</pubDate></item><item><title>Design Support Library (III): Coordinator Layout</title><link>https://antonioleiva.com/coordinator-layout</link><guid isPermaLink="true">https://antonioleiva.com/coordinator-layout</guid><description>Today, I´d like to take a look to the Coordinator Layout and some basic ideas about App Bar Layout. Together, they can do some nice animated effects. In this…</description><pubDate>Tue, 30 Jun 2015 00:00:00 GMT</pubDate></item><item><title>Design Support Library (II): Floating Action Button</title><link>https://antonioleiva.com/floating-action-button</link><guid isPermaLink="true">https://antonioleiva.com/floating-action-button</guid><description>If you already read the first article regarding Navigation View, you may be wondering what else the new Android Design support library can do for you. In this…</description><pubDate>Tue, 09 Jun 2015 00:00:00 GMT</pubDate></item><item><title>Design Support Library (I): Navigation View</title><link>https://antonioleiva.com/navigation-view</link><guid isPermaLink="true">https://antonioleiva.com/navigation-view</guid><description>Google I/O 2015 has brought a whole new set of tools for Android Developers which are meant to make our lives easier. I´d like to devote a set of articles to…</description><pubDate>Sun, 31 May 2015 00:00:00 GMT</pubDate></item><item><title>Kotlin for Android (IV): Custom Views and Android Extensions</title><link>https://antonioleiva.com/kotlin-android-custom-views</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-android-custom-views</guid><description>After reading what extension functions and default values can do for you, you might be wondering what´s next. As we talked in first article about Kotlin, this…</description><pubDate>Thu, 07 May 2015 00:00:00 GMT</pubDate></item><item><title>Kotlin for Android (III): Extension functions and default values</title><link>https://antonioleiva.com/kotlin-android-extension-functions</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-android-extension-functions</guid><description>Now that you know the basics about Kotlin and how to configure your project, it´s time to talk about some interesting things that Kotlin can do for us and Java…</description><pubDate>Mon, 06 Apr 2015 00:00:00 GMT</pubDate></item><item><title>Kotlin for Android (II): Create a new project</title><link>https://antonioleiva.com/kotlin-android-create-project</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-android-create-project</guid><description>After getting a light idea of what Kotlin is and what it can do for us: Introduction&quot;), it´s time to configure Android Studio to help us develop Android apps…</description><pubDate>Mon, 23 Mar 2015 00:00:00 GMT</pubDate></item><item><title>Kotlin for Android (I): Introduction</title><link>https://antonioleiva.com/kotlin-for-android-introduction</link><guid isPermaLink="true">https://antonioleiva.com/kotlin-for-android-introduction</guid><description>Kotlin is one of the many JVM based languages that are starting to emerge as a possible Java successor in Android development. Java is one of the most used…</description><pubDate>Mon, 09 Mar 2015 00:00:00 GMT</pubDate></item><item><title>Add multiple resource folders to an Android App</title><link>https://antonioleiva.com/android-multiple-resource-folders</link><guid isPermaLink="true">https://antonioleiva.com/android-multiple-resource-folders</guid><description>In large projects, it´s very common that the resources folder grows and grows and becomes hard to organize and maintain. There is a very simple way to create…</description><pubDate>Tue, 03 Mar 2015 00:00:00 GMT</pubDate></item><item><title>Materialize your App</title><link>https://antonioleiva.com/materialize-app</link><guid isPermaLink="true">https://antonioleiva.com/materialize-app</guid><description>On January 31st, I was asked to give a talk at MaterialFest, and awesome event organised by GDG Cádiz (Spain), where developers and designers were all together…</description><pubDate>Sun, 08 Feb 2015 00:00:00 GMT</pubDate></item><item><title>Material Design Everywhere: Using AppCompat 21</title><link>https://antonioleiva.com/material-design-everywhere</link><guid isPermaLink="true">https://antonioleiva.com/material-design-everywhere</guid><description>We were all hoping that the new support APIs included Material Design, the new theme adopted since Android 5.0 Lollipop. And it luckily happened: this new…</description><pubDate>Fri, 17 Oct 2014 00:00:00 GMT</pubDate></item><item><title>RecyclerView in Android: The basics</title><link>https://antonioleiva.com/recyclerview</link><guid isPermaLink="true">https://antonioleiva.com/recyclerview</guid><description>Google I/O this week brought a lot of exciting news about Android, and we probably need quite some time to get used to what Android L is bringing.</description><pubDate>Sun, 29 Jun 2014 00:00:00 GMT</pubDate></item><item><title>Dagger: Scoped object graphs (Part 3)</title><link>https://antonioleiva.com/dagger-3</link><guid isPermaLink="true">https://antonioleiva.com/dagger-3</guid><description>If you&apos;ve been following this series, you already read about dependency injection basics on part 1&quot;) and Dagger fundamentals on part 2&quot;). This last part about…</description><pubDate>Thu, 19 Jun 2014 00:00:00 GMT</pubDate></item><item><title>Dagger: dependency injection on Android (Part 2)</title><link>https://antonioleiva.com/dagger-android-part-2</link><guid isPermaLink="true">https://antonioleiva.com/dagger-android-part-2</guid><description>If you read first post about dependency injection&quot;), you will probably be looking for some real code. There are some beautiful examples about coffee makers at…</description><pubDate>Thu, 12 Jun 2014 00:00:00 GMT</pubDate></item><item><title>Dependency injection on Android: Dagger (Part 1)</title><link>https://antonioleiva.com/dependency-injection-android-dagger-part-1</link><guid isPermaLink="true">https://antonioleiva.com/dependency-injection-android-dagger-part-1</guid><description>On this new series I will explain what dependency injection is, what its main purpose is and how to use it on an Android project by using Dagger the best know…</description><pubDate>Wed, 04 Jun 2014 00:00:00 GMT</pubDate></item><item><title>SwipeRefreshLayout: How to use</title><link>https://antonioleiva.com/swiperefreshlayout</link><guid isPermaLink="true">https://antonioleiva.com/swiperefreshlayout</guid><description>Last support library update has included an interesting and unexpected layout: SwipeRefresLayout. It is a standard way to implement the common Pull to Refresh…</description><pubDate>Fri, 28 Mar 2014 00:00:00 GMT</pubDate></item><item><title>The power of TextView  (Part 1): Drawables</title><link>https://antonioleiva.com/textview_power_drawables</link><guid isPermaLink="true">https://antonioleiva.com/textview_power_drawables</guid><description>TextViews are one of the basis of Android UI framework. Buttons, EditTexts, RadioButtons are, indeed, TextViews. And they are also one of the most powerful…</description><pubDate>Thu, 30 Jan 2014 00:00:00 GMT</pubDate></item><item><title>Lead your Android App to success with Google Analytics (part 2)</title><link>https://antonioleiva.com/lead-your-android-app-to-success-with-google-analytics-part-2</link><guid isPermaLink="true">https://antonioleiva.com/lead-your-android-app-to-success-with-google-analytics-part-2</guid><description>First part was about how to integrate Google Analytics in your Android App&quot;). I will now explain how to get the most out of it by registrating visits from any…</description><pubDate>Sun, 13 Oct 2013 00:00:00 GMT</pubDate></item><item><title>Lead your Android App to success with Google Analytics (part 1)</title><link>https://antonioleiva.com/lead-android-app-success-google-analytics-part-1</link><guid isPermaLink="true">https://antonioleiva.com/lead-android-app-success-google-analytics-part-1</guid><description>Analytics lets you know how the user interacts with your application and that may help you take some decisions, such as:</description><pubDate>Sun, 06 Oct 2013 00:00:00 GMT</pubDate></item><item><title>ActionBarCompat (Part 3): Migrating from ActionBarSherlock</title><link>https://antonioleiva.com/actionbarcompat-migrating-actionbarsherlock</link><guid isPermaLink="true">https://antonioleiva.com/actionbarcompat-migrating-actionbarsherlock</guid><description>After learning some basic rules to work with ActionBarCompat: Action Views&quot;), you will probably need to migrate some apps from ActionBarSherlock to…</description><pubDate>Tue, 30 Jul 2013 00:00:00 GMT</pubDate></item><item><title>ActionBarCompat (Part 2): Action Views</title><link>https://antonioleiva.com/actionbarcompat-action-views</link><guid isPermaLink="true">https://antonioleiva.com/actionbarcompat-action-views</guid><description>In the first part of this tutorial series I talked about how to use _ActionBarCompat_ in our projects: How to use&quot;). Once you have set the theme, extended…</description><pubDate>Sun, 28 Jul 2013 00:00:00 GMT</pubDate></item><item><title>ActionBarCompat (Part 1): How to use</title><link>https://antonioleiva.com/actionbarcompat-how-to-use</link><guid isPermaLink="true">https://antonioleiva.com/actionbarcompat-how-to-use</guid><description>Google has released a new version of its Support Library and it finally includes ActionBarCompat. We don&apos;t know if ActionBarSherlock days of glory are over…</description><pubDate>Thu, 25 Jul 2013 00:00:00 GMT</pubDate></item><item><title>Unveiling Bandhook (I): Foreground over any Layout</title><link>https://antonioleiva.com/unveiling-bandhook-foreground-any-layout</link><guid isPermaLink="true">https://antonioleiva.com/unveiling-bandhook-foreground-any-layout</guid><description>After releasing Bandhook on Play Store, I received many questions about how to implement some parts of the interface, so I decided to create a series of…</description><pubDate>Wed, 10 Jul 2013 00:00:00 GMT</pubDate></item><item><title>Android Unit Testing using Robolectric (I): Introduction</title><link>https://antonioleiva.com/android-unit-testing-using-robolectric-introduction</link><guid isPermaLink="true">https://antonioleiva.com/android-unit-testing-using-robolectric-introduction</guid><description>Unit tests have become an invaluable tool in recent times due to the increasing complexity of coding and new agile methodologies, which keep the code alive…</description><pubDate>Sun, 07 Jul 2013 00:00:00 GMT</pubDate></item></channel></rss>