Annyce Davis

Davis Technology Consulting

  • Home
  • About Me
  • Blog
  • Courses
  • Newsletter

Dagger Multibinding in Dynamic Feature Modules

June 14, 2019 by Annyce Davis

We’re adding the use of dynamic feature modules to our app. This will help us to improve build speeds, conditionally include features and decouple our code. As noted previously, we make use of Dagger Multibinding and the Android Job library to handle our background tasks.

When we created our first feature module we ran into an issue when we attempted to move the associated Job classes. Let me walk you through the problem, the solution we settled on and then proposed next steps.

Continue Reading

How To Deprecate an Internal Mobile Application

May 2, 2019 by Annyce Davis

Seven years ago, Zola Electric welcomed its first Android application into the world. It was designed to support our sales and service staff as they went throughout Tanzania introducing solar energy to folks. It served us well.

Since then we’ve grown as a company and our needs have expanded as well. This led us to focus on developing a new Android application which met the following requirements:

  • Resilient to unstable network conditions
  • Worked seamlessly offline
  • Used the latest Android best practices
  • Incorporated User Experience principles
Continue Reading

Tech Lead to Engineering Manager, Kicking & Screaming

April 7, 2019 by Annyce Davis

I can finally admit it: I was terrified! About three years ago my boss offered me the position of Android Development Manager. There was a flurry of thoughts that ran through my mind:

  • Am I ready for this?
  • Will my peers respect me as their boss?
  • I’m not good with other people’s “personal” problems
  • I love programming, I don’t want to lose my skills
  • …

You get the picture. Despite those thoughts, I reluctantly accepted the offer and within weeks, I quit. I wasn’t ready to be a “manager.” I went back to an individual contributor role and things were “normal” again. At least for a while…

Fast forward to today, I’m the Software Group Lead (Engineering Manager) at my company. I love my new role and the challenges that it brings. Each day is different from the next. You may be wondering, what happened to change my mind? Well, to be honest, it was a gradual process. There was no lightbulb moment, no ah-ha, just small adjustments in my thinking.

If you’re a Tech Lead and you’re wondering: Is management for me? What’s the difference between the two roles? How do I even move into management? I hope this helps.

Continue Reading

Bash Scripting for Flutter Tests and Code Coverage Reports

March 19, 2019 by Annyce Davis

Do you have a development task that is mostly a series of commands? Do you have to perform that task on a regular basis? If so, a script might be just what you need. Over the years I’ve wanted to learn bash scripting several times. Yet there’s always something else that takes priority and my desire to script takes a back seat. Not any more!

I finally decided to start learning how to write bash scripts and I want to share it with you in case you’d like to do the same. At the bottom of this post, I’ve listed several resources that I’m using to help me on this journey. If you’re an Android developer, you can use Gradle to handle many automated tasks. If you want to learn about Gradle on Android or how to create a Gradle plugin, check out my course here.

On to the script. It does the following:

  • Runs the unit and widget tests for a Flutter application
  • Generates a code coverage report
  • Removes the unwanted files from the coverage output
  • Converts the coverage data to HTML
  • Opens the HTML page in your browser

I’m going to break down what each section of the script does so that you can start having fun creating your own scripts! (This post assumes you are already familiar with programming and related concepts.)

Continue Reading

« Previous Page
Next Page »

Follow Me

  • Bluesky

Categories

  • AI (5)
  • Android (62)
  • Career (7)
  • Communication (5)
  • Flutter (1)
  • Git (4)
  • Gradle (4)
  • Grails (23)
  • iOS (1)
  • Java (8)
  • JavaScript (6)
  • Kotlin (17)
  • Leadership (4)
  • Life (5)
  • Public Speaking (26)
  • Revenue (2)
  • RxJava (1)
  • Software Development (17)
  • Twitter (3)
  • Uncategorized (11)
  • Video Course (5)

Follow Me

  • Bluesky

Copyright © 2026 · All Rights Reserved · Log in

Loading Comments...