Annyce Davis

ones and zeros

  • Home
  • Public Speaking
  • About Me
  • Courses
  • Life

Fall in love ❤️ with Android Studio all over again

July 29, 2023 by Annyce Davis Leave a Comment

I still remember that day back in May of 2013. I was sitting in Moscone Center, eager to hear what Google had to announce at its annual Google I/O conference. And then it happened. Android Studio was announced. The crowd went wild. And I joined the hundreds of other conference-goers in an attempt to download the brand new app over the conference wifi.

Fast forward to today, it’s been ten years, and Android Studio continues to deliver on its promise. We are both faster and more productive as app developers due to its existence.

So in honor of its ten-year anniversary, here are ten features that will make you fall in love ❤️ with Android Studio. In no particular order…

Feature 1: Based on IntelliJ IDEA

The beloved IntelliJ IDEA IDE is a fan favorite for developing, debugging, and refactoring Java and Kotlin applications. Its massive plugin ecosystem, smart code suggestions, and intuitive navigation make it a joy to develop with. Having Android Studio built on this foundation was a brilliant decision.

Feature 2: Editor Margin

Next up is the editor margin. You can learn a lot about a line of code by paying attention to the margins. For example, you can see which line of code is causing crashes from Android Vitals. Understand that a given line of code is going to execute asynchronously. See the color represented by a resource id. And much more. A true time-saver.

Feature 3: String Previews

String Previews allows you to see a preview of how your text will look in your app before you actually build and run it. It’s one of those little things that makes Android Studio a delight to use.

I’m often in and out of various codebases; this feature helps me to understand quickly the purpose of a given screen or composable.

Feature 4: Android Vitals

I no longer have to jump back and forth between Chrome and Android Studio to debug reported crashes. Android Vitals has entered the building in the latest release. I use Android Vitals to help improve the quality of our app on Google Play.

Since this is the data that Google is using to determine how our app is performing in the store. It’s “vital” to pay attention to these metrics and debug reported issues.

Feature 5: Firebase Crashlytics

Another feature that helps improve app quality is the Firebase Crashlytics integration. You can watch me geek out about it in the video below. It’s the convenience of having this critical information in your IDE that makes it a game-changer. You can go directly from a stack trace to the line in the code that caused the issue. If you’re not using it yet, do give it a try.

Benefits of App Quality Insights

Five more features to go. In love yet?

Feature 6: Logcat

Despicable Me Fun GIF - Find & Share on GIPHY
Me fighting with Logcat

Logcat and I were not the best of friends. It was a struggle to do the most basic things:

  • filter out unwanted logs
  • search for specific words
  • copy the message text

And then Logcat got a serious upgrade. 😎 Not only can you do all of the basic things faster, they’ve added new features. Here are my favorites:

  • the age filter to restrict log messages based on their timestamp
  • ability to quickly create a Scratch file from JSON
  • ability to fold log messages that you’re never interested in
  • the built-in color scheme that makes it simple to parse the logs

If you’ve been frustrated with Logcat in the past, time to give it another try.

Feature 7: Android Emulator

Android fragmentation: multiple devices, multiple versions, multiple headaches. What’s a developer to do? You can’t install all the things. Enter the Android emulator. The emulator ships with tons of functionality. I run and debug all of my apps on it and use it to capture screenshots and videos. You can change the location, language, battery strength; the list goes on and on. It’s the Swiss Army knife of Android Studio.

Feature 8: Layout Inspector

The Layout Inspector helps you figure out what’s going on with your app’s layout while it’s running. You can see the view hierarchy and check out the properties of each view. It’s perfect for spotting layout issues and unexpected behavior, especially for dynamic layouts.

One of the aspects that I appreciate is the ability to isolate a single view. Our app has complex layouts. It’s helpful to view only a subset of the views when debugging. Then if you want, you can go directly to the code where it’s defined.

Feature 9: App lnspection

The Network Inspector shows you what’s happening with your network in real-time. You can see the data being sent and received on a timeline. I use it to debug API responses being made from my apps. Specifically, I find it easier to inspect the headers and responses in this view over Logcat.

Another feature of the Network Inspector that was new to me is the Rules tab. It lets you change your API responses – status codes, headers, and bodies. To create a new rule, give it a name and say where the response comes from. Then, say what you want to change in the response. I use it to test how my app’s UI behaves when receiving bad responses.

Feature 10: Studio Bot

The newest kid on the block is Studio Bot. Since AI is everywhere, why not in Android Studio? 😅 I was skeptical at first. However, I find that it’s useful for my many Jetpack Compose questions. Keep in mind, however, that it’s still experimental. This means that occasionally it spits out some invalid code.

I believe there’s a solid future for Studio Bot. The conversational style and the ease of including recommended code snippets make it a real contender in the IDE AI wars.

Conclusion

Overall, Android Studio provides developers with a powerful set of features that enhance productivity, streamline development, and enable the creation of high-quality Android applications.

So, what are you waiting for? 👀 Download the latest version of Android Studio today. 😍

How to fix common Android API deprecations

August 19, 2022 by Annyce Davis Leave a Comment

Each year there’s a new version of the Android SDK released. Along with the myriad of new features come deprecations. When something is deprecated, although it’s still available, it’s best to migrate to the recommended new API. With that being said here are some common deprecations I encountered in my company’s Android codebase and how to fix them.

Deprecated Menu APIs on Fragments

The Fragment APIs for providing a menu to your activity’s ActionBar have been deprecated as they tightly couple your fragment to your activity and are not testable in isolation. The new MenuHost and MenuProvider APIs provide a testable, lifecycle-aware equivalent API surface that fragments should use instead.

Continue Reading

What engineering leaders need to know from this year’s Google I/O

May 13, 2022 by Annyce Davis Leave a Comment

I didn’t intentionally aim to create a rhyming title, but there you have it. Each year, I look forward to Google I/O like a kid going back to school. This year was no exception. I watched as many videos as I could that were related to App Quality, Firebase Crashlytics, and Jetpack Compose. Here’s what I think engineering leaders should know.

Key takeaways

  • Artificial Intelligence and Machine Learning dominate. Hiring these engineers will remain unbelievably competitive
  • App quality matters and will impact your success on Google Play
  • Large screens aren’t going away any time soon. Designers will need to adapt
  • User data privacy changes are coming fast and furious
  • Jetpack Compose: learn it or get left behind
Continue Reading

Talk: The Real MVP

May 2, 2022 by Annyce Davis Leave a Comment

You have an idea for a new app. You’ve secured buy-in from the business. What’s next? The MVP. But what does it take to ship a new app these days? What are the challenges you’ll inevitably face? How should you approach the architecture? What are the technical decisions you’ll need to make?

You’ll learn the answers to those questions and more in this talk. We’ll discuss how to conduct initial user research, the development process, and how to work with Marketing to promote your MVP.

Join me on the journey from idea to users’ hands.

 

Resources:

  • Getting Started with KMM
  • Case Study application
  • Jobs to be Done framework
  • How to conduct a card sorting activity
  • Google Analytics for Firebase

Recordings

  • None yet
Next Page »

Follow Me

Each year there's a new version of the Android SDK released. Along with the myriad of new features come deprecations. When something is deprecated, although … [Read More...]

I didn't intentionally aim to create a rhyming title, but there you have it. Each year, I look forward to Google I/O like a kid going back to school. This year … [Read More...]

Categories

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

Follow Me

Archives

Categories

Copyright © 2023 · Beautiful Pro Theme on Genesis Framework · WordPress · Log in

 

Loading Comments...