Android GDE Deck

Deck | Stream

Ataul Munim

Annyce Davis

Using Code Commits as Clues

Everyone’s busy. Code is committed every day. Yet the feature fails to ship. Have you ever had

Thu, 12 Mar 2020 18:58:37 +0000

Crafting a First 90 Days Plan

I’m a Planner. I like to go into a situation with as many facts as possible. In the absence of

Tue, 19 Nov 2019 18:13:46 +0000

Android Dev Summit 2019 Recap

This was my first time attending Android Dev Summit in person.  It was great to come to Californ

Thu, 24 Oct 2019 22:03:16 +0000

Dev Machine Setup – Mobile Development

A new machine. Now what? Time to set it all up. Inevitably I end up going back and forth from my old

Wed, 07 Aug 2019 01:12:45 +0000

[COURSE]: Programming Foundations: Fundamentals

My latest course has been released, Programming Foundations: Fundamentals. It’s for people who

Wed, 24 Jul 2019 11:19:05 +0000

Dagger Multibinding in Dynamic Feature Modules

We’re adding the use of dynamic feature modules to our app. This will help us to improve build

Fri, 14 Jun 2019 13:46:37 +0000

How To Deprecate an Internal Mobile Application

Seven years ago, Zola Electric welcomed its first Android application into the world. It was designed

Thu, 02 May 2019 13:24:58 +0000

Bash Scripting for Flutter Tests and Code Coverage Reports

Do you have a development task that is mostly a series of commands? Do you have to perform that task

Tue, 19 Mar 2019 10:03:58 +0000

Talk: Talk to Me Right!

Software development is challenging because as a technical team, we have to figure out what to do, do

Sat, 02 Feb 2019 10:12:48 +0000

Frustration-Free Code Reviews

Hopefully, code reviews are already a part of your software development process. They should be a col

Wed, 05 Sep 2018 15:02:51 +0000

Britt Barak

Corey Latislaw

Chiu-Ki Chan

Cyril Mottier

Daichi Furiya

Dan Lew

The LOGAF Scale

Have you ever gotten into a heated debate on a pull request, only to find out that the person critiqu

Wed, 15 Apr 2020 13:00:00 GMT

Install Referrer Library Permissions Snafu

Update 3/13/2020: Install Referrer 1.1.2 was released recently which fixes the problem below; go get

Tue, 11 Feb 2020 14:43:33 GMT

Coroutines and Java Synchronization Don't Mix

Suppose you've got a critical section of code, meaning only one process should execute it at a time.I

Tue, 28 Jan 2020 14:43:55 GMT

When WorkManager Stops Working

When using WorkManager, be wary about the implications of using unique work with the APPEND policy.Un

Tue, 07 Jan 2020 14:58:27 GMT

Year in Review (2019)

Another year, another annual review of my public contributions to the world.My output is down this ye

Thu, 02 Jan 2020 15:22:20 GMT

Android Pseudolocalization Update

It's been many years since I last wrote about Android pseudolocalization. There's even some official

Mon, 09 Dec 2019 14:18:47 GMT

Fixing Android Studio Keyboard Shortcuts

I absolutely adore keyboard shortcuts because they save me both time and money. However, there are tw

Mon, 11 Nov 2019 12:40:54 GMT

Why I’m No Longer Traveling for Conferences

I am a tech conference junkie.I owe much of my career to them: The amount of knowledge I’ve learned i

Tue, 10 Sep 2019 14:00:00 GMT

Never break the chain: use Kotlin's extension functions

Years ago I wrote about properly reusing operators in RxJava. In summary, the wrong way to reuse oper

Mon, 10 Jun 2019 14:00:00 GMT

Preventing Unwanted Content from Google Keyboard

Android 7.1 added the ability for IMEs to send images (and more) to EditTexts.Supporting rich content

Mon, 25 Mar 2019 19:04:03 GMT

Adding `git log -S` to your code detective toolbox

Programming often involves detective work. Properly fixing a problem often requires understanding how

Tue, 19 Feb 2019 15:31:51 GMT

When to use Kotlin's standard functions

Kotlin comes with several high-level, generic standard functions that apply to any object: let(), run

Tue, 12 Feb 2019 15:22:15 GMT

Year in Review (2018)

It's time for my annual review. This record is more for me than it is for you, but hey, if you want a

Sat, 05 Jan 2019 16:34:09 GMT

The Reality of Migrating to AndroidX

This year, Google rebranded the support Android libraries to Android Jetpack (aka AndroidX).Particula

Wed, 14 Nov 2018 15:00:00 GMT

Edina City Council Election (2018)

Last year I moved from Minneapolis to a neighboring suburb, Edina. One of the downsides of moving was

Mon, 08 Oct 2018 12:13:40 GMT

Daniele Bonaldo

Kotlin as scripting language - live Youtube streaming

The first remote-only meetup for Android Developers Italia

2020-03-22T00:00:00+00:00

Winter steam train

A 100 years-old steam train running on a snowy, winter morning

2020-01-02T00:00:00+00:00

Kotlin as scripting language

How to write elegant and highly maintainable scripts in Kotlin

2019-12-23T00:00:00+00:00

Intro to Google Cast at DevFest Veneto 2019

Enhance your existing app or website and show content straight to the user TV with Google Cast

2019-11-16T00:00:00+00:00

Photo exhibition: the Vaia storm

A collection of aerial photos I took in the woods and presented at a photo exhibition in my hometown,

2019-10-14T00:00:00+00:00

The making of an Android library: Download Manager v2

