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

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

Talk: Talk to Me Right!

February 2, 2019 by Annyce Davis

Software development is challenging because as a technical team, we have to figure out what to do, do it, and then make sure we’ve done it right. And each step requires effective communication. In this talk, we’ll look at various tools and techniques that can help propel your career by making you a more effective technical communicator.

Learn what forms of communication are the most important to automate and which require a personal touch in your team’s daily activities. We’ll also discuss how you can best structure meetings to achieve your team’s goals. Finally, we’ll review some common challenges to effective communication and how you can navigate them successfully.

Our coworkers aren’t all robots yet. Effective communication will continue to play a major role in the success of our teams. So let’s do it right!

Continue Reading

« Previous Page
Next Page »

Follow Me

  • Bluesky

Categories

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

Follow Me

  • Bluesky

Copyright © 2026 · All Rights Reserved · Log in