The first app I ever built was GPS based. They didn’t really have geofencing polished back then, and you had to do all the API call asynchronous handling and whatnot yourself. I was way in over my head. Now it’s so simple, the Google Places Api handles almost everything for you. It looks to me like the Advanced Lessons are mostly about exposing you to slightly more difficult parts of the code that some developers may not normally experience.

Media Playback

The course goes through an example using Exoplayer. Exoplayer is open source and widely regarded as a very reliable library. Mostly, this course stresses the importance of understanding Media Session, because no app that influences audio does so alone. Notifications may need to mute or pause playing audio temporarily. The hardware and external hardware (like earphones) may need to influence playback as well.

They also made me aware of the Media Style Notification, which has most of the media controls figured out (using PendingIntents) for a notification.


Widgets are a decent test of Android knowledge. You need to use a pendingIntent, an IntentService, a broadcast receiver(the widget itself), a service and content provider. A lot of people manage to make apps using only activities, so if an app has a widget, that’s a good sign that the developer (possibly) understands the full architecture.


Leave a Reply

Your email address will not be published. Required fields are marked *