Windows Phone Mango brings new multitasking capability for third party application developpers, in the form of fast application switching and background agents. In this course, we explore the new execution model that enables fast app switching, and we examine how to leverage this model in our applications. We also seek to understand what background agents are, how they work and how to use them, be it for scheduling simple popup reminders and alarms, or for running custom code in the background at regular time intervals. We also take a deep dive into the new background audio and background file transfer capabilities Mango brings to the table.
Yacine has been involved in the development of database-driven, n-tier web applications for over 10 years. Over time he has taken on various roles, including development, project management, offshore platform management and technical consulting. He has helped build a few solutions for Microsoft North Africa.
Fast application switching Let's briefly review the content for this module. We'll begin by gaining an understanding of the concepts of fast application switching and Bazoom, which are the heart of the Rango release. We'll dive into the enhanced execution model that's made the fast resume features possible. And we'll examine that new dormant state that Mango introduces. Then we'll look at how these new model will affect our applications. In terms of the application life cycle that the model defines. In particular, we'll revisit the concepts behind page and application state management. And we'll look at the APIs that are available to us for adapting our codes to various framework events, as applications are paused and restarted. We'll then review some of the key constraints that we need to take into account when we work against the execution model in Mango. And we'll finish up with a brief look at the way that native resources are handled by the framework and should be handled by us developers.
Reminders, alarms and generic agents Welcome to this second talk on Windows Phone Multitasking. In this Module, we begin our overview of Mango's new background processing capabilities. Specifically, we'll take a close look at schedule notifications and generic background agents. The next module, will continue with background audio and background transfers. We'll start by defining the concept of multitasking in the context of the Mango release and we'll talk about the challenges that are associated with that. We'll take a tour of the multitasking APIs that Mango exposes, and we'll see that these APIs allow code running in the foreground and code running in a background to work together in lockstep. Then we'll dive into the concepts and APIs behind reminders and alarms, collectively known as scheduled notifications. And we'll look at examples of enabling such background notifications in our application. Next, we'll zoom in on generic agents, one of the core multitasking concepts in Windows Phone. We'll see how we can use these agents, along with scheduled tasks, to have the system run our custom code in the background at regular time intervals, whether or not our application is running. We'll also discuss some of the restrictions and limitations of running background code on the phone, and we'll create a simple application to demonstrate the way that background agents are created and run.
Background audio and transfers This is module three of our Windows phone multitasking course. In this is talk, we continue our exploration of background agents, with a dive into Mango's background audio and background file transfer capabilities. We'll begin with an overview of the background audio APIs and concepts, and we'll get into the details of creating an audio agent to control the background player and associating it with our main application. We'll also look at the way that our foreground application sends commands to the agent through a common API, and I'll point out some important aspects of programming background audio. Next, we'll Zune in on background transfers. We'll see how we can let our user download or upload files in the background, and we'll get into the specifics of how to monitor and display transfer progress, how to cancel transfers and how to reattach to ongoing transfers when our application is relaunched. As always, to illustrate the concepts, we'll build small but real obligations, including an audio player and a simple file downloader.