How to get started creating a library, what are the difficulties we encountered and finally how to pu

2019-04-05T00:00:00+00:00

Intro to Flutter

An introduction to Flutter, Google's multi-platform mobile applications framework, presented at Progr

2019-01-21T00:00:00+00:00

Do-it-yourselfie

An Android Things-powered photo booth, presented at DevFest Gorky 2018

2018-10-27T00:00:00+00:00

Creating an improved Android Download Manager

An open-source Android library to easily manage files download

2018-09-18T00:00:00+00:00

Danny Preussler

Hi Gabor,

Hi Gabor,I’m not waging war against anything. Just because I don’t sell myself 100% to a tool does no

Wed, 06 May 2020 07:58:56 GMT

Hi Ian,

Hi Ian,I never said Inject is third-party, I actually explicitly said that it's coming from JSR 3

Wed, 06 May 2020 07:40:32 GMT

Clean Dagger

A pragmatic guide to dependency injection on Android© Kai Oberhäuser on UnsplashOver the years many o

Mon, 04 May 2020 14:59:37 GMT

yes! problem is that the 3rd era will be: unit tests didn't help with refactoring and then less of…

yes! problem is that the 3rd era will be: unit tests didn't help with refactoring and then less o

Sat, 18 Apr 2020 09:22:54 GMT

Ian Lake just tried your approach but then ran into:

Ian Lake just tried your approach but then ran into:java.lang.IllegalStateException: You can consumeR

Thu, 16 Apr 2020 14:50:53 GMT

Thanks, these are great tips! Will add the first one to the article!

Thanks, these are great tips! Will add the first one to the article!

Fri, 10 Apr 2020 11:34:42 GMT

I wanted to keep the focus on the article but also thought about having more code to show examples.

I wanted to keep the focus on the article but also thought about having more code to show examples.Le

Thu, 09 Apr 2020 17:48:47 GMT

Testing the untestable — the case of the ViewModel delegate

Testing the untestable — the case of the ViewModel delegatePhoto by Victor Garcia on UnsplashAndroid’

Wed, 08 Apr 2020 15:51:38 GMT

Great thoughts but how is full containment gonna help?

Great thoughts but how is full containment gonna help?The virus won’t go away

Sat, 14 Mar 2020 23:00:45 GMT

Thanks for feedback.

Thanks for feedback. My problem with the custom factories for parametrized tests is that I dont reall

Sun, 16 Feb 2020 16:42:39 GMT

David González

Donn Felker

Elif Boncuk

Enrique Lopez Mañas

Erik Hellman

Huyen Tue Dao

Huỳnh Quang Thảo

Linux: large memory allocation history

Linux: large-memory management historiesThis blog post will summarize all the efforts from the Linux

Thu, 30 Apr 2020 14:46:30 GMT

1-week debugging the Kafka adventure

1-week of debugging the KafkaOur engineering team must integrate the system into the partner’s new in

Sat, 26 Oct 2019 12:48:18 GMT

How does the Docker DNS work?

Today, I have an issue related to the DNS inside my docker container. I ask myself a very “obvious” q

Wed, 04 Sep 2019 22:50:29 GMT

You don’t have to again on the second terminal because the isolation level can be affected at each…

You don’t have to again on the second terminal because the isolation level can be affected at each tr

Sun, 07 Jul 2019 18:32:18 GMT

5 Links — May 2019

5 Links — May 2019Every month, if not every day, I learn many things from my work or my colleagues. H

Mon, 03 Jun 2019 16:44:44 GMT

MySQL: Testing isolation levels

Testing MySQL isolation levelsACID (Atomic-Consistency-Isolation-Durability) is a set of database tra

Thu, 02 May 2019 00:22:21 GMT

Nice tutorial.

Nice tutorial. There are many differences between React and Next.JS. I love your quote about React De

Tue, 21 Nov 2017 18:15:28 GMT

Garbage Collector 101

This is a first topic after I start working for Lazada. Such a busy time for writing something useful

Fri, 16 Jun 2017 20:13:29 GMT

Jeroen Mols

Juhani Lehtimäki

Your bad companion app will drive away your customers

The quality of Android apps has really increased in the past years. I’ve not been writing many rambli

Mon, 02 Dec 2019 22:13:46 GMT

State of the Navigation Drawer

UI design patterns evolve. Some come into fashion and some go out of fashion. A pattern, once common,

Thu, 31 Jan 2019 07:11:01 GMT

Conference Talk: “Design-dev cooperation and fast Android prototyping”

Last year, Pierluigi Rufo (@pierluigirufo) and I were touring couple of conferences talking about Dev

Wed, 07 Feb 2018 15:58:56 GMT

UI Pattern Evolution — FAB-in-Bottom-Nav

I’ve been writing about Android UI Patterns now for nearly 10 years. In the Android ecosystem existin

Wed, 10 Jan 2018 14:19:30 GMT

Toolbar Delight

In this article we explain how and why we did our Social Steps app custom toolbar from implementation

Wed, 27 Sep 2017 17:06:38 GMT

On the Bottom Navigation Bar

Android bottom tabs, I mean Bottom Navigation, is here to stay. I have to admit that I wasn’t overly

Tue, 12 Sep 2017 10:15:35 GMT

Matias Duarte talks about the role of Android guidelines

The head of Android design in Google, Matias Duarte, posted a great post to G+ about the role of cons

Sun, 03 Sep 2017 19:04:20 GMT

Yahoo! Weather app — a followup

Yesterday, I wrote an article pointing out issues in the new Yahoo! Weather app. To my surprise the p

