56,966 blogs Β· [ { "id": "01a07df0-9957-7200-8a59-47e0a361de81", "title": "What Is Loop Engineering? A Practical Codex Example", "url": "https://antonioleiva.com/what-is-loop-engineering-practical-codex-example", "published_at": "2026-07-08T10:30:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a410e019", "title": "A 1Password Runtime for Local Agents and Desktop Apps", "url": "https://antonioleiva.com/1password-runtime-local-agents-desktop-apps", "published_at": "2026-06-24T08:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a4d28642", "title": "How to Enable Gemma 4 Thinking Mode in LM Studio and OpenCode", "url": "https://antonioleiva.com/enable-gemma-thinking-mode-lm-studio-opencode", "published_at": "2026-04-08T15:10:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a4d3320b", "title": "MCPs Are More Alive Than Ever", "url": "https://antonioleiva.com/mcps-are-more-alive-than-ever", "published_at": "2026-03-26T11:30:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a5732d6b", "title": "Why I Don’t Think Token Subsidies Are Going Away", "url": "https://antonioleiva.com/token-subsidy-future-of-ai", "published_at": "2026-03-16T10:30:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a5ef97fd", "title": "The End of IDEs and Agentic CLIs? The Rise of ADEs", "url": "https://antonioleiva.com/end-of-ides-and-agentic-clis-rise-of-ades", "published_at": "2026-03-10T11:25:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a6c0d353", "title": "My AI wrote garbage code. And that was exactly what I needed.", "url": "https://antonioleiva.com/my-ai-wrote-garbage-code-and-that-was-exactly-right", "published_at": "2026-03-02T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a71bbd1e", "title": "My Complete Agentic Development & Productivity Setup in 2026", "url": "https://antonioleiva.com/agentic-dev-setup-2026", "published_at": "2026-02-23T14:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a722c007", "title": "How I Built an Autonomous Development System with AI Agents", "url": "https://antonioleiva.com/autonomous-dev-agents-system-en", "published_at": "2026-02-16T14:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a7a9ff98", "title": "Skills: The Hidden Engine of AI Agents (And Why You Don't Need a 'Magic Bot')", "url": "https://antonioleiva.com/hype-vs-reality-skills", "published_at": "2026-01-29T10:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a878fd57", "title": "ClawdBot: Is it safe to give your terminal to an AI? Survival Guide", "url": "https://antonioleiva.com/clawdbot-security-guide", "published_at": "2026-01-26T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a8b2ec8f", "title": "How I reorganized all my repos with AI (and fixed my GitHub profiles in the process)", "url": "https://antonioleiva.com/reorganize-repos-with-ai-github-profiles", "published_at": "2026-01-03T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a92cfedc", "title": "The year AI threatened our jobs: 2025 review and goals for 2026", "url": "https://antonioleiva.com/analysis-2025-goals-2026", "published_at": "2025-12-30T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a940e120", "title": "Do we need training to use AI?", "url": "https://antonioleiva.com/need-ai-training", "published_at": "2025-12-27T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0a9601d2c", "title": "LLM Duel: Gemini 3 Flash vs Opus 4.5 vs GPT-5.2-Codex vs GLM-4.7", "url": "https://antonioleiva.com/llm-duel-gemini-opus-gpt-glm", "published_at": "2025-12-23T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0aa31c85a", "title": "Closing the AI Loop in Software Development", "url": "https://antonioleiva.com/closing-circle-ai", "published_at": "2025-10-22T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0aa3b179b", "title": "How to deploy an Astro SSR app to Coolify", "url": "https://antonioleiva.com/astro-ssr-coolify", "published_at": "2025-06-03T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0aaa98356", "title": "Live Templates on Android Studio and IntellliJ to improve your productivity", "url": "https://antonioleiva.com/live-templates-android-studio", "published_at": "2020-06-09T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0ab8e06c2", "title": "View Binding: The Definitive way to access views on Android", "url": "https://antonioleiva.com/view-binding-android", "published_at": "2020-05-21T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0ac5eba43", "title": "[LIVE] Answering all your questions: MVVM, Work-Life balance, career progression, football..? πŸ˜‚", "url": "https://antonioleiva.com/live-answer-questions", "published_at": "2019-08-25T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0ac776a69", "title": "COIL: The Next-Gen IMAGE LOADER for Android [Coroutines Based!] πŸš€", "url": "https://antonioleiva.com/coil-image-loader-android", "published_at": "2019-08-13T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0ad3d6129", "title": "Dependency Injection - All the Must-Know Concepts to start using it", "url": "https://antonioleiva.com/dependency-injection-principles", "published_at": "2019-06-26T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0ad7aabd0", "title": "Living by the code, with Enrique LΓ³pez [Droidkast LIVE 7]", "url": "https://antonioleiva.com/living-by-the-code-enrique-lopez", "published_at": "2019-06-24T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0adaab59e", "title": "Koin for dependency injection on Android. Is Dagger dead?", "url": "https://antonioleiva.com/koin-vs-dagger", "published_at": "2019-06-13T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0ae6e088c", "title": "Antonio Leiva interviewed by Fernando Cejas - Celebrating 1k subs on YouTube [Droidkast LIVE 6]", "url": "https://antonioleiva.com/antonio-leiva-interviewed-by-fernando-cejas", "published_at": "2019-06-04T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0af3a9026", "title": "Data Binding on Android to implement the real MVVM", "url": "https://antonioleiva.com/data-binding-on-android-to-implement-the-real-mvvm", "published_at": "2019-05-15T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0afac3b19", "title": "Google I/O 2019 - What's new for Android Developers", "url": "https://antonioleiva.com/google-io-2019", "published_at": "2019-05-09T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b03d44dd", "title": "Self-publishing: My experience with Kotlin for Android Developers", "url": "https://antonioleiva.com/self-publishing", "published_at": "2019-04-03T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b0f25268", "title": "Flutter: Mobile Development for Busy People, Lara Martin [Droidkast LIVE 05]", "url": "https://antonioleiva.com/flutter-mobile-development-for-busy-people-droidkast-05", "published_at": "2019-03-26T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b1cf773e", "title": "You need to learn Kotlin now! if you are an #AndroidDev", "url": "https://antonioleiva.com/learn-kotlin", "published_at": "2019-03-13T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b1dccba2", "title": "What Android devs wish they had known when starting out, with Nate Ebel [Droidkast LIVE 04]", "url": "https://antonioleiva.com/what-android-devs-wish-they-had-known-when-starting-out-droidkast-04", "published_at": "2019-03-06T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b1eb0358", "title": "Modularizing Android Apps, with Joe Birch [Droidkast LIVE 03]", "url": "https://antonioleiva.com/modularizing-android-apps-droidkast-03", "published_at": "2019-02-18T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b2c9bf02", "title": "Coroutines in Kotlin 1.3 explained: Suspending functions, contexts, builders and scopes", "url": "https://antonioleiva.com/kotlin-coroutines", "published_at": "2019-01-31T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b33abaa0", "title": "ConstraintLayout 2.0 with MotionLayout, with Huyen Tue Dao [Droidkast LIVE 02]", "url": "https://antonioleiva.com/constraint-motion-layout-droidkast-02", "published_at": "2019-01-23T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b3fb2960", "title": "The Art of Coding: Disasters and Failures, with Fernando Cejas [Droidkast LIVE 01]", "url": "https://antonioleiva.com/art-of-coding-droidkast-01", "published_at": "2019-01-18T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b494272b", "title": "The year that changed it all: Analysis of 2018 and goals for 2019", "url": "https://antonioleiva.com/analysis-2018-goals-2019", "published_at": "2019-01-01T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b57a2842", "title": "MVVM with architecture components: a step by step guideline for MVP lovers", "url": "https://antonioleiva.com/mvvm-vs-mvp", "published_at": "2018-12-12T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b5c3f0d8", "title": "Clean architecture for Android with Kotlin: a pragmatic approach for starters", "url": "https://antonioleiva.com/clean-architecture-android", "published_at": "2018-09-30T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b6105470", "title": "How my world is changing today", "url": "https://antonioleiva.com/world-changing-today", "published_at": "2018-09-21T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b6ce620d", "title": "MVP for Android: how to organize the presentation layer", "url": "https://antonioleiva.com/mvp-android", "published_at": "2018-07-04T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b70fa922", "title": "Hacking Architecture Components by using Kotlin", "url": "https://antonioleiva.com/architecture-components-kotlin", "published_at": "2018-03-13T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b7349c23", "title": "Yo Dawg! I heard you like Kotlin (Talk at Devfest Baltics)", "url": "https://antonioleiva.com/yo-dawg-heard-like-kotlin", "published_at": "2018-01-15T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b75bc139", "title": "Time for accountability: Analysis of 2017 and goals for 2018", "url": "https://antonioleiva.com/analysis-2017-goals-2018", "published_at": "2017-12-25T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b7e7da33", "title": "Listeners with several functions in Kotlin. How to make them shine?", "url": "https://antonioleiva.com/listeners-several-functions-kotlin", "published_at": "2017-12-06T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b835b09e", "title": "Calling Kotlin from Java: start using Kotlin today (KAD 29)", "url": "https://antonioleiva.com/kotlin-from-java", "published_at": "2017-11-29T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b92e7b6c", "title": "Function references in Kotlin: use functions as lambdas everywhere", "url": "https://antonioleiva.com/function-references-kotlin", "published_at": "2017-11-22T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b9666fcd", "title": "Anko layouts on Android. Should I forget about XMLs?", "url": "https://antonioleiva.com/anko-layouts-android", "published_at": "2017-11-14T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b97afad4", "title": "Kotlin DSL to write Gradle scripts on Android: Step by step walkthrough", "url": "https://antonioleiva.com/kotlin-dsl-gradle", "published_at": "2017-11-10T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0b9d5dc3e", "title": "Why Kotlin for Android online course is different from any other", "url": "https://antonioleiva.com/kotlin-android-online-course", "published_at": "2017-09-02T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0ba1dbff6", "title": "Kotlin Android Extensions: Say goodbye to findViewById (KAD 04)", "url": "https://antonioleiva.com/kotlin-android-extensions", "published_at": "2017-08-16T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0ba9af6a3", "title": "12 reasons why you should start using Kotlin for Android today (KAD 30)", "url": "https://antonioleiva.com/reasons-kotlin-android", "published_at": "2017-07-11T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0bb735ea7", "title": "Sealed classes in Kotlin: enums with super-powers (KAD 28)", "url": "https://antonioleiva.com/sealed-classes-kotlin", "published_at": "2017-06-27T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0bc3efc76", "title": "Objects in Kotlin: Create safe singletons in one line of code (KAD 27)", "url": "https://antonioleiva.com/objects-kotlin", "published_at": "2017-06-20T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0bc5fdb9c", "title": "Interfaces in Kotlin. Who said interfaces can't have code? (KAD 26)", "url": "https://antonioleiva.com/interfaces-kotlin", "published_at": "2017-06-06T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0bcfcefb5", "title": "Databases on Android with Anko and Kotlin: SQLite never was so easy (KAD 25)", "url": "https://antonioleiva.com/databases-anko-kotlin", "published_at": "2017-05-30T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0bd7f1ffa", "title": "What do 17 Google Developers Experts for Android think about Kotlin?", "url": "https://antonioleiva.com/google-kotlin", "published_at": "2017-05-15T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0be531b04", "title": "Dialogs and alerts on Android using Anko and Kotlin (KAD 24)", "url": "https://antonioleiva.com/dialogs-android-anko-kotlin", "published_at": "2017-05-09T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0bf43ec43", "title": "How to mock final classes on Kotlin using Mockito 2 (KAD 23)", "url": "https://antonioleiva.com/mockito-2-kotlin", "published_at": "2017-05-02T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0bf7cc56e", "title": "Unit tests on Android with Kotlin (KAD 22)", "url": "https://antonioleiva.com/unit-tests-android-kotlin", "published_at": "2017-04-25T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0bfee1cf5", "title": "How to use Retrofit on android with Kotlin (KAD 21)", "url": "https://antonioleiva.com/retrofit-android-kotlin", "published_at": "2017-04-18T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c075830d", "title": "How to use Dagger 2 on Android with Kotlin (KAD 20)", "url": "https://antonioleiva.com/dagger-android-kotlin", "published_at": "2017-04-11T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c0c0efc1", "title": "Say goodbye to NullPointerException. Working with nulls in Kotlin (KAD 19)", "url": "https://antonioleiva.com/nullity-kotlin", "published_at": "2017-04-04T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c182eeb8", "title": "How lambdas work in Kotlin. setOnClickListener transformation (KAD 18)", "url": "https://antonioleiva.com/lambdas-kotlin-android", "published_at": "2017-03-28T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c2098d18", "title": "Operator Overload in Kotlin: Add standard operations to any class (KAD 17)", "url": "https://antonioleiva.com/operator-overload-kotlin", "published_at": "2017-03-21T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c24f7e6c", "title": "Writing a RecyclerView Adapter in Kotlin (KAD 16)", "url": "https://antonioleiva.com/recyclerview-adapter-kotlin", "published_at": "2017-03-14T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c3395ea8", "title": "Property delegation in Kotlin: Assign values in Android without having the context (KAD 15)", "url": "https://antonioleiva.com/property-delegation-kotlin", "published_at": "2017-03-09T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c38e7e2d", "title": "Reified Types in Kotlin: how to use the type within a function (KAD 14)", "url": "https://antonioleiva.com/reified-types-kotlin", "published_at": "2017-03-02T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c3be688f", "title": "Using \"when\" expression in Kotlin: The \"switch\" with super powers (KAD 13)", "url": "https://antonioleiva.com/when-expression-kotlin", "published_at": "2017-02-23T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c3dd333e", "title": "Take Realm to the next level with Kotlin", "url": "https://antonioleiva.com/kotlin-realm-extensions", "published_at": "2017-02-14T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c411699f", "title": "Ninja Functions in Kotlin. Understanding the power of generics (KAD 12)", "url": "https://antonioleiva.com/generic-functions-kotlin", "published_at": "2017-02-08T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c497f013", "title": "Functional operations with collections in Kotlin (KAD 11)", "url": "https://antonioleiva.com/functional-operations-collections-kotlin", "published_at": "2017-02-02T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c54581b1", "title": "Data Classes in Kotlin: save a good bunch of lines of code (KAD 10)", "url": "https://antonioleiva.com/data-classes-kotlin", "published_at": "2017-01-25T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c5ac65b0", "title": "Using Anko to run background tasks with Kotlin in Android (KAD 09)", "url": "https://antonioleiva.com/anko-background-kotlin-android", "published_at": "2017-01-19T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c681fc4c", "title": "Extension functions in Kotlin: Extend the Android Framework (KAD 08)", "url": "https://antonioleiva.com/extension-functions-kotlin", "published_at": "2017-01-11T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c733f55f", "title": "Lambdas in Kotlin, and how they simplify Android development (KAD 07)", "url": "https://antonioleiva.com/lambdas-kotlin", "published_at": "2017-01-05T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c77de40b", "title": "Custom Views in Android with Kotlin (KAD 06)", "url": "https://antonioleiva.com/custom-views-android-kotlin", "published_at": "2016-12-27T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c8515e9b", "title": "Kotlin integrations with Android SDK (KAD 05)", "url": "https://antonioleiva.com/kotlin-integrations-android-sdk", "published_at": "2016-12-19T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c900e925", "title": "Classes in Kotlin: More power with less effort (KAD 03)", "url": "https://antonioleiva.com/classes-kotlin", "published_at": "2016-12-07T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c9452a02", "title": "Variables in Kotlin, differences with Java. var vs val (KAD 02)", "url": "https://antonioleiva.com/variables-kotlin", "published_at": "2016-11-28T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0c9c6d2f9", "title": "Create your first Android project using Kotlin (KAD 01)", "url": "https://antonioleiva.com/create-first-android-project-kotlin", "published_at": "2016-11-21T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0ca40c5ef", "title": "Kotlin Recipes for Android (II): RecyclerView and DiffUtil", "url": "https://antonioleiva.com/recyclerview-diffutil-kotlin", "published_at": "2016-09-12T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cac032cf", "title": "Kotlin recipes for Android (I): OnGlobalLayoutListener", "url": "https://antonioleiva.com/kotlin-ongloballayoutlistener", "published_at": "2016-03-15T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cb630bfc", "title": "Kotlin awesome tricks for Android", "url": "https://antonioleiva.com/kotlin-awesome-tricks-for-android", "published_at": "2016-02-04T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cbb3c59a", "title": "Set a click listener to a RecyclerView", "url": "https://antonioleiva.com/recyclerview-listener", "published_at": "2015-12-14T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cbc77a75", "title": "Converting Plaid to Kotlin: Lessons learned (Part 2)", "url": "https://antonioleiva.com/plaid-kotlin-2", "published_at": "2015-11-17T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cc851e48", "title": "Converting Plaid to Kotlin: Lessons learned (Part 1)", "url": "https://antonioleiva.com/plaid-kotlin-1", "published_at": "2015-11-03T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cd73f53e", "title": "Use Voice Search to integrate with Google Now", "url": "https://antonioleiva.com/voice_search_google_now", "published_at": "2015-10-14T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0ce6d4ac2", "title": "Functional Android (II): Collection operations in Kotlin", "url": "https://antonioleiva.com/collection-operations-kotlin", "published_at": "2015-09-29T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cedaeeb5", "title": "Layout animations on RecyclerView", "url": "https://antonioleiva.com/layout-animations-on-recyclerview", "published_at": "2015-09-08T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cf25f928", "title": "Unleash functional power on Android (I): Kotlin lambdas", "url": "https://antonioleiva.com/functional-programming-android-kotlin-lambdas", "published_at": "2015-09-01T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cf720112", "title": "Branded launch screen: the new splash for Android", "url": "https://antonioleiva.com/branded-launch-screen", "published_at": "2015-08-09T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cf72bcf8", "title": "Operator overloading in Kotlin", "url": "https://antonioleiva.com/operator-overloading-kotlin", "published_at": "2015-08-05T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cf7ae4c9", "title": "Functional operations over Views in ViewGroup using Kotlin", "url": "https://antonioleiva.com/functional-operations-viewgroup-kotlin", "published_at": "2015-07-29T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cfe1710e", "title": "API request in Android the easy way using Kotlin", "url": "https://antonioleiva.com/api-request-kotlin", "published_at": "2015-07-21T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0cff642ec", "title": "Kotlin for Android Developers: The book", "url": "https://antonioleiva.com/kotlin-android-developers", "published_at": "2015-07-14T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0d041e997", "title": "Design Support Library (IV): Collapsing Toolbar Layout", "url": "https://antonioleiva.com/collapsing-toolbar-layout", "published_at": "2015-07-09T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0d13019cf", "title": "Design Support Library (III): Coordinator Layout", "url": "https://antonioleiva.com/coordinator-layout", "published_at": "2015-06-30T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0d1b248b3", "title": "Design Support Library (II): Floating Action Button", "url": "https://antonioleiva.com/floating-action-button", "published_at": "2015-06-09T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0d2a8c0f6", "title": "Design Support Library (I): Navigation View", "url": "https://antonioleiva.com/navigation-view", "published_at": "2015-05-31T00:00:00+00:00" }, { "id": "01a07df0-9957-7200-8a59-47e0d30e1a86", "title": "Kotlin for Android (IV): Custom Views and Android Extensions", "url": "https://antonioleiva.com/kotlin-android-custom-views", "published_at": "2015-05-07T00:00:00+00:00" } ] posts Claim your blog
Back to Antonio Leiva
Blog Β· corpus.blog/blogs/antonioleiva.com/posts

Antonio Leiva

antonioleiva.com

2026

2025

2020

2019

2018

2017

2016

2015