This course delves into the unique features of the Android platform and how those features affect the way apps are created. The focus is on using techniques that embrace the Android platform’s capabilities and make your app function as a natural extension of the platform. We look in detail at the role of Context and how it affects your application. We explore background processing with Services and responding to changes in device state with Broadcast Receivers. Finally we examine notifications and how to use them to effectively provide information to the user and how to launch Activities directly from a notification message.
Jim Wilson is president of JW Hedgehog, Inc., a consulting firm specializing in solutions for the Android, iOS, and Microsoft platforms. Jim has over 30 years of software engineering experience, with the past 15 years heavily focused on creating mobile device and location-based solutions.
Android Component and Application Model Welcome to the Android Component and Application Model module of the Understanding the Android Platform course for Pluralsight's Android for. NET Developers Series. My name is Jim Wilson. In this module the first thing we're going to look at just very briefly are the course prerequisites, in other words just what do we expect you to already understand when you get here. We're going to briefly look at what is the purpose of Activities? Throughout this series we've focused a lot on Activities, but there's a lot more going on than just Activities so we want to understand what exactly is their purpose. We're going to briefly introduce two new component types, Services and Broadcast Receivers. We're going to talk a lot more about this later in this course, but we just want to introduce what they are and why they exist at this point. We're going to look at the relation between Android components and processes and the relative lifetimes of the two and how they affect one another. We've been hearing a lot about this thing called Context. We'll understand exactly what is Context and why does it exist? And then we'll just finish up with the concept of Application-wide state and there's things we need to keep around throughout the life of an application not tied to an individual component and how we deal with those things.
Creating Responsive Apps Welcome to the Creating Responsive Apps module of the Understanding the Android Platform course from Pluralsight's Android for. NET Developers Series. My name is Jim Wilson. In this module the first thing we're going to look at is Android's busy main thread. What is all the work that has to happen on the main thread of every Android app? And help you to understand why it's so important to protect it. What are our options for keeping that main thread responsive, what choices do we have? Then we'll look at some detailed items. The StrictMode class, which allows us to detect certain potentially undesirable actions. The AsyncTask class, which allows us to deal with a common pattern of doing some work in the background, but still interacting with the UI occasionally. We'll then look at Threads and Activities, just simple threads and then how kind of extra threads behave when run within the Context of an Activity. And then finally Loopers and Handlers, which allow us to have the concept of message pumps, but also the ability to kind of just transfer work off of one thread to another.
Performing background Work with Services Welcome to the Performing background work with Services module of the Understanding the Android Platform course from Pluralsight's Android for. NET Developers Series. My name is Jim Wilson. In this module the first thing we'll look at is how do we actually implement a Service? Then we'll look at one of the most common types of Services called On-demand Services, Services that stick around just long enough to do a bit of work. Then we're going to look at a class called IntentService, which helps deal with a lot of common scenarios of on-demand Services. We'll then look at Long-running Services, Services that start up and then continue running for long periods of time without necessarily dealing with individual requests. And then finally we'll look at how do we make Services available across processes? How can we build a Service that runs inside of one app that can be used by Activities and other components in other apps? the handleMessage. So remember what that does now, right is that allows us to actually send a message to
Handling System Notfications with Broadcast Receivers Welcome to the Handling system notifications with Broadcast Receivers module of the Understanding the Android Platform course from Pluralsight's Android for. NET Developers Series. My name is Jim Wilson. The first thing we'll look at are System-wide broadcasts, in other words how does Android notify applications of significant changes in the device state? Things like changes in network connectivity or power, things like that. These broadcasts can only be handled by special components known as Broadcast Receivers. So we'll look at how we create those and how we associate those with broadcasts. Often when dealing with broadcasts we want to provide some kind of information to the user. We need to be able to interact with our Activity so we can change the information displayed or change the behavior of our application with special considerations on doing that. And then finally this concept of automatically executing Broadcast Receivers. It turns out that we can do what's called statically registering a Broadcast Receiver so that in our manifest we provide certain information. If those events occur, those broadcasts occur, we don't even have to have our application running. Android will go ahead and start up the application for us and fire up our Broadcast Receiver to handle it.
Displaying User Notfications Welcome to the Displaying user notifications module of the Understanding the Android Platform course from Pluralsight's Android for. NET Developers Series. My name is Jim Wilson. In this module we're first going to look at the user communication challenge, what are the difficulties we face as Android developers and mobile developers when trying to provide information to users? Creating notifications, how do we create these things that show up in the status bar and provide details to users? Managing those notifications, doing things like updating them or removing them once they are created. And then finally providing a notification action. When a user opens up a notification and then taps on it very often they expect something to happen like an application to open. How do we provide that capability with our notifications?