Sun, 03 Sep 2017 19:04:01 GMT

Nick Butcher and Roman Nurik on design consistency

In yesterday’s Android Design in Action video podcast Nick Butcher and Roman Nurik talked about desig

Sun, 03 Sep 2017 19:03:40 GMT

The new yardstick for the best Android design is here — Timely Alarm Clock

Tasks app is something I’ve been using as an example of great and simple Android app in many occasion

Sat, 02 Sep 2017 19:32:10 GMT

Kaushik Gopal

Kelly Shuster

Traveling & Conferencing as a Pumping Mom: A Manifesto

This post is a MANIFESTO on everything I have learned worked and did not work (for me) as a traveling

Fri, 13 Dec 2019 19:10:14 +0000

2017 Recap

Welp, another year has flown by, and I have to say this has been THE MOST EXCITING year of my entire

Tue, 02 Jan 2018 23:13:49 +0000

2016 Recap

I can’t believe that 2016 is coming to a close! This has been quite a year with a lot of really

Wed, 20 Dec 2017 22:03:18 +0000

Jackson JSON Parser

Convergence by Jackson Pollock*Parsing a JSON response into a Java object is a super common task in A

Wed, 07 Dec 2016 04:59:13 +0000

Fragmented Episode 43

I’m super excited to share that I was on the Fragmented Podcast again, this time for their Goog

Wed, 01 Jun 2016 15:06:37 +0000

Google I/O 2016

