Annyce Davis

Davis Technology Consulting

  • Home
  • About Me
  • Blog
  • Courses
  • Newsletter

Talk: Gradle Plugin Goodness

January 19, 2016 by Annyce Davis

If you find yourself copying and pasting code from your application’s build.gradle file every time you start a new project, then it’s time you learn about creating Gradle plugins. In this presentation you will learn what it takes to create a custom Gradle plugin for use in your Android/Java applications. 

It covers: Plugin Structure, Key Plugin Components, Testing, and Publishing

Materials

  • Slides
  • Sample Project
 
If you would like to learn more about creating high quality Android applications, I encourage you to check out my video course.

Testing Tricks #4 – Improving Readability

January 9, 2016 by Annyce Davis

Readability is one of the key components to creating high quality unit and integration tests. Yet, we may hinder the readability of our tests by bogging them down with needless information. Let’s take a look at an example.

Example


Here we have a simple test that is desiring to make sure the URL we used to create the Video object matches the result of calling the playCurrentVideo method in the VideoPlaybackService class. We have created a helper method that allows us to pass in the variables for the Video object creation. However, in most cases we don’t need to have all of the parameters set. In fact, the duration and displayDate have no impact on the current method under test. So we’ve added additional, needless information to the test that makes it more difficult to understand what’s going on.

Solution


We can fix this issue by updating the Video class to adhere more closely to the Builder Pattern so that the additional setting of fields is not needed. Here is the current setter used for the video’s URL.


We can update it to pass back the Video object (this) instead of just being void. Let’s see how this will help to make the test more readable and understandable.

With Builder Pattern


The end result is something much more readable and maintainable. Happy testing!

Creating Your Own Video Course, Part II: Execution

January 1, 2016 by Annyce Davis



In Part I of this series, I discussed what it takes to prepare your own video course. In this part we’ll talk about the tools and processes you can use to plan for and record the actual videos. So let’s get started…

The Slides

So in many cases you will want to have an introductory slide(s) before perhaps switching to the application or code that you want to demonstrate in the given video. In my case, I prefer to use Keynote, a presentation software from Apple, in order to create the slides for my course. For the majority of the videos I would have an introductory slide which allowed me to introduce the main concepts that would be covered in the video.
 
Simple Introductory Slide
Then as far as providing content for the actual slides, I would try to keep the slides free from clutter. This would include using fitting images or diagrams when appropriate and then just talking about the information instead of having a long list of bullets. For example, I could have a slide which contains a listing of the benefits of automated testing, or I could use a simple slide with an image (see below) and speak to the benefits. Which one would you find more appealing?
 
Use images if possible

The Script

On to the script. Have you ever listened to a video tutorial and the person seems to be rambling or loses their train of thought often? Well, having a script will help to alleviate this problem. It doesn’t have to be anything extremely involved. I used Google Docs to store the scripts for each video. 

Each file consisted of the title of the video and a chart with two columns: Action on Screen and Audio. I would put a screenshot of what would be showing on the video in chronological order and then what I wanted to say about that portion of content in the Audio column. This helped me to stay on track and make fewer mistakes during the recording of the videos.

Recording

Finally, recording the videos was the easiest part of the entire process. Since I had everything prepared in advance, I would just open Camtasia and make sure I was using my headset for the recording and push record. I had a list of things I wanted to make sure I did however, before recording, and that consisted of the following:

  • Turning off all Messaging Applications
  • Turning off any Notifications
  • Setting the correct resolution (1280 x 720) for my display
  • Closing the door (no outside noises) 
  • Hiding the Dock on my Mac
  • Properly place the headset and microphone


In Part III of this series, I’ll share what I did to help market my course.

Check out Part I if you missed it!

My 2015

December 30, 2015 by Annyce Davis


Looking back on 2015, I’d have to say it was my year of “breaking free”. I finally started to do many of things that I had been only dreaming of for the past several years in my career as a Software Developer. Instead of feeling like I still didn’t know enough, I embraced what I did know and used that to increase my visibility in the Android Community. So here’s a recap of some of the highlights.

Public Speaking

With some encouragement from fellow female developers I submitted my first conference proposal. And I’ve been speaking around the world ever since! Below is a recording of my first conference talk at Droidcon NYC.

 

Appearances

I’ve also had the opportunity to make a few appearances speaking about my passion for Android Development on the Android Dialogs YouTube channel and the CodeNewbie’s podcast. This was a lot of fun and pushed me to “go with flow” in an environment that wasn’t so scripted.

YES! 💖 Love this podcast episode with 2 of my favorite role models, @saronyitbarek and @brwngrldev Don’t miss it! https://t.co/lqqvq4OcBa

— Kelly Shuster (@KellyShuster) December 21, 2015

Teaching

I love to share my knowledge with others whether it’s through conference speaking, blog posts, one-on-one, etc. So I was able to try something completely different this year and that was creating my own video course, Developing High Quality Android Applications. This enabled me to learn a new form of engagement through video and I hope to continue to explore this medium in the future.
 

Connections

One thing I never fully anticipated was the number of connections I’d be able to make in such a short time span. Meeting people from different backgrounds has been one of the best parts of this year. I had no idea that there were so many people out there just as passionate about producing quality software as I am, it’s been a great feeling! So I have Twitter to thank for exposing me to so many supportive people that I would have never had the chance to meet.
 
 
So here’s looking forward to what lies ahead for 2016!
« Previous Page
Next Page »

Follow Me

  • Bluesky

Categories

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

Follow Me

  • Bluesky

Copyright © 2025 · All Rights Reserved · Log in