No matter how long you've been in Android development there's always a trick in Android Studio that you probably missed. In all those release announcements, features are bundled together, and skimming over them is a common practice by busy engineers.
So you won't find anything "new" in this post. Just a collection of what I consider some of the most useful features I use in Android Studio. Maybe you missed one of them and it will change your everyday developer life forever :)
Note that this was possible but you wouldn't call it easy (or reliable) at all. With the built-in support of the OS, connecting to the device is seamless and reliable. Personally, it's been liberating for me not to worry about always having a cable with me.
The only a bit annoying issue is that, probably for security reasons, the device will disconnect when it leaves the WiFi network and you will have to go into the Developer settings to re-enable wireless debugging. Nevertheless, this is insignificant compared to how the process was in the past.
Jetpack's Room library has been the de-facto standard in database abstraction, but anything that uses Android's SQLite DB can use this tool to not only inspect but also modify the database.
If using a
LiveData to observe the data, you can see the UI change as well, which is cool and useful when debugging an issue. No more weird breakpoint to try to figure out what the database contains.
Beyond that, you can run custom SQL queries (and if using Room this is even easier since there's IDE support) and even export the entire database file to be inspected in another tool. Although this might have been a relatively "old" feature, if you missed it, then you are losing much from the Android Studio potential.
Silent code cleanup
Not even an Android Studio-specific feature, but rather a feature of the underlying IntelliJ. Just select Code > Analyze code > Silent code cleanup and your entire project will be cleaned up using the default linter (this can be combined awesomely with Ktlint).
Since this is "silent" no questions will be asked or dialogs will appear. If something can be fixed without ambiguity, it will be. It can be really useful when merging external code and you want to ensure that the project remains in a healthy state (with regards to formating at least).
Hopefully, this was useful and you learned something that will make your engineering life a bit easier.