I just got back from a FANTASTIC week in Mountain View for Google I/O 2016! It was my 3rd I/O (I went

Wed, 25 May 2016 02:29:36 +0000

Fragmented Episode 40

I am very excited to share that I was on Episode 40 of Fragmented! Fragmented is an excellent podcast

Tue, 17 May 2016 00:55:02 +0000

Droidcon Italy

In April I had the extreme honor of speaking at Droidcon Italy, in the beautiful city of Torino!  It

Sun, 01 May 2016 23:22:44 +0000

Accessibility Testing on Android

I published a blog post today on the thougbot technical blog about four simple ways you can test your

Fri, 29 Apr 2016 17:06:37 +0000

New Page: Reading

During my Denver Business Journal 40 Under 40 interview, I was asked what I would have been voted “Mo

Fri, 22 Apr 2016 23:29:37 +0000

Marcos Placona

Building a video recording application in Android with CameraX

Recording videos in Android used to be a very involved task where it was necessary to write a lot of

Mon, 27 May 2019 10:41:43 GMT

Android Jetpack and Lifecycles

Handling configuration changes in Android can be a tricky subject. Configuration changes happen when

Sat, 04 May 2019 10:41:43 GMT

Handling your business calls and texts like a… boss!

I dread the idea of having ever to change my phone number. Be it because I’m getting spammed, or beca

Thu, 28 Mar 2019 10:49:40 GMT

Send and Receive SMS messages with Kotlin

Kotlin is the new type-inferred hotness in the world of JVM languages giving you a single unified lan

Thu, 11 May 2017 00:00:00 GMT

Certificate Pinning in Android

Certificate pinning is a security mechanism which allows HTTPS websites and applications using HTTPS

Fri, 23 Dec 2016 17:01:01 GMT

Tampering Detection in Android

Tampering detection is a preventive measure used in mobile applications to help ensuring that a third

Thu, 22 Dec 2016 16:31:01 GMT

Storing your secure information in te NDK

Storing your secure information in the NDKReverse engineering and tampering can be easily accomplishe

Wed, 21 Dec 2016 16:34:10 GMT

OSX Pro Tip for .NET Environment Variables

I use environment variables in all my apps to make sure none of my secret keys end up in GitHub. In C

Tue, 22 Nov 2016 10:41:43 GMT

Building a beautifully smart form in Android using RxJava

I don’t think I know a single Android developer who’s not stoked about Reactive Programming with RxAn

Sun, 13 Nov 2016 10:17:16 GMT

Listen to your Android apps heartbeat with Stetho

I probably work with the web as much as I do with mobile. On the web, developer tools like the Chrome

Tue, 25 Oct 2016 12:41:10 GMT

Mark Allison

Material Shape: Living On The Edge

One of the foundations of Material Design 2.0 is the ability to define shapes to reinforce the brandi

Fri, 22 May 2020 09:00:00 +0000

Material Shape: Gotchas

One of the foundations of Material Design 2.0 is the ability to define shapes to reinforce the brandi

Fri, 15 May 2020 09:00:00 +0000

Material Shape: ShapeAppearance

One of the foundations of Material Design 2.0 is the ability to define shapes to reinforce the brandi

Fri, 08 May 2020 09:00:00 +0000

AnimatedIcons: Share

There is a nice micro-animation library at useanimations.com which contains some useful ani

Fri, 01 May 2020 09:00:00 +0000

AsyncAndroid: Introduction To Renderscript

I released a video for the AsyncAndroid 2020 and this article contains some additional information on

Fri, 24 Apr 2020 09:06:00 +0000

ConstraintLayout: Sized Align

ConstraintLayout is an extremely powerful thing, but is also somewhat complex because it has a number

Fri, 17 Apr 2020 09:00:00 +0000

D8 Desugaring

D8 replaced DX as the default dex compiler in Android Studio (and Android Gradle Plugin) 3.1. It runs

Fri, 10 Apr 2020 09:00:00 +0000

AnimatedIcons: Mail

There is a nice micro-animation library at useanimations.com which contains some useful animations wh

Fri, 03 Apr 2020 09:00:00 +0000

Android 11: WindowInsets

Getting Window Insets working correctly can be tricky. It’s a subject that we’ve looked a

Fri, 27 Mar 2020 10:00:00 +0000

AnimatedIcons: Archive

There is a nice micro-animation library at useanimations.com which contains some useful animations wh

Fri, 20 Mar 2020 10:00:00 +0000

Michael Evans

Michael Wolfson

My Work From Home Setup

I have been working as a full-time remote software developer for many years, and have created an effe

Sun, 22 Mar 2020 23:21:23 +0000

Things to Do in Denver

My sister put together this great list of things to do in Denver, and I wanted to make sure I put it

Tue, 28 Jun 2016 18:20:03 +0000

Fragmented Podcast - Material Design using the Support Libraries

I recently had the opportunity to be on the Fragmented Podcast.  I was pleased with how it turne

Thu, 07 Apr 2016 16:02:45 +0000

9 things I learned at Google IO 2014

I am giving an "Google IO Recap" talk at the Phoenix Mobile Meetup this week, and needed to organize

Thu, 17 Jul 2014 15:00:14 +0000

Droid of the Day is History

After 3 years of running my daily app, I have decided to move onto other projects. DOTD is not D

Mon, 07 Jul 2014 19:28:28 +0000

Starting a new role today (still with Epocrates/athenahealth)

Today I effectively start my new role in the 'Stability' group at Epocrates/athenahealth.  I wil

Mon, 30 Jun 2014 16:44:04 +0000

I have been selected as a Google Developer Expert in Android for 2014

I am proud to announce I have been selected to participate in the Google Developer Experts program.&n

Wed, 07 May 2014 12:56:11 +0000

GDGNA Summit Recap

I had the opportunity to visit the GooglePlex last week in support of the Google Developer Group prog

Wed, 26 Mar 2014 14:18:45 +0000

GDGPhoenix is less then a week away (Android Studio Tips)

Should be a good event this month, with information appropriate for all level of developer looking to

Fri, 21 Mar 2014 01:44:04 +0000

Google IO Registration Anxiety

 Google IO Developer Conference Dates and registration (gulp) was announced.https://plus.google.com/+

Fri, 21 Feb 2014 02:45:23 +0000

Google Fiber (Hopefully) coming soon!

Phoenix is on the shortlist for the next cities to get Google Fiberhttps://fiber.google.com/newcities

Fri, 21 Feb 2014 00:05:12 +0000

My Glass Explorer Glass

My Project Glass Glass from Google X.

Wed, 19 Feb 2014 02:27:10 +0000

Tate Museum London runs on Android

The Tate Modern Museum (in London) runs on #Android.These are their museum guides (complete with Acti

Wed, 19 Feb 2014 02:19:52 +0000

GMail Maintenance Department

Just got an email from "GMail Maintenance Department" instructing me to follow the very important ins

Wed, 19 Feb 2014 02:14:15 +0000

Android NULL Pointers (why can't people on StackOverflow read a StackTrace)

95% of the Android questions on StackOverflow can be solved by:1.  running Logcat (adb logcat)2.

Wed, 19 Feb 2014 02:11:45 +0000

"Droid Of The Day" Available Now in Android Market

I published my first official Android app to the market this morning.  Please download it, try it out

Tue, 18 May 2010 12:45:07 +0000

Manually updating Nexus One (for multitouch update)

As an early adopter, I find it hard to wait for Google to pick me, to push out the Over the Air (OTA)

Wed, 03 Feb 2010 18:40:14 +0000

Five Layer Mexican Dip

I made this for a football party (bummer, I won't need to make that again this season - I will be rea

Sun, 17 Jan 2010 22:20:29 +0000

Bittersweet Chocolate Pudding Pie with Crème Fraîche Topping

This pie gets requested over and over from my wife for her birthday (and any potluck, Wednesday, etc)

Sun, 17 Jan 2010 16:01:46 +0000

Mustafa Ali

Nelson Glauber

Paul Blundell

Raul Portales

Buscar piso con metodologías ágiles

Este mes nos mudamos de vuelta a Dublin tras más de 5 años en Amsterdam. Quien haya intentado buscar

Sun, 14 Sep 2014 13:40:57 +0000

Saliendo a correr con Android Wear

Continuando con el post anterior de las primeras impresiones con Android Wear, hoy comento lo que par

Sat, 12 Jul 2014 16:39:54 +0000

Primeras impresiones del Samsung Galaxy Gear / Android Wear

Durante Google I/O nos regalaron un smartwatch. Ahora que la conferencia está aún fresca -tan fresca

Sun, 29 Jun 2014 09:11:07 +0000

Abdicaciones, reyes no votados, censura y Monty Python

El Lunes, con la noticia de la abdicación del rey Juan Carlos, y como fan de los Monty Python, se me

Sat, 07 Jun 2014 13:31:04 +0000

[Juegos para Android] Wind-up Knight 2

En las conferencias de Google I/O de 2009 y 2010 (mira si hace de eso) hubo sesiones dedicadas a hace

Mon, 31 Mar 2014 10:00:47 +0000

[Juegos para Android] Eufloria

No había oído hablar de este juego hasta que en la GDC asistí a una charla de su creador. La charla m

Mon, 24 Mar 2014 11:00:18 +0000

[Juegos para Android] Ingress

Hoy toca un juego exclusivo de Android, hecho por Google.Siempre me han gustado los juegos que incluy

Mon, 17 Mar 2014 11:00:21 +0000

[Juegos para Android] Shadowrun Returns

Shadowrun Returns es un juego que se me había pasado bajo el radar. Llevaba tiempo en mi lista de j

Mon, 10 Mar 2014 11:00:17 +0000

[Juegos para Android] Anomaly 2

Vamos a por otra segunda parte. En su día me habia jugado el Anomaly Korea y me habia gustado bastant

Mon, 03 Mar 2014 11:00:26 +0000

[Juegos para Android] The Room Two

The Room fue uno de mis 3 juegos favoritos de 2013. Así que desde que me enteré de que estaban prepar

Mon, 24 Feb 2014 11:00:03 +0000

Rebecca Franks

Roberto Orgiu

Paradigm shifts with declarative UI

Picture by Alexas Fotos on PexelsDeclarative UI is not a new concept in the development world, but it

Mon, 27 Apr 2020 16:32:43 GMT

Some tests might need Android components you don’t want to mock nor run on a device when you are…

Some tests might need Android components you don’t want to mock nor run on a device when you are deve

Thu, 16 Apr 2020 06:52:17 GMT

Listening to Fragments… from the outside

Foto di Adrien Olichon da PexelsMost Android developers out there dealt at least once in their career

Wed, 01 Apr 2020 10:27:30 GMT

About Context, Themes, and traps

Photo by Clément H on UnsplashAs Android Engineers, we are well aware of Context, its duties and its

Fri, 06 Mar 2020 15:12:16 GMT

Compose and Model binding

Photo by Dayne Topkin on UnsplashNote: at the time of writing, Jetpack Compose has not yet been relea

Wed, 08 Jan 2020 13:17:33 GMT

A story about text size, data binding, and reacting

Photo by Karsten Würth (@karsten.wuerth) on UnsplashA lot of text based reading apps give users the a

Wed, 14 Aug 2019 20:55:43 GMT

About lists, snackbars, and why they don’t get along.

Image from Johannes Plenio — PixabayRecently, I have been working on a new feature of the core New Yo

Tue, 23 Jul 2019 14:42:03 GMT

Are You Reading That Story? We Won’t Distract You

We dim the status bar in our Android app so readers can focus on, well, reading.Illustration by Migue

Thu, 09 May 2019 15:49:28 GMT

I’m not sure this would answer your question (I might have misunderstood it), but I think that by…

I’m not sure this would answer your question (I might have misunderstood it), but I think that by def

Fri, 29 Mar 2019 16:45:10 GMT

Yes, you can run the test locally as it was a unit test, or on device/emulator

Yes, you can run the test locally as it was a unit test, or on device/emulator

Fri, 29 Mar 2019 14:06:20 GMT

Ryan Harter

Samuel Edwards

Unlocking Biometric Prompt – Fingerprint & Face Unlock

AndroidX Biometric gives us a single API for supporting Biometrics on Android devices via the Biometr

Thu, 07 May 2020 04:01:34 +0000

Android Device Mirroring and Recording

Mirroring and Recording what is on your physical Android Device to your computer isn’t trivial, but i

Sat, 25 Apr 2020 20:00:02 +0000

Where Should I Put Kotlin Code in an Android Project?

Based on the results of a poll of 371 Android developers, the majority of responses endorse using 

Sun, 12 Apr 2020 15:26:34 +0000

Android Biometrics UX Guide – User Messaging

Users Say: “Biometric…?”When I’ve demoed “Biometric” UIs to non-d

Fri, 03 Jan 2020 16:21:17 +0000

SQLDelight 1.x Quick Start Guide for Android

SQLDelight is most well known as a Kotlin multiplatform database library. As an Android Developer, th

Fri, 23 Aug 2019 20:59:47 +0000

Sharing Gradle Configuration in Multi-Module Android Projects

Using multiple modules in our Android projects help us split apart our code into logical components. 

Wed, 13 Mar 2019 02:09:06 +0000

“It Depends” Is The Answer To Your Android Question

I need to write a blog post called:“It depends” is the answer to every question in softwa

Mon, 11 Mar 2019 01:34:58 +0000

When You Should Use Null in Kotlin

I was recently reviewing code with a developer that is learning Kotlin and they were adamant that:

Mon, 25 Feb 2019 01:40:18 +0000

Hitting Publish is the Hardest Part of Blogging

I had been sitting on the draft of my post “When You Should Use Null in Kotlin” since Nov

Mon, 25 Feb 2019 00:06:31 +0000

Why We Need “fat” AARs for Android Libraries

I want the ability to create a single (“fat”) AAR artifact from multiple Android Librarie

Fri, 13 Jul 2018 12:05:26 +0000

Sebastiano Poggi

Playing with elevation in Android (part 2)

“Colors explosion at sunrise — Scottish Highlands” by Edoardo Brotto—on flickrPlaying with elevation

Tue, 06 Nov 2018 10:24:25 GMT

Playing with elevation in Android (part 1)

“The Ridge” by Edoardo Brotto — on flickrI recently wrote an article about elevation in Android, show

Tue, 06 Nov 2018 08:46:01 GMT

Kotlin and Android #3 — know your properties

“Neist Point at sunset — Isle of Skye” by Edoardo Brotto — on flickrtl;dr Kotlin properties are aweso

Thu, 13 Sep 2018 08:01:03 GMT

Kotlin and Android #2  —  Treacherous properties

“Pink Flamingos at sunrise” by Edoardo Brotto — on flickrKotlin and Android #2 — Treacherous properti

Thu, 06 Sep 2018 08:01:02 GMT

Kotlin and Android — an opinionated series (intro)

“Buzzard at sunset” by Edoardo Brotto — on flickrKotlin and Android — an opinionated series (intro)We

Mon, 27 Aug 2018 11:02:30 GMT

Kotlin and Android #1 — by lazy

“Griffon” by Edoardo Brotto — on flickrKotlin and Android #1 — by lazytl;dr by lazy is very convenien

Mon, 27 Aug 2018 11:02:00 GMT

Quick Android Studio tip: debug logs without code

“Stunning light and contrast in the Dolomites” by Edoardo Brotto — on flickrWhen debugging apps, we s

Tue, 15 May 2018 20:33:18 GMT

Where do layout_* attributes belong?

“Meteors Show” by Edoardo Brotto on flickrWhere do layout attributes belong?tl;dr: in the styles or i

Fri, 15 Sep 2017 14:29:42 GMT

Set up a CI for modern Android apps with CircleCI

“Hell” by Edoardo Brotto on FlickrThis is the second part of a two-parts series. In the first part we

Thu, 29 Jun 2017 11:52:21 GMT

Free continuous Integration for modern Android apps with CircleCI

Free Continuous Integration for modern Android apps with CircleCI“Skyfall” by Edoardo Brotto on Flick

Tue, 13 Jun 2017 09:29:06 GMT

SeongUg Jung

Sunset of my GDE life

Google Developer Expert (aka GDE) is one of Google Developer eco-system programs.Google supports deve

Sun, 01 Mar 2020 05:57:59 GMT

Map 과의 상호작용 분리하기

이전 포스팅(Link)에서 RxJava 로 GoogleMap 을 어떻게 관리하는지에 대해서 알아보았습니다.이번 포스팅은 Map 과 상호작용하는 과정을 어떻게 독립적으로 분리할 수 있

Sat, 05 Oct 2019 13:03:01 GMT

RxJava 로 관리하는 Google Map

Google Map 이나 다른 종류의 Map 서비스를 관리할 때 Map 을 어떻게 관리할 것인지 Map 접근자는 어떻게 할지는 큰 고민거리입니다.Google Map 에 대한 관리는

Sun, 25 Aug 2019 14:27:25 GMT

제가 코루틴을 잘 몰라서 시도해보려 했는데 잘 안되더군요. 받음글로 한번 작성해보심은 어떠신지요?

제가 코루틴을 잘 몰라서 시도해보려 했는데 잘 안되더군요. 받음글로 한번 작성해보심은 어떠신지요?

Wed, 07 Aug 2019 10:14:08 GMT

메인 코드가 RxJava 로 구성이 되어 있다면 전 이 방식을 더 선호합니다.

메인 코드가 RxJava 로 구성이 되어 있다면 전 이 방식을 더 선호합니다. AAC 의 것을 쓴다 하더라도 disposable 에 대한 자동실행처리는 별도로 구성해야���기 때문에

Wed, 07 Aug 2019 10:13:25 GMT

Lifecycle 에 맞춰 RxJava Stream 재실행하기

오랜만에 개발 글을 쓰려고 ���아왔습니다.오늘 쓰려는 내용은 Android Lifecycle 에 맞춰서 Observable/Single… 등등의 RxJava Stream 을 실행,

Tue, 06 Aug 2019 16:38:41 GMT

예제는 특정 라이프 사이클에 subscribe 하고 있는 stream 에 대해서 dipose 하도록 하는 것입니다.

예제는 특정 라이프 사이클에 subscribe 하고 있는 stream 에 대해서 dipose 하도록 하는 것입니다.Destroy 에 dispose 하도록 원한다면 해당 시점에 dis

Tue, 18 Jun 2019 15:45:21 GMT

이중과세보단 한국에 가져올때 (맥시멈 세금) -(싱가포르에서 낸 세금) 으로 낸다고 들었습니다.

이중과세보단 한국에 가져올때 (맥시멈 세금) -(싱가포르에서 낸 세금) 으로 낸다고 들었습니다.

Wed, 10 Apr 2019 14:27:19 GMT

ViewModel 에서 직접적으로 View 에 관여하고자 할때

ViewModel 에서 직접적으로 View 에 관여하고자 할때여기에는 2가지 방법을 사용할 수 있습니다.한가지는 reverse-Databinding 을 이용해서 뷰의 정보를 Obse

Thu, 20 Dec 2018 15:00:41 GMT

Scott Alexander-Bown

Somkiat Khitwongwattana

Ubiratan Soares

Wiebe Elsinga

Danny Preussler

Hi Gabor,

Hi Gabor,I’m not waging war against anything. Just because I don’t sell myself 100% to a tool does no

Wed, 06 May 2020 07:58:56 GMT

Hi Ian,

Hi Ian,I never said Inject is third-party, I actually explicitly said that it's coming from JSR 3

Wed, 06 May 2020 07:40:32 GMT

Clean Dagger

A pragmatic guide to dependency injection on Android© Kai Oberhäuser on UnsplashOver the years many o

Mon, 04 May 2020 14:59:37 GMT

yes! problem is that the 3rd era will be: unit tests didn't help with refactoring and then less of…

yes! problem is that the 3rd era will be: unit tests didn't help with refactoring and then less o

Sat, 18 Apr 2020 09:22:54 GMT

Ian Lake just tried your approach but then ran into:

Ian Lake just tried your approach but then ran into:java.lang.IllegalStateException: You can consumeR

Thu, 16 Apr 2020 14:50:53 GMT

Thanks, these are great tips! Will add the first one to the article!

Thanks, these are great tips! Will add the first one to the article!

Fri, 10 Apr 2020 11:34:42 GMT

I wanted to keep the focus on the article but also thought about having more code to show examples.

I wanted to keep the focus on the article but also thought about having more code to show examples.Le

Thu, 09 Apr 2020 17:48:47 GMT

Testing the untestable — the case of the ViewModel delegate

Testing the untestable — the case of the ViewModel delegatePhoto by Victor Garcia on UnsplashAndroid’

Wed, 08 Apr 2020 15:51:38 GMT

Great thoughts but how is full containment gonna help?

Great thoughts but how is full containment gonna help?The virus won’t go away

Sat, 14 Mar 2020 23:00:45 GMT

Thanks for feedback.

Thanks for feedback. My problem with the custom factories for parametrized tests is that I dont reall

Sun, 16 Feb 2020 16:42:39 GMT

Paul Trebilcox-Ruiz

No starter homes in Boulder isn’t really an issue.

No starter homes in Boulder isn’t really an issue. Boulder city has a very small footprint, and reall

Wed, 31 Jul 2019 17:34:36 GMT

I don’t have the project in front of me right now, but my guess would be updating this line

I don’t have the project in front of me right now, but my guess would be updating this linesetTargetA

Tue, 16 Jul 2019 15:55:34 GMT

Android’s CameraX and ML Kit

Announced at Google I/O this summer (2019), CameraX aims to alleviate some of the pain of using a cam

Wed, 29 May 2019 02:53:02 GMT

SparkFun Edge: First Impressions

Announced at the TensorFlow developer summit in early March, the SparkFun Edge is designed to allow d

Sun, 31 Mar 2019 15:24:17 GMT

Happen to have the code somewhere for the gray face mask?

Happen to have the code somewhere for the gray face mask? I’ve been trying to use the stock sceneform

Mon, 18 Mar 2019 00:53:23 GMT

Google Maps for Android Pt 2: User Location

In the previous article of this series, I covered how to set up Google Maps for Android, allowing you

Fri, 15 Feb 2019 15:26:53 GMT

Google Maps for Android Pt 1: Intro & Setup

I’ve always been fascinated by maps. They’re amazing at stoking the imagination about far away places

Sun, 13 Jan 2019 16:37:28 GMT

“How Did You Get Into Development”

The question of how people got into development and their first development jobs came up in a Denver

Fri, 09 Feb 2018 19:56:53 GMT

Moving Past “Blink” with Android Things

When you speak with developers about their experiences with IoT and electronics, you’ll often hear th

Tue, 07 Nov 2017 18:54:02 GMT

I really appreciate you getting this together and open sourcing it.

I really appreciate you getting this together and open sourcing it. I had been meaning to get into Pi

Sun, 03 Apr 2016 16:14:56 GMT

Sebastiano Gottardo

Thanks for the question!

Thanks for the question! I would assume the user is still part of the release bucket for 1.1.0 and wo

Thu, 14 May 2020 12:19:01 GMT

Wow, such a good response!

Wow, such a good response!I totally agree with you, and my general rule of thumb is 5% > 20% > 

Wed, 09 Oct 2019 10:11:12 GMT

Migrating to Room in the real world — Part 3

Migrating to Room in the real world — Part 3Bringing everything together.Photo by Dominic Hampton on 

Mon, 01 Jul 2019 10:16:02 GMT

It depends on your situation: how many developers in your team, how much of an annoyance using pure…

It depends on your situation: how many developers in your team, how much of an annoyance using pure S

Mon, 24 Jun 2019 19:30:09 GMT

Migrating to Room in the real world — Part 2

Migrating to Room in the real world — Part 2Preparing the ground and getting our hands dirty.Photo by

Mon, 24 Jun 2019 11:51:01 GMT

Thanks for sharing!

Thanks for sharing! As we mentioned in the article, hopefully this will be helpful not only in the co

Mon, 24 Jun 2019 10:36:35 GMT

I can’t say that I remember trying that!

I can’t say that I remember trying that! But I would guess that it depends whether the “purchase as a

Fri, 21 Jun 2019 06:37:42 GMT

Migrating to Room in the real world — Part 1

Migrating to Room in the real world — Part 1Analysis and planning.Photo by Sven Mieke on UnsplashProl

Mon, 17 Jun 2019 09:21:00 GMT

What are you keeping from me?

Photo by Micah Williams on UnsplashOn why default Proguard rules are importantA few days ago, while I

Mon, 04 Mar 2019 19:44:57 GMT

Yuki Anzai

Dagger に Fragment と FragmentFactory の生成をまかせる

Master of Dagger の改定版にも入れる予定です。ただいま鋭意執筆中です。もう少々お待ちください。 ViewModelFactory と同じような感じで FragmentFactory

Wed, 27 May 2020 07:12:00 +0000

VelocityTracker の使い方

VelocityTracker はタッチイベントの速度計算を簡単にするためのクラスです。Fling など速度がジェスチャーの構成要素になっているものに対して便利です。 VelocityTracker.o

Thu, 21 May 2020 03:46:00 +0000

mockito-kotlin で lambda を mock + @RunWith(AndroidJUnit4::class) のときは work around が必要

以下のような @RunWith(AndroidJUnit4::class) を使わない Unit Test は問題なく動くのですが、 class HogeTest { @Test f

Thu, 07 May 2020 00:59:00 +0000

Kotlin メモ : repeat

repeat 指定回数だけ action を実行します。 val count = supportFragmentManager.backStackEntryCount repeat(count) {

Wed, 18 Mar 2020 08:36:00 +0000

Drag を実装する その2 : GestureDetector

GestureDetector を使うと onScroll() で移動距離を教えてくれる。ただし、GestureDetector は ACTION_UP や ACTION_CANCEL を通知してくれな

Mon, 16 Mar 2020 06:03:00 +0000

assets 内のファイルの url

いつも忘れるのでメモっておく src/main/assets/index.html の url は file:///android_asset/index.html

Mon, 16 Mar 2020 02:09:00 +0000

Drag を実装する その1 : GestureDetector なし

Drag and scale | Android Developers (MotionEventCompat を使ってたりちょっと古い)を参考に変えたもの class SimpleDragView

Fri, 13 Mar 2020 00:19:00 +0000

dialogCornerRadius でダイアログの角丸具合を指定する

Android Pie(API Level 28)から ?android:attr/dialogCornerRadius でダイアログの角丸具合を指定できるようになりましたが、AppCompat や M

Wed, 11 Mar 2020 00:36:00 +0000

Material Design Components for Android 1.1.0 から Checkbox で android:button を指定するなら app:useMaterialThemeColors="false" も必要(なことが多い)

Checkbox のマークをカスタマイズするときは android:button に drawable resource を指定します。 例えば以下のような drawable を用意して Checkbo

Mon, 09 Mar 2020 13:47:00 +0000

Facebook sdk で を設定しているのに初期化されていないと怒られる問題に対応した

いやー、まったくひどい落とし穴でしたよ。 もとの構成はこんな感じです(facebookAppId の値はダミーです)。 build.gradle android { ... defa

Fri, 06 Mar 2020 06:30:00 +0000

moshi-kotlin (1.9.2) の proguard 設定ではまった

moshi の proguard 設定は https://github.com/square/moshi#r8--proguard にあります。 この設定だけだと java.lang.Illegal

Wed, 26 Feb 2020 02:18:00 +0000

突如 Gmail が ACTION_SENDTO での EXTRA_TEXT を fill しなくなったので対応した

以前のコード val intent = Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:$address") .putExtra(Intent.E

Sun, 16 Feb 2020 13:26:00 +0000

moshi で List や Map の Generics Type を指定する

いつも忘れるので val type = Types.newParameterizedType( Map::class.java, Hoge::class.java, Fuga:

Fri, 07 Feb 2020 05:21:00 +0000

フレームワークの preference は API Level 29 (Android 10) で Deprecated になりました。

android.preference パッケージ全体が API Level 29 で Deprecated になりました。https://developer.android.com/reference/

Thu, 30 Jan 2020 05:21:00 +0000

Android 10 (API Level 29) からは ClipboardManager の setPrimaryClip() にプロパティアクセスできない

API Level 29 未満はこう書けた val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as Clipboa

Thu, 30 Jan 2020 02:46:00 +0000

Atom 1.40.0 に Juno を入れようとすると Error: Installing "julia-client@0.11.3" failed で失敗する

Atom に uber-juno パッケージ(Juno)を入れようとしたがError: Installing "julia-client@0.11.3" failed で失敗してしまう。 結論としては

Tue, 28 Jan 2020 02:52:00 +0000

キリマンジャロ登山に持って行ったもの

旅行記はこちら「キリマンジャロ登山 2020 : タンザニア旅行記」 登山用品 夏用の寝袋 x 2夏用の寝袋1枚だと絶対寒い。2枚重ねで快適だった。マットTHERMAREST Zライト ソルザック自分

Sun, 19 Jan 2020 02:34:00 +0000

キリマンジャロ登山 2020 : タンザニア旅行記

動画はこちら https://www.youtube.com/playlist?list=PLU-4gjX0n_0UgVM7Ca98uiiEcW53CrOFX 2019年12月31日2020年1

Fri, 17 Jan 2020 15:17:00 +0000

Kotlin kernel for Jupyter notebooks で任意のライブラリを使う

動的に dependencies を追加するには @file:DependsOn を使います。 @file:DependsOn("com.squareup.moshi:moshi-kotlin:1.9

Mon, 30 Dec 2019 06:21:00 +0000

Kotlin kernel for Jupyter notebooks で %use でロードできるライブラリ

Kotlin kernel for Jupyter notebooks では magic commands として %use が用意されています。 %use でライブラリを指定すると、対応する Ma

Sun, 29 Dec 2019 02:42:00 +0000

The World Bank Data Catalog から GDP のデータを取得する

The World Bank Data Catalog では様々なデータを公開しています。 今回は World Development Indicators のデータを使いたいと思います。

Fri, 27 Dec 2019 08:40:00 +0000

Kotlin + Jupyter notebooks で給与の額面から手取りを求めてみる

このエントリは Fintalk Advent Calendar の24日目です。 Kotlin Conf 2019 で Kotlin for Data Science が発表されましたね。 今回

Tue, 24 Dec 2019 14:48:00 +0000

標準報酬月額と算定基礎届

このエントリは Fintalk Advent Calendar の20日目です。 「給与の額面から手取りを計算してみよう。」の中で、健康保険料や年金保険料を計算するベースとなる金額が標準報酬月額

Fri, 20 Dec 2019 15:45:00 +0000

賞与の額面から手取りを計算してみよう。

このエントリは Fintalk Advent Calendar の19日目です。 前回「給与の額面から手取りを計算してみよう。」で給与から引かれる社会保険料や税金がどう計算されているのか解説しまし

Thu, 19 Dec 2019 14:45:00 +0000
There is an app update available Refresh