56,966 blogs · [ { "id": "01a08729-3807-7216-b106-7fb508c267d1", "title": "Leave Me Behind", "url": "http://androidessence.com/leave-me-behind/", "published_at": "2026-05-17T00:00:00+00:00" }, { "id": "01a08729-3807-7216-b106-7fb5096c3c22", "title": "Managing Multi Table Inserts With Room", "url": "http://androidessence.com/multi-table-inserts/", "published_at": "2026-04-25T00:00:00+00:00" }, { "id": "01a08729-3807-7216-b106-7fb50a0fcb1f", "title": "Reflecting On A Decade Of Content Creation", "url": "http://androidessence.com/reflecting-on-a-decade/", "published_at": "2025-09-02T00:00:00+00:00" }, { "id": "01a08729-3807-7216-b106-7fb50b0b054e", "title": "Sharing Shared Element Keys", "url": "http://androidessence.com/sharing-shared-element-keys/", "published_at": "2025-08-24T00:00:00+00:00" }, { "id": "01a08729-3807-7216-b106-7fb50bc57853", "title": "Wrapping Android XR For KMP", "url": "http://androidessence.com/android-xr-kmp/", "published_at": "2024-12-19T00:00:00+00:00" }, { "id": "01a08729-3807-7216-b106-7fb50bcc16ac", "title": "Interface Naming Conventions", "url": "http://androidessence.com/interface-naming-conventions/", "published_at": "2023-02-05T00:00:00+00:00" }, { "id": "01a08729-3807-7216-b106-7fb50c9c0991", "title": "The Imposter's Guide To Dependency Injection", "url": "http://androidessence.com/the-imposter-guide-to-dependency-injection/", "published_at": "2022-01-31T00:00:00+00:00" }, { "id": "01a08729-3807-7216-b106-7fb50d56a805", "title": "Five Essential Developer Experience Concepts For Android", "url": "http://androidessence.com/essential-dev-experience-concepts-android/", "published_at": "2021-09-10T00:00:00+00:00" }, { "id": "01a08729-3807-7216-b106-7fb50de642cb", "title": "Tasks Of Affirmation: A New Twitch Live Stream Series", "url": "http://androidessence.com/toa-twitch-series/", "published_at": "2021-09-02T00:00:00+00:00" }, { "id": "01a08729-3807-7216-b106-7fb50e906ca7", "title": "Unit Testing Custom Lint Checks", "url": "http://androidessence.com/unit-testing-custom-lint-checks/", "published_at": "2021-03-01T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8755f721661", "title": "Enforcing Custom View Usage With Android Lint", "url": "http://androidessence.com/enforce-custom-views-with-lint/", "published_at": "2021-02-22T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756025a3d3", "title": "Storing Network Responses With Apollo Normalized Cache", "url": "http://androidessence.com/storing-network-responses-with-apollo-normalized-cache/", "published_at": "2021-02-05T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b875606ce4df", "title": "Storing Network Responses With Apollo HTTP Cache", "url": "http://androidessence.com/storing-network-responses-with-apollo-http-cache/", "published_at": "2021-02-01T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756126ea00", "title": "Comparing Three Dependency Injection Solutions", "url": "http://androidessence.com/comparing-three-dependency-injection-solutions/", "published_at": "2020-08-22T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87561b5899f", "title": "Mastering Room Database Migrations", "url": "http://androidessence.com/mastering-room-database-migrations/", "published_at": "2020-05-14T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87561e07e28", "title": "Room Relationship Recap", "url": "http://androidessence.com/room-relationship-recap/", "published_at": "2020-04-27T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b875627190ae", "title": "Getting Started With Test Driven Development", "url": "http://androidessence.com/test-driven-development/", "published_at": "2020-03-02T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756326c329", "title": "Contributing Code Samples To Kotlin Documentation", "url": "http://androidessence.com/contributing-to-kotlin/", "published_at": "2020-02-24T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87563f4a90c", "title": "MVWTF: Demystifying Architecture Patterns", "url": "http://androidessence.com/mvwtf/", "published_at": "2019-08-16T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87563f59f38", "title": "Repository Pattern: Properly Organizing Your Data Layer", "url": "http://androidessence.com/repository-pattern/", "published_at": "2019-05-20T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87564cd3e14", "title": "Unit Testing RxJava Or Coroutine Code With Constructor Injection", "url": "http://androidessence.com/unit-testing-async-code/", "published_at": "2019-04-30T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87564e272d5", "title": "Showing A Fragment For A Result", "url": "http://androidessence.com/starting-fragment-for-result/", "published_at": "2019-01-04T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b875654cf6dd", "title": "Building An Application With MVVM", "url": "http://androidessence.com/building-an-app-with-mvvm/", "published_at": "2018-10-28T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87565fe8346", "title": "Building An Application With MVP", "url": "http://androidessence.com/building-an-app-with-mvp/", "published_at": "2018-10-20T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87566f8559a", "title": "Breaking The Buzzwords Barrier Part 3: ViewModel", "url": "http://androidessence.com/breaking-the-buzzwords-barrier-viewmodel/", "published_at": "2018-06-01T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756765bcab", "title": "Breaking The Buzzwords Barrier Part 2: Rx, Room, and Repository", "url": "http://androidessence.com/breaking-the-buzzwords-barrier-room-rx-repository/", "published_at": "2018-05-31T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b875677a388f", "title": "Breaking The Buzzwords Barrier", "url": "http://androidessence.com/breaking-the-buzzwords-barrier/", "published_at": "2018-05-30T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87567cd5ef1", "title": "Breaking The Buzzwords Barrier Part 1: MVVM", "url": "http://androidessence.com/breaking-the-buzzwords-barrier-mvvm/", "published_at": "2018-05-30T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756817225c", "title": "Fingerprint Authentication Tutorial", "url": "http://androidessence.com/fingerprint-authentication-tutorial/", "published_at": "2018-01-02T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b875683ed949", "title": "Developing And Publishing Android Libraries", "url": "http://androidessence.com/developing-and-publishing-android-libraries/", "published_at": "2017-10-19T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87568505e74", "title": "App Review: Digilux", "url": "http://androidessence.com/app-review-digilux/", "published_at": "2017-10-09T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87569319892", "title": "Leveraging The Robot Pattern For Espresso Tests", "url": "http://androidessence.com/leveraging-the-robot-pattern-for-espresso-tests/", "published_at": "2017-07-04T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b875694c4e58", "title": "Understanding Nullability In Kotlin", "url": "http://androidessence.com/understanding-nullability-in-kotlin/", "published_at": "2017-06-28T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87569b81f31", "title": "Getting Started With Room Persistence Library", "url": "http://androidessence.com/getting-started-with-room-persistence-library/", "published_at": "2017-06-10T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756a9c2568", "title": "How To Build A Todo List In Kotlin Part 1: Creating A New Project", "url": "http://androidessence.com/how-to-build-a-todo-list-in-kotlin-part-1-new-project/", "published_at": "2017-05-21T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756b106473", "title": "How To Build A Todo List In Kotlin Part 2: Implementing A RecyclerView", "url": "http://androidessence.com/how-to-build-a-todo-list-in-kotlin-part-2-recyclerview/", "published_at": "2017-05-21T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756b272001", "title": "How To Build A Todo List In Kotlin Part 3: Adding Items", "url": "http://androidessence.com/how-to-build-a-todo-list-in-kotlin-part-3-adding-items/", "published_at": "2017-05-21T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756bc3c869", "title": "How To Build A Todo List In Kotlin Part 4: Storing Items", "url": "http://androidessence.com/how-to-build-a-todo-list-in-kotlin-part-4-storing-items/", "published_at": "2017-05-21T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756c928799", "title": "Maintain Library Versions ACross Modules", "url": "http://androidessence.com/maintain-library-versions-across-modules/", "published_at": "2017-05-05T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756c991f0c", "title": "Creating Android App Shortcuts", "url": "http://androidessence.com/creating-android-app-shortcuts/", "published_at": "2017-04-14T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756d1f7568", "title": "PinchZoomTextView Library Released", "url": "http://androidessence.com/pinchzoomtextview-library-released/", "published_at": "2016-11-27T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756dbd534f", "title": "Getting Started With Retrofit In Android", "url": "http://androidessence.com/getting-started-with-retrofit/", "published_at": "2016-10-13T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756e4985da", "title": "RecyclerViewUtils Library Released", "url": "http://androidessence.com/recyclerviewutils-library-released/", "published_at": "2016-08-31T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756efecbb7", "title": "MaterialSearchView Library", "url": "http://androidessence.com/materialsearchview-library/", "published_at": "2016-04-22T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756f673136", "title": "RichTextView Library Released", "url": "http://androidessence.com/richtextview-library-released/", "published_at": "2016-04-03T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8756fafeaaf", "title": "Designing User Interfaces For Android Wear Part 2: Cards", "url": "http://androidessence.com/designing-user-interfaces-for-android-wear-part-2/", "published_at": "2016-01-26T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b875702a8ccb", "title": "Designing User Interfaces For Android Wear Part 1: Lists", "url": "http://androidessence.com/designing-user-interfaces-for-android-wear-part-1/", "published_at": "2016-01-01T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87570fee56f", "title": "Material Design Specs Library", "url": "http://androidessence.com/material-design-specs-library/", "published_at": "2015-12-13T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8757137d4f6", "title": "RecyclerViewCursorAdapter Library", "url": "http://androidessence.com/recyclerviewcursoradapter-library/", "published_at": "2015-12-10T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87571c458f3", "title": "How To Make An Android UI Part 2: Java Code", "url": "http://androidessence.com/how-to-make-an-android-ui-part-2/", "published_at": "2015-12-02T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87571cdfcd8", "title": "How To Make An Android UI Part 1: XML And Views", "url": "http://androidessence.com/how-to-make-an-android-ui-part-1/", "published_at": "2015-11-08T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b875727a4e16", "title": "Creating A Material Design Navigation Drawer", "url": "http://androidessence.com/creating-a-material-design-navigation-drawer/", "published_at": "2015-10-11T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8757308d8a5", "title": "Top 5 Color Scheme Tools", "url": "http://androidessence.com/top-5-color-scheme-tools/", "published_at": "2015-09-21T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87573922ddf", "title": "How To Use The RecyclerView Adapter", "url": "http://androidessence.com/how-to-use-the-recyclerview-adapter/", "published_at": "2015-09-17T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87573ff9455", "title": "Using Elevation In Android Applications", "url": "http://androidessence.com/using-elevation-in-android-applications/", "published_at": "2015-09-15T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87574e13f89", "title": "Drag And Drop RecyclerView Items", "url": "http://androidessence.com/drag-and-drop-recyclerview-items/", "published_at": "2015-09-09T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b87575b06fa1", "title": "Swipe To Dismiss RecyclerView Items", "url": "http://androidessence.com/swipe-to-dismiss-recyclerview-items/", "published_at": "2015-09-09T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8757670901f", "title": "RecyclerView Vs ListView", "url": "http://androidessence.com/recyclerview-vs-listview/", "published_at": "2015-09-07T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8757694e84f", "title": "SQLiteOpenHelper and the Singleton Pattern", "url": "http://androidessence.com/sqliteopenhelper-and-the-singleton-pattern/", "published_at": "2015-09-06T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b875770b9c04", "title": "Hide The FloatingActionButton When Scrolling A RecyclerView", "url": "http://androidessence.com/hide-the-floatingactionbutton-when-scrolling-recyclerview/", "published_at": "2015-09-02T00:00:00+00:00" }, { "id": "01a08729-3808-734a-9d79-b8757774ccdf", "title": "About", "url": "http://androidessence.com/about/", "published_at": null } ] posts Claim your blog
Back to Posts | Android Essence
Blog · corpus.blog/blogs/androidessence.com/posts

Posts | Android Essence

androidessence.com

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

Undated