All CommonsBlog Posts
- Mar 18, 2026 — 18 March 2026 Artifact Wave
- Mar 17, 2026 — Coding Agents and Developer Security
- Mar 11, 2026 — 11 March 2026 Artifact Wave
- Mar 06, 2026 — What If... AI Compute Costs Soar?
- Feb 27, 2026 — Random Musings on the Android 17 Beta 2
- Feb 25, 2026 — 25 February 2026 Artifact Wave
- Feb 14, 2026 — Random Musings on the Android 17 Beta 1
- Feb 11, 2026 — 11 February 2026 Artifact Wave
- Feb 06, 2026 — Write for Your Readers... Even If They Are Agents
- Jan 29, 2026 — 29 January 2026 Artifact Wave
- Jan 28, 2026 — 28 January 2026 Artifact Wave
- Jan 24, 2026 — My AI 'Bright Lines'
- Jan 14, 2026 — 14 January 2026 Artifact Wave
- Dec 24, 2025 — 24 December 2025 Artifact Wave
- Dec 17, 2025 — 17 December 2025 Artifact Wave
- Dec 14, 2025 — Compose GitHub Repositories as Malware Vectors
- Dec 10, 2025 — 10 December 2025 Artifact Wave
- Dec 03, 2025 — 3 December 2025 Artifact Wave
- Nov 28, 2025 — RemoteCompose: Cute or Crucial?
- Nov 26, 2025 — 26 November 2025 Artifact Wave
- Nov 19, 2025 — 19 November 2025 Artifact Wave
- Nov 06, 2025 — 5 November 2025 Artifact Wave
- Oct 22, 2025 — 22 October 2025 Artifact Wave
- Oct 12, 2025 — Again, Be Wary of Random Gradle Projects
- Oct 08, 2025 — 8 October 2025 Artifact Wave
- Oct 04, 2025 — Busting drawWithCache() in Compose
- Sep 24, 2025 — 24 September 2025 Artifact Wave
- Sep 17, 2025 — 17 September Lifecycle/SavedState Mini-Wave
- Sep 10, 2025 — 10 September Artifact Wave
- Aug 27, 2025 — 27 August Artifact Wave
- Aug 26, 2025 — Uncomfortable Questions About Android Developer Verification
- Aug 23, 2025 — Random Musings on the Android 16 QPR2 Beta 1
- Aug 20, 2025 — 20 August Artifact Wave
- Aug 02, 2025 — 29 July 2025 Artifact Wave, Part Two
- Jul 29, 2025 — 29 July 2025 Artifact Wave, Part One
- Jul 16, 2025 — 16 July 2025 Artifact Wave
- Jul 09, 2025 — 9 July 2025 Artifact Wave
- Jul 02, 2025 — 2 July 2025 Artifact Wave
- Jun 18, 2025 — 18 June 2025 Artifact Wave
- Jun 04, 2025 — 4 June 2025 Artifact Wave
- May 31, 2025 — Once Again, Uri Access Lifetime Is Shorter Than You Might Think
- May 28, 2025 — 28 May 2025 Artifact Wave
- May 21, 2025 — Google I|O 2025 Artifact Wave
- May 07, 2025 — New Jetpack Artifacts: 7 May 2025
- Apr 30, 2025 — New Jetpack Artifacts: 30 April 2025
- Apr 23, 2025 — New Jetpack Artifacts: 23 April 2025
- Apr 16, 2025 — New Jetpack Artifacts: 16 April 2025
- Apr 12, 2025 — Spotify's Android SDK, the Redirect URI, and Valid Schemes
- Apr 09, 2025 — New Jetpack Artifacts: 9 April 2025
- Apr 02, 2025 — New Jetpack Artifacts: 2 April 2025
- Mar 26, 2025 — New Jetpack Artifacts: 26 March 2025
- Mar 19, 2025 — New Jetpack Artifacts: 19 March 2025
- Mar 12, 2025 — New Jetpack Artifacts: 12 March 2025
- Feb 26, 2025 — New Jetpack Artifacts: 26 February 2025
- Feb 15, 2025 — Random Musings on the Android 16 Beta 2
- Feb 12, 2025 — New Jetpack Artifacts: 12 February 2025
- Feb 05, 2025 — New Jetpack Artifacts: 5 February 2025
- Jan 30, 2025 — New Jetpack Artifacts: 30 Jan 2025
- Jan 25, 2025 — Random Musings on the Android 16 Beta 1
- Jan 15, 2025 — New Jetpack Artifacts: 15 Jan 2025
- Jan 05, 2025 — Compose Design Systems: Have a Plan
- Dec 26, 2024 — New Jetpack Artifacts: 26 Dec 2024
- Dec 18, 2024 — Random Musings on the Android 16 Developer Preview 2
- Dec 12, 2024 — New Jetpack Artifacts: 12 Dec 2024
- Dec 11, 2024 — New Jetpack Artifacts: 11 Dec 2024
- Nov 27, 2024 — New Jetpack Artifacts: 27 Nov 2024
- Nov 20, 2024 — New Jetpack Artifacts: 20 Nov 2024
- Nov 20, 2024 — App Functions and the Android 16 DP1 Musings
- Nov 19, 2024 — Random Musings on the Android 16 Developer Preview 1
- Nov 13, 2024 — New Jetpack Artifacts: 13 Nov 2024
- Nov 10, 2024 — How androidx.tech Worked
- Nov 01, 2024 — New Jetpack Artifacts: 1 Nov 2024
- Oct 16, 2024 — Hey, Where Did My Artifacts Go?
- Oct 12, 2024 — android.tech Shutdown
- Sep 25, 2024 — How to Ripple Outside of Compose Material
- Sep 13, 2024 — When remember() Does Not Remember, Consider if()
- Jun 11, 2024 — Requiem for a Ranch
- May 18, 2024 — Random Musings on the Android 15 Beta 2
- Apr 13, 2024 — Random Musings on the Android 15 Beta 1
- Mar 23, 2024 — Random Musings on the Android 15 Developer Preview 2
- Feb 17, 2024 — Random Musings on the Android 15 Developer Preview 1
- Dec 16, 2023 — Security and Third-Party Transports
- Nov 18, 2023 — TV: Now What?
- Nov 11, 2023 — Testing the Limits of Anti-Competition
- Sep 09, 2023 — The Omega and the Alpha
- Sep 02, 2023 — Movin' On Up
- Aug 27, 2023 — The Summer of Silence
- Aug 11, 2023 — Android or iPhone?
- Aug 05, 2023 — Dynamic Books
- Jul 29, 2023 — Settling on a Business Model
- Jul 22, 2023 — Waiting for a Chasm-Crosser
- Jul 08, 2023 — Text Will Not Always Scale
- May 13, 2023 — Random Musings on the Android 14 Developer Beta 2
- Apr 15, 2023 — Random Musings on the Android 14 Developer Beta 1
- Mar 11, 2023 — Random Musings on the Android 14 Developer Preview 2
- Feb 11, 2023 — Random Musings on the Android 14 Developer Preview 1
- Jan 28, 2023 — Applying distributionSha256Sum to Gradle and Android Studio
- Jan 25, 2023 — Gradle Wrapper Supply Chain Attack
- Jan 16, 2023 — ActivityPub and Android
- Nov 11, 2022 — When It Comes to Twitter, Have a Plan
- Oct 16, 2022 — Issue Trackers and the "Can't Deliver Broadcast" Bug
- Apr 30, 2022 — Random Musings on the Android 13 Developer Beta 1
- Mar 19, 2022 — Random Musings on the Android 13 Developer Preview 2
- Feb 12, 2022 — Random Musings on the Android 13 Developer Preview 1
- Jan 22, 2022 — Navigating in Compose: Criteria
- Jan 17, 2022 — Compose for Wear: CurvedRow() and CurvedText()
- Jan 15, 2022 — Tiramusu Thoughts
- Dec 24, 2021 — Final Books, Free for Everyone
- Nov 07, 2021 — "Elements of Android Room" Version 0.9 Released
- Nov 06, 2021 — About the Environment Undeprecations
- Oct 31, 2021 — Android 12 Wallpaper Changes Recreate Your Activities
- Oct 30, 2021 — Wallpaper Changes = Configuration Changes?
- Oct 27, 2021 — Random Musings on the Android 12L Developer Preview
- Oct 11, 2021 — "Elements of Android Jetpack" Version 2.2 Released
- Sep 25, 2021 — Turning the Page
- Sep 14, 2021 — "Exploring Android" Version 2.2 Released
- Aug 09, 2021 — "Elements of Android Room" Version 0.6 Released
- Jul 18, 2021 — Inside Code Transparency: The Verification Process
- Jul 15, 2021 — Random Musings on the Android 12 Beta 3
- Jul 12, 2021 — "Elements of Android Jetpack" Version 2.1 Released
- Jul 11, 2021 — Inside Code Transparency: The JWT File
- Jun 29, 2021 — Initial Thoughts on Code Transparency
- Jun 26, 2021 — Windows 11, Amazon, and Uncomfortable Questions
- Jun 10, 2021 — Random Musings on the Android 12 Beta 2
- Jun 07, 2021 — "Exploring Android" Version 2.1 Released
- May 19, 2021 — Random Musings on the Android 12 Beta 1
- May 01, 2021 — Google I|O 2021 and Uncomfortable Questions
- Apr 23, 2021 — Random Musings on the Android 12 Developer Preview 3
- Apr 19, 2021 — "Elements of Kotlin" Version 1.0 Released
- Mar 24, 2021 — "Elements of Kotlin" Version 0.9 Released
- Mar 18, 2021 — Checking for Poisoned Projects, Again
- Mar 17, 2021 — Random Musings on the Android 12 Developer Preview 2
- Mar 15, 2021 — "Elements of Android Room" Version 0.5 Released
- Mar 07, 2021 — "Elements of Kotlin Coroutines" Version 0.3 Released
- Feb 27, 2021 — Don't Put All Your Eggs in One Basket
- Feb 21, 2021 — Random Musings on the Android 12 Developer Preview 1
- Feb 20, 2021 — Using Repository Artifact Safelists in Gradle
- Feb 14, 2021 — Notes on the Jetpack Compose alpha11 to alpha12 Upgrade Process
- Feb 11, 2021 — Quieting the SQL Syntax Warnings
- Feb 08, 2021 — Data Over Sound
- Feb 01, 2021 — "Elements of Android Room" Version 0.4 Released
- Jan 27, 2021 — Checking for Poisoned Projects
- Jan 25, 2021 — "Elements of Kotlin" Version 0.4 Released
- Jan 07, 2021 — ACTION_SEND, the Chooser, and ClipData
- Jan 03, 2021 — "Elements of Android Jetpack" Version 2.0 Released
- Dec 14, 2020 — "Exploring Android" Version 2.0 Released
- Dec 06, 2020 — "Elements of Android Jetpack" Version 1.9 Released
- Dec 04, 2020 — Seeing If Your App Has the Play Core Vulnerability
- Nov 30, 2020 — Initial Responses to Uncomfortable Questions
- Nov 22, 2020 — "Elements of Android R" FINAL Version Released
- Nov 14, 2020 — A Poor Default (Or: Why Your Button Does Not Work)
- Nov 07, 2020 — Where Compose Could Go
- Nov 03, 2020 — "Exploring Android" Version 1.9 Released
- Oct 28, 2020 — "Elements of Android R" Version 0.4 Released
- Oct 24, 2020 — youtube-dl, and Avoiding Pointless Copyright Problems
- Oct 14, 2020 — Android Studio 4.1, Library Modules, and VERSION_CODE
- Oct 10, 2020 — Android Summit Presentation Materials
- Oct 05, 2020 — "Elements of Kotlin" Version 0.3 Released
- Sep 29, 2020 — More on Android Summit 2020!
- Sep 23, 2020 — Uncomfortable Questions About App Signing
- Sep 16, 2020 — App Security at Android Summit 2020!
- Sep 13, 2020 — Android R One-Time Permission Problem Really an Android Studio Problem
- Sep 05, 2020 — Getting Android Studio 4.2 Canary To Run Again
- Aug 28, 2020 — Android R One-Time Permission Expiration Sometimes Kills Alarms, Jobs, More
- Aug 24, 2020 — "Exploring Android" Version 1.3 Released
- Aug 17, 2020 — "Elements of Android R" Version 0.3 Released
- Aug 16, 2020 — ACTION_IMAGE_CAPTURE and Android R
- Aug 10, 2020 — "Elements of Android Jetpack" Version 1.1 Released
- Aug 08, 2020 — Uri Access Lifetime: Still Shorter Than You Might Think
- Jul 26, 2020 — Upgrading to dev15 of Jetpack Compose
- Jul 25, 2020 — With <intent-filter>, Only Advertise What You Can Fulfill
- Jul 20, 2020 — "Exploring Android" Version 1.2 Released
- Jul 05, 2020 — Multipart Uploads with OkHttp... and a Uri
- Jun 29, 2020 — "Elements of Android Jetpack" Version 1.0 Released
- Jun 16, 2020 — "Elements of Kotlin Coroutines" Version 0.2 Released
- Jun 13, 2020 — Count Your SAF Uri Persisted Permissions!
- Jun 11, 2020 — Random Musings on Android 11 Beta 1
- Jun 07, 2020 — @Preview Annotation Properties
- May 29, 2020 — Reflection and Composables
- May 28, 2020 — Upcoming Presentation on Jetpack Compose
- May 26, 2020 — "Elements of Android Jetpack" Version 0.9 Released
- May 16, 2020 — R Raw Paths, DP4 Style
- May 13, 2020 — Vet Your Manifest, Again
- May 11, 2020 — "Exploring Android" Version 1.1 Released
- May 06, 2020 — Random Musings on the R Developer Preview 4
- May 04, 2020 — "Elements of Android R" Version 0.2 Released
- Apr 25, 2020 — Jetpack Compose... on the Desktop
- Apr 23, 2020 — Random Musings on the R Developer Preview 3
- Apr 07, 2020 — SurfaceControlViewHost Input in Android R
- Apr 05, 2020 — Android R, Package Visibility, and Some Holes
- Apr 04, 2020 — Scoped Storage Stories: MediaStore Metadata Madness
- Apr 01, 2020 — Introducing jetc.dev!
- Mar 30, 2020 — "Elements of Android R" Version 0.1 Released
- Mar 27, 2020 — A Peek at SurfaceControlViewHost in Android R
- Mar 22, 2020 — R Raw Paths and All Files Access
- Mar 20, 2020 — More Random Musings on R DP2!
- Mar 19, 2020 — Random Musings on the R Developer Preview 2
- Mar 05, 2020 — Android R: A Rough Start
- Mar 03, 2020 — Scoped Storage Stories: More on RecoverableSecurityException
- Feb 24, 2020 — "Elements of Android Jetpack" Version 0.8 Released
- Feb 21, 2020 — Random Musings on the R Developer Preview 1
- Feb 15, 2020 — Scoped Storage Stories: The Undocumented Documents
- Feb 10, 2020 — "Elements of Android Room" Version 0.2 Released
- Feb 08, 2020 — GDSA for App Distribution: Promising, Yet Problems
- Feb 01, 2020 — Start Before You Finish
- Jan 20, 2020 — "Elements of Android Jetpack" Version 0.7 Released
- Jan 13, 2020 — "Elements of Android Room" Version 0.1 Released
- Jan 11, 2020 — Scoped Storage Stories: The Diabolical Details of Downloads
- Jan 05, 2020 — Scoped Storage Stories: Modifying the Content of Other Apps
- Dec 29, 2019 — Scoped Storage Stories: Reading via MediaStore
- Dec 21, 2019 — Scoped Storage Stories: Storing via MediaStore
- Dec 15, 2019 — "Exploring Android" Version 1.0 Released
- Dec 14, 2019 — Scoped Storage Stories: listFiles() Woe
- Dec 11, 2019 — "Elements of Android Jetpack" Version 0.6 Released
- Dec 10, 2019 — Securing Jetpack Compose
- Dec 08, 2019 — More on the Missing SAF
- Dec 01, 2019 — Scoped Storage Stories: Problems with SAF
- Nov 23, 2019 — Scoped Storage Stories: DocumentsContract
- Nov 11, 2019 — Final "Elements of Android Q" Released
- Nov 09, 2019 — Scoped Storage Stories: Trees
- Nov 04, 2019 — "Exploring Android" Version 0.9 Released
- Nov 02, 2019 — Scoped Storage Stories: DocumentFile
- Oct 27, 2019 — Scoped Storage Stories: Durable Access
- Oct 19, 2019 — Scoped Storage Stories: SAF Basics
- Oct 11, 2019 — The Storage Situation: Removable Storage
- Oct 10, 2019 — Spoiler Alert!
- Oct 08, 2019 — The Storage Situation: External Storage
- Oct 06, 2019 — The Storage Situation: Internal Storage
- Sep 22, 2019 — View Binding and Android Studio Versions
- Sep 09, 2019 — "Elements of Android Jetpack" Version 0.5 Released
- Aug 22, 2019 — Introducing AndroidX Tech
- Aug 21, 2019 — Android Studio 3.5 Upgrade XML Reformatting Problems
- Aug 19, 2019 — "Elements of Kotlin Coroutines Version 0.1 Released
- Aug 13, 2019 — Enabling Type Hints in Android Studio
- Aug 10, 2019 — Harmony and Compatibility
- Aug 08, 2019 — Room and Flow!
- Aug 06, 2019 — ACTION_OPEN_DOCUMENT: May Not Be Read-Write
- Aug 05, 2019 — "Elements of Kotlin Version 0.2 Released
- Jul 29, 2019 — "Elements of Android Q" Version 0.5 Released
- Jul 24, 2019 — Presenters, Please Use Bigger Fonts!
- Jul 22, 2019 — Android Summit 2019!
- Jul 15, 2019 — Need a Magic Constant? Choose Something Obscure
- Jul 03, 2019 — Leaky APIs are Leaky
- Jun 19, 2019 — Android Q, uiMode, and Configuration Changes
- Jun 18, 2019 — "Elements of Android Q" Version 0.4 Released
- Jun 12, 2019 — DevFest DC Update!
- Jun 11, 2019 — "Elements of Android Jetpack" Version 0.4 Released
- Jun 07, 2019 — The Death of External Storage: The End of the Saga(?)
- Jun 06, 2019 — Random Musings on Q Beta 4
- Jun 05, 2019 — The Storage Access Framework: Counterpoints
- Jun 04, 2019 — Jetpack Compose: Optimism and Opportunity
- Jun 03, 2019 — "Exploring Android" Version 0.7 Released
- May 28, 2019 — A Huawei Update
- May 22, 2019 — DevFest DC!
- May 20, 2019 — Huawei, the Trade Ban, and Developers
- May 16, 2019 — "Elements of Android Q" Version 0.3 Released
- May 15, 2019 — The Death of External Storage: App Installer Bugs
- May 13, 2019 — The Death of External Storage: The Beta 3 Status
- May 07, 2019 — Random Musings on Q Beta 3
- May 06, 2019 — "Exploring Android" Version 0.6 Released
- Apr 28, 2019 — The Death of External Storage: Correcting a Mistake
- Apr 25, 2019 — The Death of External Storage: Serenity Now
- Apr 22, 2019 — The Death of External Storage: More of the Story
- Apr 15, 2019 — "Elements of Android Q" Version 0.2 Released
- Apr 14, 2019 — About Share Targets and Magic Names
- Apr 08, 2019 — "Exploring Android" Version 0.5 Released
- Apr 04, 2019 — Random Musings on Q Beta 2
- Apr 01, 2019 — "Elements of Android Q" Version 0.1 Released
- Mar 29, 2019 — The Death of External Storage: Where's Google?
- Mar 28, 2019 — The Death of External Storage: But Why?
- Mar 27, 2019 — The Death of External Storage: How Can I Stay Away From Files?
- Mar 26, 2019 — The Death of External Storage: I Can Haz File?
- Mar 25, 2019 — The Death of External Storage: What? And What Now?
- Mar 15, 2019 — Random Musings on the Q Developer Preview 1
- Mar 07, 2019 — Ethical Analytics, Please
- Mar 04, 2019 — "Elements of Android Jetpack" Version 0.3 Released
- Feb 23, 2019 — The March of the API Versions Continues
- Feb 16, 2019 — The Lessons from Android Things
- Feb 14, 2019 — "Exploring Android" Version 0.4 Released... Again
- Feb 12, 2019 — "Exploring Android" Version 0.4 Released
- Feb 11, 2019 — Full-Text Searching the CommonsWare Books
- Feb 10, 2019 — The Busy Coder's Guide to Android Development Final Version Released
- Jan 31, 2019 — A Fuchsia Future? Part Four: What Now?
- Jan 30, 2019 — A Fuchsia Future? Part Three: A Tale of Two Languages
- Jan 29, 2019 — A Fuchsia Future? Part Two: Is It Soup Yet?
- Jan 28, 2019 — A Fuchsia Future? Part One: Build One (or Two) to Throw Away
- Jan 27, 2019 — GraphQL and Android Final Version Released
- Jan 22, 2019 — Android's Architecture Components Final Version Released
- Jan 15, 2019 — WorkManager Side Effects: A Follow-Up
- Jan 07, 2019 — "Elements of Android Jetpack" Version 0.2 Released
- Dec 15, 2018 — The SQLite Magellan Bug, And Your App
- Dec 07, 2018 — How You Can Help!
- Dec 06, 2018 — Where Things Go From Here
- Dec 05, 2018 — Read Online!
- Dec 04, 2018 — "Elements of Android Jetpack" Version 0.1 Released
- Dec 03, 2018 — "Elements of Kotlin" Version 0.1 Released
- Nov 24, 2018 — WorkManager, App Widgets, and the Cost of Side Effects
- Nov 16, 2018 — Reference Platforms, Please!
- Nov 10, 2018 — Foldables and Developers
- Oct 09, 2018 — New Warescription Site
- Sep 21, 2018 — Android Summit 2018, Again
- Sep 10, 2018 — Android's Architecture Components Version 0.11 Released
- Aug 17, 2018 — Android Summit 2018 Materials
- Aug 13, 2018 — The Busy Coder's Guide to Android Development Version 8.13 Released
- Aug 06, 2018 — Fortnite, Security, and Monopoly
- Aug 01, 2018 — Android Studio and distributionSha256Sum
- Jul 30, 2018 — Android Summit 2018!
- Jul 23, 2018 — Slices From Afar
- Jul 16, 2018 — Android's Architecture Components Version 0.10 Released
- Jun 25, 2018 — SQLCipher for Android, WAL, and Parallel I/O
- Jun 12, 2018 — StrictMode for API Greylist Monitoring
- Jun 07, 2018 — Random Musings on the P Developer Preview 3
- Jun 04, 2018 — The Busy Coder's Guide to Android Development Version 8.12 Released
- May 29, 2018 — At Last... HtmlCompat
- May 17, 2018 — "Exploring Android" Version 0.3 Released
- May 15, 2018 — Official Chrome OS Emulator for Android Studio
- May 14, 2018 — Android's Architecture Components Version 0.9 Released
- May 11, 2018 — Jetpack, AndroidX, and the Books
- May 10, 2018 — Random Musings on the P Developer Preview 2
- May 07, 2018 — Removing the Android Things Chapter, Again
- Apr 30, 2018 — scrcpy for Projecting Your Android Screen
- Apr 09, 2018 — Manifest Merger, maxSdkVersion, and a Missing Permission
- Apr 02, 2018 — "Exploring Android" Version 0.2 Released
- Mar 27, 2018 — Chrome OS Tablets, And Your App
- Mar 26, 2018 — The Busy Coder's Guide to Android Development Version 8.11 Released
- Mar 20, 2018 — About the Potential Android P App Ban
- Mar 09, 2018 — REQUEST_DELETE_PACKAGES, For Realz Now
- Mar 08, 2018 — Random Musings on the P Developer Preview 1
- Mar 05, 2018 — Upcoming Device Admin Deprecations?
- Mar 01, 2018 — The @hide Penny Drops
- Feb 28, 2018 — Help Your Users to Not Get Pwned
- Feb 26, 2018 — The Busy Coder's Guide to Android Development Version 8.10 Released
- Feb 12, 2018 — Android's Architecture Components Version 0.8 Released
- Feb 06, 2018 — Vet Your Manifest
- Feb 05, 2018 — "Exploring Android" Version 0.1 Released
- Jan 18, 2018 — Think Hard About @hide
- Jan 16, 2018 — Android's Architecture Components Version 0.7 Released
- Jan 08, 2018 — The Android Version Ratchet
- Dec 27, 2017 — Storage Access Framework, Missing in Action
- Dec 18, 2017 — The Busy Coder's Guide to Android Development Version 8.9 Released
- Dec 04, 2017 — Android Studio 3.0: What "Injecting Monitoring Logic" Means
- Nov 27, 2017 — Android's Architecture Components Version 0.6 Released
- Nov 20, 2017 — AccessibilityServices, Play Store Bans, and API Design
- Nov 15, 2017 — The Storage Situation: Removable Storage
- Nov 14, 2017 — The Storage Situation: External Storage
- Nov 13, 2017 — The Storage Situation: Internal Storage
- Nov 06, 2017 — The Busy Coder's Guide to Android Development Version 8.8 Released
- Nov 01, 2017 — Android Things, Terms of Service, and a Pulled Chapter
- Oct 31, 2017 — Android Studio 3.0 and FLAG_TEST_ONLY
- Oct 30, 2017 — The Curious Case of the Missing google()
- Oct 25, 2017 — Random Musings on the Android 8.1 Developer Preview 1
- Oct 24, 2017 — The Support Library POMs Are Broken Again... Though You May Not Notice
- Oct 23, 2017 — Android's Architecture Components Version 0.5 Released
- Oct 05, 2017 — GraphQL in Copenhagen
- Oct 03, 2017 — An Emulator Networking Workaround
- Oct 02, 2017 — Oreo, Services, and Libraries
- Sep 28, 2017 — Android's Architecture Components Version 0.4 Released
- Sep 27, 2017 — Autofill Services and Security: Update
- Sep 14, 2017 — Making Sense of the Architecture Components Versions
- Sep 13, 2017 — Android's Architecture Components Version 0.3 Released
- Aug 30, 2017 — GraphQL and Android Version 0.3 Released
- Aug 22, 2017 — Platform Resource Aliases
- Aug 14, 2017 — Android's Architecture Components Version 0.2 Released
- Aug 10, 2017 — Upcoming Presentations
- Aug 08, 2017 — Autofill Services and Security
- Aug 07, 2017 — The Busy Coder's Guide to Android Development Version 8.7 Released
- Jul 25, 2017 — New Subscriber Benefit: Discussion Group
- Jul 24, 2017 — GraphQL and Android Version 0.2 Released
- Jul 11, 2017 — Introducing CWAC-SafeRoom
- Jul 10, 2017 — Android's Architecture Components Version 0.1 Released
- Jul 06, 2017 — Samba and a Uri
- Jun 27, 2017 — FileProvider and Libraries
- Jun 26, 2017 — GraphQL and Android Version 0.1 Released
- Jun 15, 2017 — Android Seminars, In Your City
- Jun 13, 2017 — Securing Apps From Android 8.0 Autofill
- Jun 12, 2017 — ACTION_BOOT_COMPLETED, IntentService, and Android 8.0
- Jun 08, 2017 — Random Musings on the O Developer Preview 3
- Jun 07, 2017 — JobScheduler, Job IDs, and Libraries
- Jun 05, 2017 — The Busy Coder's Guide to Android Development Version 8.6 Released
- May 24, 2017 — Android O Background Limitations: Not Just for targetSdkVersion 'O'
- May 22, 2017 — Random Musings on the O Developer Preview 2
- May 15, 2017 — The Trouble with Treble
- May 12, 2017 — RecoverableSecurityException, RIP
- May 11, 2017 — SYSTEM_ALERT_WINDOW, Android O, and Disappointment
- Apr 25, 2017 — FLAG_SECURE and Android O Autofill
- Apr 19, 2017 — A Fix for the Google Play Books EPUB Issue
- Apr 17, 2017 — The Busy Coder's Guide to Android Development Version 8.5 Released
- Apr 11, 2017 — Android O and the Implicit Broadcast Ban
- Mar 22, 2017 — Random Musings on the O Developer Preview 1
- Mar 20, 2017 — The Busy Coder's Guide to Android Development Version 8.4 Released
- Mar 01, 2017 — Google Play Books and My EPUBs
- Feb 27, 2017 — Qualcomm, Trepn, and EULA Nonsense
- Feb 13, 2017 — The Busy Coder's Guide to Android Development Version 8.3 Released
- Feb 01, 2017 — Analytics Privacy Survey
- Jan 31, 2017 — Android Studio and the Case of the Rogue Parentheses
- Jan 30, 2017 — Network Security Configuration Presentation
- Jan 23, 2017 — Replacing addJavascriptInterface() with HTML Message Channels
- Jan 17, 2017 — Droidception
- Jan 09, 2017 — The Busy Coder's Guide to Android Development Version 8.2 Released
- Jan 04, 2017 — Options for Viewing PDFs
- Dec 27, 2016 — PSA: v25.1.0 Support Fragments Behavior Change
- Dec 15, 2016 — About the Support ExifInterface
- Dec 13, 2016 — Security Things About Android Things
- Dec 12, 2016 — FYI: sdkmanager for Command-Line SDK Installs
- Nov 28, 2016 — Certificate Pinning and Failing Open
- Nov 22, 2016 — Random Musings on the 7.1 Developer Preview 2
- Nov 21, 2016 — Consuming Content? Be Flexible!
- Nov 18, 2016 — Be Careful with Scoped Directory Access
- Nov 14, 2016 — The Busy Coder's Guide to Android Development Version 8.1 Released
- Nov 10, 2016 — Freeform Windows, the 7.0 CDD, and You
- Oct 20, 2016 — Random Musings on the 7.1 Developer Preview 1
- Oct 11, 2016 — Freeform Multi-Window, Like It or Not
- Oct 10, 2016 — The Busy Coder's Guide to Android Development Version 8.0 Released
- Oct 06, 2016 — In Split-Screen, Your Orientation Flips
- Sep 28, 2016 — In Split-Screen, Not All HOMEs Are Created Equal
- Sep 26, 2016 — Android on Chrome OS: Shipping to Release Channel
- Sep 21, 2016 — Internal Storage Metadata Leaks
- Sep 20, 2016 — Multi-Window, Like It or Not, Again
- Sep 19, 2016 — Reminder: Check Your Projects Before Importing Them
- Sep 14, 2016 — Multi-Window and Permission Revocation
- Sep 13, 2016 — Still Be Careful of Drag-and-Drop on Android 7.0
- Sep 12, 2016 — Multi-Window, and Multi-Instance, Like It or Not
- Sep 08, 2016 — Dealing with the ExifInterface Security Flaw
- Sep 07, 2016 — Notifications, Sounds, Android 7.0, and Aggravation
- Sep 06, 2016 — Virtual Files FAQ (Sorta)
- Aug 31, 2016 — Granting Permissions on a Uri in an Intent Extra
- Aug 30, 2016 — Breaking Up (an Artifact) Is (Not That) Hard To Do
- Aug 29, 2016 — PSA: Drag-and-Drop Behavior Change in Android 7.0
- Aug 22, 2016 — The Busy Coder's Guide to Android Development Version 7.6 Released
- Aug 19, 2016 — The Magical OpenJDK Migration
- Aug 17, 2016 — APPLICATION_PREFERENCES and Security
- Aug 15, 2016 — Warescription Pricing: Now $20/Six Months
- Aug 11, 2016 — Upcoming Presentations
- Aug 10, 2016 — Uri Access Lifetime: Shorter Than You Might Think
- Aug 08, 2016 — Instant Run and Serializable
- Jul 22, 2016 — Be Careful Where You Use Custom Parcelables
- Jul 21, 2016 — The Busy Coder's Guide to Android Development Version 7.5 Released
- Jul 19, 2016 — Android on Chrome OS: Updated Information
- Jul 11, 2016 — Backporting Android N Network Security Configuration
- Jul 08, 2016 — Android on Chrome OS: adb Access
- Jul 05, 2016 — Upcoming NYC Presentations
- Jun 30, 2016 — Android on Chrome OS: AlarmManager/JobScheduler Broken
- Jun 29, 2016 — Android on Chrome OS: Pondering adb
- Jun 28, 2016 — Android on Chrome OS: Getting (Side-) Loaded
- Jun 27, 2016 — Android on Chrome OS: Getting Started
- Jun 23, 2016 — PSA: Upgrade SQLCipher for Android Soon
- Jun 20, 2016 — Link to the Android Studio That You Are Teaching
- Jun 17, 2016 — Opting Out of Multi-Window is Hard
- Jun 16, 2016 — Random Musings on the N Developer Preview 4
- Jun 13, 2016 — The Busy Coder's Guide to Android Development Version 7.4 Released
- Jun 07, 2016 — isInMultiWindowMode() Race Condition
- Jun 06, 2016 — PSA: FLAG_SECURE Window Leaks
- Jun 02, 2016 — Skate to Where the Puck is Going
- Jun 01, 2016 — Be Careful of Drag-and-Drop on Android N
- May 31, 2016 — A Tale of Two ExifInterfaces
- May 25, 2016 — Getting Ready for ChromeOS
- May 24, 2016 — Random Musings on the N Developer Preview 3
- May 03, 2016 — SAFFAQ: The Storage Access Framework FAQ
- May 02, 2016 — The Busy Coder's Guide to Android Development Version 7.3 Released
- Apr 25, 2016 — Your App May Be Getting on the ARC
- Apr 19, 2016 — Exported Activities and Freeform Multi-Window Mode
- Apr 13, 2016 — Random Musings on the N Developer Preview 2
- Apr 11, 2016 — AndGlobe: Yet Another Call For More Sites
- Apr 08, 2016 — Why Can't I Edit My Manifest In Android Studio?
- Apr 05, 2016 — PSA: Validate Your ACTION_SEND Inputs
- Mar 29, 2016 — Beware the Bezel Swipe
- Mar 28, 2016 — Upcoming Android Presentations
- Mar 25, 2016 — Watch Out For OpenJDK Differences on Android N
- Mar 24, 2016 — SYSTEM_ALERT_WINDOW: Now More Hidden Than Ever
- Mar 23, 2016 — Oops! Re-Download Version 7.2 APK/EPUB/MOBI
- Mar 22, 2016 — New Subscriber Benefit: Appinars!
- Mar 21, 2016 — The Busy Coder's Guide to Android Development Version 7.2 Released
- Mar 18, 2016 — Reminder: adb install Needs -g To Auto-Grant Permissions
- Mar 17, 2016 — Backwards Compatibility with the N Developer Preview
- Mar 16, 2016 — How to Publish Files Via a content Uri
- Mar 15, 2016 — How to Consume Content From a Uri
- Mar 14, 2016 — PSA: file: Scheme Ban in N Developer Preview
- Mar 09, 2016 — Random Musings on the N Developer Preview
- Feb 22, 2016 — About Those X509TrustManager Emails
- Feb 15, 2016 — Seeking Subscribers for Beta Testing
- Feb 09, 2016 — Changes in DownloadManager Behavior
- Feb 08, 2016 — The Busy Coder's Guide to Android Development Version 7.1 Released
- Jan 29, 2016 — Lessons from Parse
- Jan 26, 2016 — Libraries and Dangerous Permissions
- Jan 07, 2016 — Musings on Android and the OpenJDK
- Dec 21, 2015 — -nodpi, -anydpi, and WTF?
- Dec 17, 2015 — Book Excerpt: Crash Reporting with ACRA
- Dec 15, 2015 — The Busy Coder's Guide to Android Development Version 7.0 Released
- Dec 04, 2015 — Book Excerpt: Full-Text Indexing and Searching (Part 5)
- Dec 03, 2015 — Book Excerpt: Full-Text Indexing and Searching (Part 4)
- Dec 02, 2015 — Book Excerpt: Full-Text Indexing and Searching (Part 3)
- Dec 01, 2015 — Book Excerpt: Full-Text Indexing and Searching (Part 2)
- Nov 30, 2015 — Book Excerpt: Full-Text Indexing and Searching (Part 1)
- Nov 24, 2015 — SecurityExceptions, Runtime Permissions, and "Reset app preferences"
- Nov 19, 2015 — Why The Play Store Thinks Your App Has Ads... When It Doesn't
- Nov 18, 2015 — Another Doze Edge Case: Foreground vs. Foreground
- Nov 16, 2015 — Be Careful of Deserialization
- Nov 11, 2015 — Google's (Anti)Trust Issues
- Nov 10, 2015 — Subscribe using Alipay!
- Nov 09, 2015 — You Cannot Hold Non-Existent Permissions
- Nov 05, 2015 — Android on the Desktop
- Nov 03, 2015 — Book Excerpt: ACTION_PROCESS_TEXT Security
- Nov 02, 2015 — PSA: Android 6.0 Theme.NoDisplay Regression
- Oct 28, 2015 — Validate Your File Inputs, Please
- Oct 27, 2015 — Version 6.9 APK Re-Released
- Oct 26, 2015 — The Busy Coder's Guide to Android Development Version 6.9 Released
- Oct 14, 2015 — LinkageError and Your Android Code
- Oct 12, 2015 — Runtime Permissions, ACTION_PICK, and Contacts
- Oct 07, 2015 — Runtime Permissions, Files, and ACTION_SEND
- Oct 05, 2015 — Book Excerpt: Public Key Validation
- Sep 21, 2015 — Developer Trust, Revisited
- Sep 16, 2015 — Welcoming @CommonsWare
- Sep 15, 2015 — Book Excerpt: Floating Action Mode and ACTION_PROCESS_TEXT
- Sep 08, 2015 — Saturday Office Hours
- Sep 01, 2015 — DevFest DC
- Aug 31, 2015 — Hey, Where Did My Permission Go?
- Aug 25, 2015 — The Busy Coder's Guide to Android Development Version 6.8 Released
- Aug 19, 2015 — Android 6.0 Runtime Permissions Code Labs
- Aug 17, 2015 — Random Musings on the Android 6.0 SDK
- Aug 13, 2015 — Favoring Snackbars Over Security
- Aug 10, 2015 — Linux Emulator Woe? Try No Audio!
- Jul 29, 2015 — The Stagefright Bug, and Your App
- Jul 13, 2015 — The Limits of ContentProvider Security
- Jul 01, 2015 — Returning to Presenting
- Jun 25, 2015 — Hey, Where Did These Permissions Come From?
- Jun 22, 2015 — Safely Unzipping ZIP Archives
- Jun 17, 2015 — Live from New York! It's Advanced Android Training!
- Jun 15, 2015 — The Busy Coder's Guide to Android Development Version 6.7 Released
- Jun 12, 2015 — PSA: Another (Small) AlarmManager Regression
- Jun 11, 2015 — PSA: WebView URL-Handling Regression
- Jun 09, 2015 — The End of the Webinars
- Jun 08, 2015 — The ACTION_IMAGE_CAPTURE Fallacy
- Jun 05, 2015 — Supporting the M Developer Preview... And Previous Versions
- Jun 04, 2015 — Random Musings on the M Developer Preview: the Ugly (Part Two)
- Jun 03, 2015 — Random Musings on the M Developer Preview: the Ugly (Part One)
- Jun 02, 2015 — Random Musings on the M Developer Preview: the Bad
- Jun 01, 2015 — Random Musings on the M Developer Preview: The Good
- Apr 21, 2015 — AndGlobe: Another Call For More Sites
- Apr 16, 2015 — The Busy Coder's Guide to Android Development Version 6.6 Released
- Apr 09, 2015 — Getting on the ARC
- Apr 01, 2015 — RecyclerView Webinars
- Mar 30, 2015 — Maps Sans Play Services
- Mar 23, 2015 — AlarmManager Regression in Android 5.1
- Mar 12, 2015 — Developer Trust, and the XCode Hack
- Mar 10, 2015 — Random Musings on the Android 5.1 SDK
- Mar 02, 2015 — The Busy Coder's Guide to Android Development Version 6.5 Released
- Feb 11, 2015 — Webinars Woster
- Feb 06, 2015 — Ripples from a Touch Point
- Jan 22, 2015 — Webinars for Meetups
- Jan 20, 2015 — The Busy Coder's Guide to Android Development Version 6.4 Released
- Jan 16, 2015 — Getting a JAR into Android Studio
- Jan 15, 2015 — Library Authors: You Can't Always Get What You Want
- Jan 08, 2015 — Moar Webinars!
- Jan 01, 2015 — Warescription Site Revamp
- Dec 31, 2014 — Warescription Site Downtime
- Dec 18, 2014 — The Busy Coder's Guide to Android Development Version 6.3 Released
- Dec 11, 2014 — Manufacturers, Keep Your Hands Off My Zygote
- Dec 10, 2014 — A Presentation Sabbatical
- Dec 08, 2014 — Dealing with the Bulk-Closed Android Issues
- Dec 01, 2014 — My Mistakes with CWAC-Camera
- Nov 24, 2014 — Material Design: Strategic Considerations
- Nov 18, 2014 — Android 5.0 Deprecation: splitActionBarWhenNarrow
- Nov 17, 2014 — The Busy Coder's Guide to Android Development Version 6.2 Released
- Nov 14, 2014 — Samsung/droidcon UK Presentations
- Oct 17, 2014 — Random Musings on the Lollipop SDK
- Oct 14, 2014 — The Busy Coder's Guide to Android Development Version 6.1 Released
- Sep 29, 2014 — Predictions of Play Store Fallout
- Sep 25, 2014 — Upcoming Conference Presentations: Samsung Developer Conference
- Sep 03, 2014 — The Busy Coder's Guide to Android Development Version 6.0 Released
- Aug 26, 2014 — Defending Against "Camera Peeking" Attacks
- Aug 25, 2014 — Defending Against Activityjack Attacks
- Aug 20, 2014 — The Return of "Gradle for Android... and You!"
- Aug 18, 2014 — Want to Review a Beta Book?
- Aug 15, 2014 — Intel's Android Developer Field Guide... And You!
- Aug 06, 2014 — Better Presentations From a Service
- Aug 05, 2014 — Upcoming Conference Presentations: droidcon UK and AnDevCon
- Aug 04, 2014 — Custom Permission Vulnerability and the 'L' Developer Preview
- Jul 27, 2014 — The Role of Services
- Jul 21, 2014 — Gradle for Android Online Course
- Jul 08, 2014 — Webinars: Memory and Security
- Jul 04, 2014 — A Uri Is Not (Necessarily) a File
- Jul 03, 2014 — Consuming AARs from Eclipse
- Jul 01, 2014 — The Busy Coder's Guide to Android Development Version 5.9 Released
- Jun 29, 2014 — Dealing with L Deprecations: bindService()
- Jun 28, 2014 — And Now, Your 'L' API Change WTFs
- Jun 27, 2014 — Android Wear and Play Services
- Jun 26, 2014 — Developer Preview Rules of the Road
- Jun 16, 2014 — The ART of Garbage Collection
- May 08, 2014 — Presentations From a Service
- May 05, 2014 — MediaRouter Webinars
- Apr 30, 2014 — If Your Activity Has an <intent-filter>, Export It
- Apr 28, 2014 — The Busy Coder's Guide to Android Development Version 5.8 Released
- Apr 22, 2014 — The Android Dual-Screen Landscape Free Webinar
- Apr 21, 2014 — Gradle for Android... And You! Free Webinar Seats Still Available
- Apr 18, 2014 — More on Android and Revoked SSL Certificates
- Apr 17, 2014 — PSA: WebView, Chrome Accept Revoked SSL Certificates
- Apr 15, 2014 — Really Blank Activity (Or, Why AppCompat Is Shoved Down Your Throat)
- Apr 11, 2014 — The Storage Situation: Where Developers Go Astray
- Apr 10, 2014 — The Storage Situation: Where Google Went Astray
- Apr 09, 2014 — The Storage Situation: Removable Storage
- Apr 08, 2014 — The Storage Situation: External Storage
- Apr 07, 2014 — The Storage Situation: Internal Storage
- Mar 31, 2014 — CWAC-LoaderEx and Failed Abstractions
- Mar 28, 2014 — About the "Pileup" Vulnerabilities
- Mar 27, 2014 — The Busy Coder's Guide to Android Development Version 5.7 Released
- Mar 25, 2014 — Gradle for Android... And You! Free Webinar
- Mar 17, 2014 — Dual Screen App Challenge
- Mar 11, 2014 — Webinars: Jank Busting and Device Administration APIs
- Mar 06, 2014 — App Widgets as Wearable UIs
- Feb 18, 2014 — The Busy Coder's Guide to Android Development Version 5.6 Released
- Feb 17, 2014 — Webinars: NFC Basics
- Feb 12, 2014 — Vulnerabilities with Custom Permissions
- Feb 08, 2014 — Fighting Closed with Open
- Feb 04, 2014 — Webinars: Streaming Providers and Advanced Maps V2
- Jan 27, 2014 — Upcoming Presentations: WIPJam, Wearables, and 'Week!
- Jan 23, 2014 — AndGlobe: Call For More Sites
- Jan 21, 2014 — Webinars: Maps V2 and Permissions
- Jan 13, 2014 — The Busy Coder's Guide to Android Development Version 5.5 Released
- Jan 09, 2014 — Android Micro-Consulting
- Jan 08, 2014 — More Android Development Webinars
- Jan 07, 2014 — Referral Program Out of Beta
- Jan 06, 2014 — New Subscriber Benefit: StackOverflow Bump
- Dec 13, 2013 — Sanitize All The Extras!
- Dec 12, 2013 — Webinar Wednesday: Two More Betas
- Dec 11, 2013 — Tell Your Ad Network: "SSL, Please"
- Dec 09, 2013 — The MENU Key Is Dead. Again.
- Dec 03, 2013 — Webinar Wednesday: First Beta
- Dec 02, 2013 — The Busy Coder's Guide to Android Development Version 5.4 Released
- Nov 26, 2013 — App Ops Developer FAQ Updated
- Nov 25, 2013 — Warescription Referral Program Beta
- Nov 21, 2013 — libhoudini: What It Means for Developers
- Nov 20, 2013 — Have API, Won't Travel
- Nov 18, 2013 — The Busy Coder's Guide to Android Development Version 5.3 Released
- Nov 15, 2013 — Introducing CWAC-MasterDetail
- Nov 07, 2013 — The Troubling Tale of android:priority
- Nov 06, 2013 — Android 4.4 Permission Regressions
- Nov 04, 2013 — New Meta-Data Tag for Maps V2
- Oct 31, 2013 — Quick Musings on Android 4.4
- Oct 29, 2013 — Secondary Display Support: Presentation and Errata
- Oct 23, 2013 — Linkify and autoLink Need a Custom URLSpan
- Oct 22, 2013 — ACTION_GET_CONTENT? Support EXTRA_ALLOW_MULTIPLE, Please
- Oct 15, 2013 — The Busy Coder's Guide to Android Development Version 5.2 Released
- Oct 14, 2013 — SMS Apps: I Warned You...
- Oct 11, 2013 — Dropping the OUYA Chapter
- Oct 10, 2013 — Make Passwords Expensive
- Oct 06, 2013 — Secured Broadcasts and SMS Clients
- Oct 04, 2013 — Site Downtime Tomorrow
- Oct 01, 2013 — Converting Animated GIFs to AnimationDrawables
- Sep 30, 2013 — My Brain Has Moved, And Other Whirled Tour Updates
- Sep 26, 2013 — Android Exported Service MITM Attacks
- Sep 25, 2013 — ROM Modding as Consumer Protection
- Sep 24, 2013 — Musings on Cyanogen Inc.
- Sep 17, 2013 — More Whirled Tour Updates
- Sep 16, 2013 — Whirled Tour Addition: Pushing the UI Envelope
- Sep 11, 2013 — Beware Accidental APIs: Avoid Intents as Extras
- Sep 09, 2013 — PSA: Think About Stronger App Signing Keys
- Sep 06, 2013 — Raising My Game on Security
- Sep 04, 2013 — The CommonsGuy 2013 Whirled Tour
- Sep 03, 2013 — The Busy Coder's Guide to Android Development Version 5.1 Released
- Aug 13, 2013 — App Ops Activity Out of AOSP
- Aug 08, 2013 — Developer PSA: Please Fix Your Clipboard Handling
- Aug 07, 2013 — For Android APIs, Think Streams, Not Files
- Jul 30, 2013 — Notifications, Foreground Services, and Android 4.3
- Jul 26, 2013 — App Ops Developer FAQ
- Jul 25, 2013 — There's Compatibility, and Then There's Compatibility
- Jul 24, 2013 — Musings on Android 4.3
- Jul 23, 2013 — Full Text Searching, The Book, and You!
- Jul 22, 2013 — The Busy Coder's Guide to Android Development Version 5.0 Released
- Jul 08, 2013 — Warescription Site Revamp
- Jul 05, 2013 — Warescription Site Downtime
- Jun 17, 2013 — Calling for More Android Developer Support Sites
- Jun 10, 2013 — The Busy Coder's Guide to Android Development Version 4.9 Released
- Jun 03, 2013 — Don't Forget Ethernet
- May 28, 2013 — Don't Forget x86
- May 23, 2013 — Don't Manually Modify Your Eclipse Build Path... Except Now for R22
- May 22, 2013 — Remember, Google Play Services is Proprietary
- May 19, 2013 — Uncanny App Valley: Is It Really a Cliff?
- May 16, 2013 — Android Studio Early Access Preview... and You
- May 15, 2013 — Android Studio... and the Book
- May 06, 2013 — Fun With Density Resource Set Qualifiers
- May 03, 2013 — The Busy Coder's Guide to Android Development Version 4.8 Released
- May 02, 2013 — Interesting Tidbits from the Latest Device Dashboards
- Apr 29, 2013 — License Or It Doesn't Exist
- Apr 25, 2013 — CWAC EndlessAdapter Users: Upgrade, Please
- Apr 23, 2013 — Disabled Notifications: Setting Survives Uninstall
- Apr 18, 2013 — Android 4.2 + HDMI != Presentation Support
- Apr 17, 2013 — Don't Have an Accidental API
- Apr 15, 2013 — Developer Support Teams: Monitor a StackOverflow Tag
- Apr 10, 2013 — Jeff Gilfelt's Android SDK Samples Search
- Apr 08, 2013 — Java Serialization? SRSLY?
- Mar 28, 2013 — Games: Handlheld, to Presentation, to OUYA
- Mar 26, 2013 — DC Droids Presentation Tomorrow
- Mar 19, 2013 — The Busy Coder's Guide to Android Development Version 4.7 Released
- Mar 15, 2013 — ...And This Is Why I Work This Way
- Mar 12, 2013 — My Lessons from Facebook
- Mar 11, 2013 — More on Xperia and AlarmManager
- Mar 08, 2013 — Warning: Sony Xperia Z, STAMINA, and AlarmManager
- Mar 07, 2013 — SSL on Android: OnionKit
- Mar 06, 2013 — SSL on Android: Memorizing and Pinning
- Mar 05, 2013 — SSL on Android: About That Man in the Middle
- Mar 04, 2013 — SSL on Android: The Basics
- Feb 27, 2013 — PSA: Get Your Maps V1 Keys Now!
- Feb 20, 2013 — Android 4.2 for Kiosk Apps
- Feb 19, 2013 — The Busy Coder's Guide to Android Development Version 4.6 Released
- Feb 18, 2013 — WebView, addJavascriptInterface(), and Android 4.2 Change
- Feb 14, 2013 — App Quality Alliance's Resources for Android Developers
- Jan 29, 2013 — Maps V2 May Need ACCESS_NETWORK_STATE Permission
- Jan 28, 2013 — What Not To Put In Your Repo
- Jan 23, 2013 — No, Android Does *Not* Have a Crop Intent
- Jan 22, 2013 — Letting the Device Sleep, Intelligently
- Jan 15, 2013 — Toasts: Should Not Be Important, May Be Blocked
- Jan 02, 2013 — The Busy Coder's Guide to Android Development Version 4.5 Released
- Dec 26, 2012 — Disable Unusable Activities
- Dec 18, 2012 — Warning: Do Not Use android.hardware.camera.any Yet
- Dec 17, 2012 — Maps V1 Keys: Going, Going, ...
- Dec 12, 2012 — Think About Font Scale
- Dec 11, 2012 — Allow Overrides of Your Overrides
- Nov 25, 2012 — The Busy Coder's Guide to Android Development Version 4.4 Released
- Nov 20, 2012 — Miscellaneous Android 4.2 Regressions
- Nov 19, 2012 — Think About android:allowBackup
- Nov 19, 2012 — Busting a Mobile App Dev Patent
- Nov 12, 2012 — Fixing the "Fixing the First Impression"
- Nov 08, 2012 — Minimize Open Files on External Storage, Please
- Nov 06, 2012 — Announcing AndGlobe
- Nov 05, 2012 — The Busy Coder's Guide to Android Development Version 4.3 Released
- Nov 01, 2012 — I Shall Return. Eventually.
- Oct 23, 2012 — No Unnecessary Accounts, Please
- Oct 19, 2012 — 4.1.2, Locations, Google Apps, and a UX WTF? Moment
- Oct 16, 2012 — Conditional Preference Headers
- Oct 16, 2012 — The DMCA, the Play Store, and You
- Oct 15, 2012 — Seeking Global Android Developer Support Sites
- Oct 09, 2012 — USB Debugging May Be Hazardous To Your Health
- Oct 05, 2012 — Be Careful What You Wish For
- Sep 27, 2012 — The Busy Coder's Guide to Android Development Version 4.2 Released
- Sep 25, 2012 — Trust and the Mobile OS
- Sep 11, 2012 — Knowledge Transfer vs. Support
- Sep 07, 2012 — Android's Lessons for New Mobile Operating Systems: Community
- Sep 06, 2012 — Android's Lessons for New Mobile Operating Systems: App Distribution
- Sep 05, 2012 — Android's Lessons for New Mobile Operating Systems: Security
- Sep 04, 2012 — Android's Lessons for New Mobile Operating Systems: Audience
- Aug 27, 2012 — The Busy Coder's Guide to Android Development Version 4.1 Released
- Aug 20, 2012 — Multiple-View ViewPager Options
- Aug 14, 2012 — About Those @Override Errors
- Aug 02, 2012 — Plan Your Production Keystore Strategy
- Aug 01, 2012 — Learning From the Kies Incident
- Aug 01, 2012 — The Busy Coder's Guide to Android Development Version 4.0 Released
- Jul 30, 2012 — External Storage Moved. Again.
- Jul 26, 2012 — Beware the 1% Solution
- Jul 25, 2012 — Think About READ_EXTERNAL_STORAGE Now
- Jul 24, 2012 — The Linkify Problem: The Detection and the Mitigation
- Jul 23, 2012 — The Linkify Problem: The Patent and the Behavior
- Jul 17, 2012 — Accentuate the Positive (Navigation)
- Jul 12, 2012 — READ_LOGS Regression
- Jul 09, 2012 — Don't Advertise Intent Filters That Are Not Yours
- Jul 08, 2012 — The Busy Coder's Guide to Android Development Version 3.8 Released
- Jul 05, 2012 — Who Will Become Android's Red Hat?
- Jul 03, 2012 — Jelly Bean, Renderscript, and Deprecation
- Jun 27, 2012 — ADT R20 and My Book Schedule
- Jun 26, 2012 — I, For One, Welcome Our New 1080p Tablet Overlords
- Jun 16, 2012 — Omnibus v0.8 Released
- Jun 08, 2012 — Removing Rogue Menus (Or, Why Targeting 14 Might Be Necessary)
- May 29, 2012 — Omnibus v0.7 Released
- May 24, 2012 — A Community-Driven Compatibility Library
- May 10, 2012 — Long-Running Services and User Acceptance
- May 04, 2012 — Omnibus v0.6 Released
- May 01, 2012 — It's the User's Data, Dammit
- Apr 25, 2012 — How I Isolated the Adobe Reader Activity Issue
- Apr 23, 2012 — Omnibus v0.5 Released
- Apr 20, 2012 — AsyncTask Threading Regression Confirmed
- Apr 16, 2012 — Omnibus v0.4 Released
- Apr 10, 2012 — Making BACK Way Too Complicated
- Mar 31, 2012 — Omnibus v0.3 Released
- Mar 29, 2012 — UX Strategy Vs. UX Tactics
- Mar 26, 2012 — The Busy Coder's Guide to Advanced Android Development Version 2.6 Released
- Mar 22, 2012 — AsyncTask: Beware of Curves Ahead
- Mar 18, 2012 — Omnibus v0.2 Released
- Mar 13, 2012 — One Fewer Google I|O 2012 Attendee
- Mar 12, 2012 — The Omnibus Begins
- Mar 08, 2012 — The Two Sides of Piracy
- Mar 05, 2012 — The Busy Coder's Guide to Advanced Android Development Version 2.5 Released
- Mar 03, 2012 — Tapjacking, Defunct?
- Feb 23, 2012 — Think About Principles
- Jan 30, 2012 — The Busy Coder's Guide to Advanced Android Development Version 2.4 Released
- Jan 27, 2012 — Think Enterprise (No, Not Starships or Rental Cars...)
- Jan 24, 2012 — Be Careful With Static Stuff on AsyncTask
- Jan 16, 2012 — A Proof Is Worth a Thousand Posts
- Jan 16, 2012 — Secure Against Screenshots
- Jan 05, 2012 — The Busy Coder's Guide to Advanced Android Development Version 2.3 Released
- Dec 14, 2011 — The Big Book Reboot: The Trails
- Dec 05, 2011 — The Busy Coder's Guide to Advanced Android Development Version 2.2 Released
- Dec 04, 2011 — Agency in the World of CarrierIQ
- Dec 01, 2011 — The Big Book Reboot: Why
- Dec 01, 2011 — The Big Book Reboot: Why
- Nov 29, 2011 — The Busy Coder's Guide to Android Development Version 3.7 Released
- Nov 21, 2011 — CWAC-AndDown: Markdown for Android (and a plea for help)
- Nov 12, 2011 — Manufacturers: Keep VM Namespaces Clean, M'kay?
- Nov 09, 2011 — AnDevCon II Presentations
- Nov 07, 2011 — Android Market Data: Empowering the Bad Guys
- Nov 02, 2011 — Android Programming Tutorials Version 4.1 Released
- Oct 22, 2011 — Tuning Android Applications Version 0.4 Available
- Oct 19, 2011 — Updates on Updates
- Oct 19, 2011 — Ice Cream Sandwich SDK Curiosities
- Oct 17, 2011 — The Busy Coder's Guide to Advanced Android Development Version 2.1 Released
- Oct 14, 2011 — Recent Conference Presentations
- Oct 13, 2011 — Market in Every Touchpoint
- Oct 03, 2011 — Activities are Not Destroyed to Free Up Heap Space
- Oct 02, 2011 — Servers Are Risky. Mobile Servers Are Riskier
- Sep 28, 2011 — Kindle Fire: Preliminary Thoughts
- Sep 15, 2011 — b.android.com: It's Full of Stars
- Sep 08, 2011 — Android's Advances: Review and Preview
- Sep 06, 2011 — Tuning Android Applications Version 0.3 Available
- Sep 06, 2011 — Android Programming Tutorials Version 4.0 Released
- Sep 02, 2011 — Pondering the Amazon Tablet
- Sep 01, 2011 — Google TV Emulator: Seemingly Pointless
- Aug 31, 2011 — MTP, External Storage, and Your App
- Aug 23, 2011 — Beginning Android: Keep Going?
- Aug 19, 2011 — Tuning Android Applications Version 0.2 Available
- Aug 15, 2011 — Musings on Motorola Mobility
- Aug 09, 2011 — Android Programming Tutorials Version 3.9 Released
- Aug 08, 2011 — Gmail Gone, and the Risk of Undocumented APIs
- Jul 21, 2011 — BACK Means Back
- Jul 20, 2011 — Touchqode: How Not to Write a License
- Jul 13, 2011 — Broadcast Regression Confirmed
- Jul 11, 2011 — Tuning Android Applications Version 0.1 Available
- Jul 06, 2011 — The Busy Coder's Guide to Advanced Android Development Version 2.0 Released
- Jul 05, 2011 — BOOT_COMPLETED Regression
- Jul 02, 2011 — About Binder Caching
- Jun 30, 2011 — Warning: Activity Intent Extras Can Be Public
- Jun 28, 2011 — Share Where the User Wants
- Jun 18, 2011 — Android Developer Chats
- Jun 13, 2011 — The Busy Coder's Guide to Advanced Android Development Version 1.9.9 Released
- Jun 13, 2011 — Android Programming Tutorials Version 3.5 Released
- Jun 08, 2011 — Please Ignore the HOME Button
- Jun 07, 2011 — Advice for Niche Android Hardware Manufacturers
- Jun 02, 2011 — Google Apps For Somebody Other Than Me
- Apr 28, 2011 — Android Programming Tutorials Version 3.4 Released
- Apr 28, 2011 — Android Programming Tutorials Version 3.3 Released
- Apr 20, 2011 — The Busy Coder's Guide to Advanced Android Development Version 1.9.3 Released
- Apr 19, 2011 — Suppressing Android Permissions
- Mar 31, 2011 — The Busy Coder's Guide to Android Development Version 3.6 Released
- Mar 28, 2011 — An Open Letter to Qualcomm on the MDP
- Mar 21, 2011 — Android Programming Tutorials Version 3.2 Released
- Mar 21, 2011 — The Busy Coder's Guide to Advanced Android Development Version 1.9.2 Released
- Mar 15, 2011 — Spam, or How Not to Promote Your Product or Service
- Mar 09, 2011 — Correcting an AnDevCon Presentation
- Feb 26, 2011 — The Busy Coder's Guide to Android Development Version 3.5 Released
- Feb 25, 2011 — Nested PreferenceScreens + Honeycomb = Ugly
- Feb 25, 2011 — XOOM, Permissions, and the Android Market
- Feb 22, 2011 — When To Tablet-ify Your App
- Feb 15, 2011 — The Principle of Least Profanity
- Feb 14, 2011 — The Nature of the Activity
- Feb 11, 2011 — Microsoft, Nokia, and the Importance of Open
- Feb 09, 2011 — Honeycomb (Or, Why I Haven't Blogged Much Recently)
- Jan 09, 2011 — FAQ: Mobipocket Files on the Kindle for Android App
- Jan 07, 2011 — CWAC-LocationPoller v0.1 Released
- Jan 06, 2011 — Android Programming Tutorials Version 3.1 Released
- Jan 05, 2011 — The Busy Coder's Guide to Android Development Version 3.4 Released
- Dec 30, 2010 — Adding Headings to a CursorAdapter
- Dec 28, 2010 — WakefulIntentService Updated, Welcomes Its New Donut Overlord
- Dec 27, 2010 — EndlessAdapter Updated (Now With More Endlessness!)
- Dec 06, 2010 — Preliminary Thoughts on the Android 2.3 SDK
- Dec 01, 2010 — Composition Over Inheritance
- Nov 23, 2010 — The Busy Coder's Guide to Android Development Version 3.3 Released
- Nov 11, 2010 — With a Feed, What Could We Deliver?
- Nov 09, 2010 — Markets as Silos
- Oct 23, 2010 — The Busy Coder's Guide to Android Development Version 3.2 Released
- Oct 20, 2010 — Mac App Store: Here We Go Again
- Oct 14, 2010 — Thinking 'Bout Google TV Apps
- Oct 09, 2010 — New Warescription Site
- Oct 08, 2010 — Calendar Changes Coming
- Oct 07, 2010 — Connected TV and the Tank
- Oct 01, 2010 — Free Android Books for University Courses
- Sep 29, 2010 — Another Use for getApplicationContext(): Binding and Rotation
- Sep 28, 2010 — Android Devices and the Warescription
- Sep 27, 2010 — Amazon and Android
- Sep 12, 2010 — A Real Use for getApplicationContext()!
- Sep 10, 2010 — Android Beyond Java 0.5 Released
- Sep 10, 2010 — AsyncTask and Screen Rotation
- Sep 09, 2010 — ViewSwiper: Turn Pages with Gestures
- Sep 08, 2010 — Decoupled Activities
- Sep 07, 2010 — Advanced Android Update, and Parcel Reboot
- Sep 01, 2010 — Android Programming Tutorials Version 3.0.1 Released
- Aug 30, 2010 — What is Dalvik?
- Aug 12, 2010 — Evernote, and Why You Need to Think About Permissions
- Aug 11, 2010 — Activity or Notification via Ordered Broadcast
- Aug 10, 2010 — Android Programming Tutorials Version 3.0 Released
- Aug 02, 2010 — Java: The Good Parts Version
- Jul 19, 2010 — Symbian DevCo...and Android
- Jul 14, 2010 — TV Out Is...Incredible
- Jul 14, 2010 — Android Parcel Project Update
- Jul 13, 2010 — The Busy Coder's Guide to Advanced Android Development Version 1.9 Released
- Jul 12, 2010 — Android Programming Tutorials Version 2.9 Released
- Jul 11, 2010 — BackupManager: Unsafe At Any Speed
- Jun 29, 2010 — Sensors: Working, But How?
- Jun 28, 2010 — Curation As Problem, Not Solution
- Jun 25, 2010 — Android Programming Tutorials Version 2.8 Released
- Jun 25, 2010 — Why Android Developers Need a Business Model
- Jun 23, 2010 — I'm Not Dead Yet
- Jun 11, 2010 — Android Programming Tutorials Version 2.1 Released
- Jun 09, 2010 — Twitter Examples: Going, Going, ...
- Jun 08, 2010 — WakefulIntentService v0.2.0 Released
- Jun 07, 2010 — ColorMixer 0.3.3 Released
- Jun 07, 2010 — The Busy Coder's Guide to Advanced Android Development Version 1.6 Released
- Jun 02, 2010 — Google I|O 2010 Android Videos Posted
- Jun 01, 2010 — The Busy Coder's Guide to Android Development Version 3.1 Released
- May 27, 2010 — Identifying an Emulator in Android 2.2
- May 26, 2010 — HTML Tags Supported By TextView
- May 25, 2010 — TouchListView 0.1 Released
- May 24, 2010 — Application Concept: resqr
- May 24, 2010 — How Not To Sell Android Apps
- May 24, 2010 — AIR on Android: An Open Letter to Adobe CEO Shantanu Narayen
- May 24, 2010 — Android Beyond Java Version 0.3 Released
- May 17, 2010 — Parcel Developer Guide, Specifications Published
- May 16, 2010 — Multiple-Choice List Check Events
- May 14, 2010 — Nexus One Web Store, We Hardly Knew Ye
- May 14, 2010 — Developer Assistance at Google I/O
- May 12, 2010 — Two New Presentations on Slideshare
- May 12, 2010 — Nexus One: Success or Failure?
- May 11, 2010 — Announcing the Android Parcel Project
- May 08, 2010 — Sequential Animations
- May 07, 2010 — Android and the CafePress Model
- May 07, 2010 — Android APIs: A Spectrum of Openness
- May 01, 2010 — Another Four-to-Free Guarantee Update
- Apr 30, 2010 — Snaptic Contest
- Apr 30, 2010 — FroYo, Public Preview vs. General Release
- Apr 29, 2010 — Android in 2013
- Apr 28, 2010 — Android Developer Blog, Back From the Dead?
- Apr 28, 2010 — Palm and Android, Friends?
- Apr 28, 2010 — HTC Incredible and External Storage
- Apr 28, 2010 — Android Beyond Java 0.2 Released
- Apr 27, 2010 — First Post!
Meta