Circle CI and gradle.properties

gradlephant gradle logo

 

circle-ci-logo

 

 

 

 

 

 

Recently I was working on getting a Circle CI build up and running for an Android project, and ran into a bit of trouble getting it to work with my gradle.properties file.  Here’s an overview of the issue I experienced, and how I solved it.

What is Circle CI?

Circle CI is a continuous integration tool like Jenkins or Travis, which allows you to automate builds and tests in the cloud. You can automate builds to run on every push to certain branches or pull request, so you can maintain quality code. It’s pretty awesome! Circle CI is a relatively new player in the market, adding support for Android just over a year ago.

What is gradle.properties?

If your app has any secret credentials like API keys or other authentication data, you should never check this information into version control where somebody else can access it. You should instead keep it secret by only referencing it via a local file.  In Android development, this is typically stored in a file named gradle.properties, which lives in your ~/.gradle/gradle.properties directory.

Continue reading

Posted in Android, Circle CI, Continuous Integration, Gradle | Leave a comment

Android Developer Perf Matters

thoughtbot robot logo painted on the wall, with a poofy android robot sitting in front of it

Early this year I made my debut on the thoughtbot blog Giant Robots Smashing into Other Robots!  For my first post, I chose to write about how Android developers can make their development process more efficient.

Check out my top tips and tricks here!

Posted in Android, Press | Leave a comment

40 Under 40

Denver Business Journal 40 under 40 logo

I am beyond thrilled to announce that I have been selected for the Denver Business Journal 40 Under 40 for 2016!  I’m so honored to be listed along so many phenomenal & brilliant leaders in our community.

Check out the full article about all award winners here, and my individual page here.  There will be more information coming up in March, and I can’t wait to share it with you all!

Posted in Awards, Business, Press | Leave a comment

2016: Be Intentional

As I mentioned in my annual recap post, 2015 was a big year for me! I did lots of stuff that I thought was scary, and it really paid off. 🙂  It was awesome, but I did do **a lot**.  One thing I really super don’t want to do is get burned out, so for 2016 my mantra is “Be Intentional.” I want to do awesome things, but I don’t want to go off the deep end and regret it. I want to have a really good reason for each thing I do, and I want to approach each day with meaning, instead of floating through it.  Outside of my main mantra, I’ve also chosen a few specific goals for the year:

New International Speaking Engagement

I’d like to visit a new international city via speaking at a technical conference.  I love traveling, seeing new places, and meeting new people.

Release Architecture App (Kotlin)

Continue reading

Posted in Android, Finance, Speaking | 1 Comment

Android Dialogs Interview

I’m super excited to say that I was invited on Android Dialogs last week to chat with Huyen Tue Dao  about Android!  She was an excellent host and interviewer, and I had an absolute blast chatting with her. Thanks for having me! 😀

 

Posted in Android, Press | Leave a comment

2015 Recap

Being interviewed at Google IO

2015 was a really **really** exciting year! It really flew by (and I spent a lot of it literally flying!)  I was inspired by Chiu-Ki’s post, so here’s my list of 2015 accomplishments:

This year I tried more than ever to “do things that scared me,” and boy did it really pay off.  I really spread my wings with technical public speaking, and loved every second of it.  I had so much fun visiting new cities, sharing my knowledge, and learning from and getting to know brilliant people all over the world.

I’ve also had a lot of fun sharing my knowledge with people all over the world via my blog. Its been really fun to watch my daily visits slowly climb up and up this year.  My most popular posts in 2015 were:

  1. SVG Rendering on Android
  2. Jenkins, Robolectric & Gradle
  3. Android Studio Lint Options

This has been a really busy and rewarding year, and I’m super excited for what 2016 holds!

Posted in Android, Speaking, WWC | 1 Comment

AnDevCon Santa Clara 2015

Me with giant android girl

This year has been quite a busy one for public speaking, and I closed it out by talking about accessibility at AnDevCon Santa Clara.

The Conference

I arrived at the conference Tuesday around noon, where I got to attend a lunchtime keynote about Gradle improvements by Hans Dockter.  It was a great talk, but since I was eating I couldn’t take notes. 🙁  Luckily, he was giving another Gradle talk later during the conference.

After lunch I jumped into the second half of Karim Yaghmour’s Android Internals day long tutorial session.  I recently purchased his book Embedded Android, and have been slowly making my way through it when I get time, so I was *really* excited to sit in his class!  I was bummed to miss the first part, but still absorbed so much from the second part.   If you get a chance to see him speak, don’t miss it.  Not only is he very knowledgable, his content was really well organized and well delivered.

Continue reading

Posted in Accessibility, Android, Conferences | Leave a comment

Droidcon UK 2015

Front door of Droidcon UK with Android robot

I was super fortunate to speak at Droidcon UK this year in London, and I had an amazing time!

My Talk

Even though I’ve given the “same” talk on accessibility before, my talk actually changes every time I give it.  This is because (1) Android is always changing, and (2) I am always learning new ways to improve accessibility.  Before this talk I had some coding work to do, to upgrade my sample app to support Marshmallow.  I also decided to pull in the new design compatibility library so I could use the official floating action button (FAB) and remove the 3rd party library I had previously been using.  It is really important to me that my accessibility repo doesn’t get stale, and can always be a resource for the latest and greatest in Android accessibility.

I decided to go the extra mile and add in some information about Snack Bar from the design compat lib to my talk. I figured that it would be a pretty simple addition, but it didn’t work out that way! Apparently, Snack Bar has a few big accessibility issues, as documented in my recent post Accessibility of Material Design.  After battling Snack Bar for quite some time, I decided to add to my talk some information about why Snack Bar wasn’t accessible. Unfortunately, this put my talk way over the time limit.  Ugh.  After all that, I decided to just not add Snack Bar to my talk. I was glad I’d done my homework, though, because I ended up having several great conversations about it with people at the conference.

Continue reading

Posted in Accessibility, Android, Conferences, Speaking | Leave a comment

Accessibility of Material Design

With the launch of Material Design at I/O 2014, Google made a bold statement that beautiful Android design is here to stay.  As a user I was excited to see some beautiful designs come to my platform.  As a developer, I was excited to see designers get excited about Android designs independently (vs designing for iOS and ‘porting’ to Android). However, as I began to dig into coding Material, I soon found that not all of the design paradigms are accessible.  Here are the top offenders, from least bad to most bad.

Animations

Animations are a huge part of Material Design.  The design docs break animation into 4 main categories:

  1. Authentic motion
  2. Responsive interaction
  3. Meaningful transitions
  4. Delightful details

Continue reading

Posted in Accessibility, Android | 1 Comment

Start Using the Percent Support Library Right Meow!

Cat and percent symbols

Recently I learned about a SUPER awesome little library that you should consider adding into your projects: The Percent Support Library.

This library allows you to specify a percentage value for layout width and height when you are using RelativeLayout or FrameLayout. Yipee!!!! Gone are the days of switching everything over to a LinearLayout when you realize halfway through coding that you really need weights in your layout.

First step is to pull the library into your project. Just add this line in your app level build.gradle:

Now you can use percents in your XML layout files. The library defines a new layout type called PercentRelativeLayout, which inherits from RelativeLayout. Here is a basic example on how to use it:

Note that you must include percent symbols as units when defining the parameters (in place of dp).

Continue reading

Posted in Android | 1 Comment