Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Windows® Phone 7 Developer Guide: Building connected mobile applications with Microsoft Silverlight®
Foreword
Foreword
Preface
Who This Book Is For
Why This Book Is Pertinent Now
How This Book Is Structured
The Example Application
What You Need to Use the Code
Who’s Who
Where to Go for More Information
Acknowledgments
1. Introducing Windows Phone 7
A Standardized Platform
Data-driven Applications
Developing for the Windows Phone 7 Platform
Resources for Developers
Resources for Silverlight Developers
Resources for XNA-Based Application Developers
Resources for Web and Service Developers
Terminology
More Information
Blogs, Code Samples, Training Kits, and Windows Marketplace
2. Designing Applications for Windows Phone 7
Basic Design Considerations
Type of Application
Design and Implementation
Resource Management
Remote Services
Mobile Phone Client Applications
Suitable Application Types for Mobile Phones
Silverlight and Windows Phone 7
Design Considerations for Windows Phone 7 Applications
User Interface Design and Style Guidelines
Application Deactivation and Tombstoning
User Input Considerations
Storage Considerations
Connectivity Considerations
Security Considerations
Data Formats and Accessing Remote Services
Data Format and Synchronization Considerations
Microsoft Data and Synchronization Technologies for Windows Phone 7
Resource Management and Performance
Minimize Device Resource Usage
Apply Good Practice Programming Techniques
Optimize Memory Usage
Maximize GPU Usage
Availability of Components and Frameworks
Questions
3. The Tailspin Scenario
The Tailspin Company
Tailspin’s Strategy
Tailspin’s Goals and Concerns
The Surveys Application Architecture
The Actors
Tailspin - the ISV
Fabrikam and Adatum - the Subscribers
The Surveyors - Windows Phone 7 Users
The Business Model
The Application Components
4. Building the Mobile Client
Overview of the Mobile Client Application
Goals and Requirements
Usability Goals
Non-Functional Goals
Development Process Goals
The Components of the Mobile Client Application
The Structure of the Tailspin Surveys client Application
Dependency Injection
The Contents of the TailSpin.PhoneClient Project
The Design of the User Interface
Navigation
User Interface Description
User Interface Elements
The Pivot Control
The Panorama Control
Styling and Control Templates
Context Menus
Using the Model-View-ViewModel Pattern
The Premise
Overview of MVVM
Benefits of MVVM
Connecting the View and the View Model
Inside the Implementation
Testing the Application
Inside the Implementation
Displaying Data
Inside the Implementation
Data Binding on the Settings Screen
Data Binding and the Pivot Control
Data Binding and the Panorama Control
Handling Focus Events
Commands
Inside the Implementation
Handling Navigation Requests
Inside the Implementation
User Interface Notifications
Informational/Warning Notifications
Error Notifications
Inside the Implementation
Accessing Services
Questions
More Information
5. Using Services on the Phone
The Model Classes
Using Isolated Storage on the Phone
Overview of the Solution
Security
Storage Format
Inside the Implementation
Application Settings
Survey Data
Handling Activation and Deactivation
Overview of the Solution
Inside the Implementation
Reactivation and the Panorama Control
Handling Asynchronous Interactions
Using Reactive Extensions
Inside the Implementation
Synchronizing Data between the Phone and the Cloud
Overview of the Solution
Limitations of the Current Approach
Inside the Implementation
The getNewSurveys Task
The saveSurveyAnswersTask
Using Location Services on the Phone
Overview of the Solution
Inside the Implementation
Acquiring Image and Audio Data on the Phone
Overview of the Solution
Capturing Image Data
Recording Audio Data
Inside the Implementation
Using a Chooser to Capture Image Data
Using XNA Interop to Record Audio
Logging Errors and Diagnostic Information on the Phone
Conclusion
Questions
More Information
6. Connecting with Services
Installing the Mobile Client Application
Overview of the Solution
Inside the Implementation
Authenticating with the Surveys Service
Goals and Requirements
Overview of the Solution
A Future Claims-Based Approach
Inside the Implementation
Notifying the Mobile Client of New Surveys
Overview of the Solution
Inside the Implementation
Registering for Notifications
Sending Notifications
Notification Payloads
Accessing Data in the Cloud
Goals and Requirements
Overview of the Solution
Exposing the Data in the Cloud
Data Formats
Consuming the Data
Using SSL
Inside the Implementation
Creating a WCF REST Service in the Cloud
Consuming the Data in the Windows Phone 7 Client Application
Filtering Data
Overview of the Solution
Registering User Preferences
Identifying Which Devices to Notify
Selecting Surveys to Synchronize
Inside the Implementation
Storing Filter Data
Building a List of Devices to Receive Notifications
Building a List of Surveys to Synchronize with the Mobile Client
Summary
Questions
More Information
7. Interacting with Windows Marketplace
The Application Development and Publishing Life Cycle
Application Certification Requirements
Application Code Restrictions
Run-time Behavior, Performance, and Metrics
User Opt-in and Privacy
Application Media and Visual Content
Packaging the Application
The Windows Marketplace Repackaging Process
Summary of the Submission and Validation Process
Displaying Advertisements in an Application
Accessing Windows Marketplace within an Application
Questions
I. Appendices
A. Tools, Frameworks, and Processes
Setting Up a Development Environment for Windows Phone 7
Expression Blend for Windows Phone
Additional Silverlight Controls for Windows Phone 7
Using a Hardware Device during Development
Connecting a Physical Device
Registering and Unlocking the Device
Deploying Applications to the Device
Using the Windows Phone Connect Tool
Developing Windows Phone 7 Applications
Developing Trial Applications for Windows Phone 7
Testing Trial Versions in an Emulator or Device
Developing Web Applications for Windows Phone 7
Debugging Windows Phone 7 Applications
Unit Testing Windows Phone 7 Applications
Automated Unit Testing
Additional Tools and Frameworks
B. Silverlight and XNA in Windows Phone 7
Basic Differences between Silverlight and XNA
Execution Model
Performance
Sounds
Screen Display
Summary of the Basic Differences
The XNA Game Execution Model
Using Interop from Silverlight to XNA
Creating and Using an XNA Dispatcher Service
Excluded Classes and Assemblies
C. Leveraging Device Capabilities
Scenarios for Device Capabilities
Accelerometer
Camera
Contacts and Messaging
Device Information
Location and Mapping
Asynchronous Location Service Operation
Synchronous Location Service Operation
Using Location Information and Displaying a Map
The Bing Maps Silverlight Control
Media
Selecting a Photo on the Device
Search
Sound Recording
Sound Playback
Touch and Gestures
Gesture Detection using Silverlight Manipulation Events
Gesture Detection Using the GestureListener Control
Gesture Detection Using XNA
Vibration Alerts
Web Browser
Windows Marketplace
Reactive Extensions
D. Prism Library for Windows Phone 7
About Prism for Windows Phone 7
Contents of Prism for Windows Phone 7 Library
Microsoft.Practices.Prism Namespace
Microsoft.Practices.Prism.Commands Namespace
Microsoft.Practices.Prism.Events Namespace
Microsoft.Practices.Prism.ViewModel Namespace
Microsoft.Practices.Prism.Interactivity Namespace
Microsoft.Practices.Prism.Interactivity.InteractionRequest Namespace
E. Microsoft Sync Framework and Windows Phone 7
About the Microsoft Sync Framework
Components of the Sync Framework
Sync Framework Providers
Using the Sync Framework
Synchronization for Windows Azure and Windows Phone 7
F. Answers to Questions
Chapter 2: Designing Windows Phone 7 Applications
Chapter 4: Building the Mobile Client
Chapter 5: Using Services on the Phone
Chapter 6: Connecting with Services
Chapter 7: Interacting with Windows Marketplace
G. More Resources for Developers
Microsoft Press® books
Visual Studio
Web Development
.Net Framework
Data Access/Data Base
Other Topics
Index
About the Authors
← Prev
Back
Next →
← Prev
Back
Next →