Microsoft Technology Associate STUDENT STUDY GUIDE. preparing for MTA certification. EXAM 98-373 Mobile Development Fundamentals



Similar documents
MICROSOFT TECHNOLOGY ASSOCIATE. Student Study Guide. EXAM Windows Development Fundamentals

Microsoft Technology Associate STUDENT STUDY GUIDE. preparing for MTA certification. EXAM Software Testing Fundamentals

Key Benefits of Microsoft Visual Studio 2008

Microsoft Training and Certification Guide. Current as of March 16, 2015

Microsoft Training and Certification Guide. Current as of December 31, 2013

Developing Applications for ios

Creating Next-Generation User Experience with Windows Aero, Windows Presentation Foundation and Silverlight on Windows Embedded Standard 7

Customer Relationship Management

Customer Relationship Management

CATALOG OF CLASSES IT and Technical Courses

Programmabilty. Programmability in Microsoft Dynamics AX Microsoft Dynamics AX White Paper

1Building Communications Solutions with Microsoft Lync Server 2010

How To Design A Database Table In A Relational Database Without Knowing What You Are Doing

EXAM PRO:Design & Develop Windows Apps Using MS.NET Frmwk 4. Buy Full Product.

ProfessionalPLUS Station Software Suite

Mobile Development Fundamentals

maximizing IT productivity

Track-It! 8.5. The World s Most Widely Installed Help Desk and Asset Management Solution

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus

DIABLO VALLEY COLLEGE CATALOG

Developing Database Business Applications using VB.NET

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

HTML5 the new. standard for Interactive Web

Catálogo de cursos plataforma elearning Microsoft Imagine Academy: Microsoft SQL Server y Visual Studio

MICROSOFT TECHNOLOGY ASSOCIATE. Student Study Guide. EXAM Software Development Fundamentals


Innovative Big Data Platform Revolutionizes Maritime Fleet Management

Your Data, Any Place, Any Time. Microsoft SQL Server 2008 provides a trusted, productive, and intelligent data platform that enables you to:

Your Data, Any Place, Any Time.

Microsoft Dynamics AX 2012 System Requirements. Microsoft Corporation Published: March 2012

Computer Science Course Descriptions Page 1

HTML5 & Digital Signage

Authoring for System Center 2012 Operations Manager

Designing and Developing Web Applications by using the Microsoft.NET Framework

Course Descriptions. preparation.

Mobile Game and App Development the Easy Way

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Information Technology Career Field Pathways and Course Structure

Sage CRM 7.2 Release Preview

Professional Station Software Suite

Android (Basic + Advance) Application Development

ERDAS ADE Enterprise Suite Products Overview and Position

Android Application Development Distance Learning Program Brochure

2208 Course 2208: Updating Support Skills from Microsoft Windows NT 4.0 to Windows Server Clinic 2263: Exam Preparation for the MCDST

Getting started with Microsoft SharePoint Server 2010

Pathways to Digital Employment

RhoMobile Suite. Develop applications for the next generation of business mobility

Computer Information Systems (CIS)

Pivot Charting in SharePoint with Nevron Chart for SharePoint

Microsoft Certified Applications Developer (MCAD) exams

How to Prepare for the Upgrade to Microsoft Dynamics CRM 2013 (On-premises)

Table of Contents Cicero, Inc. All rights protected and reserved.

Statement of Direction

WHITE PAPER MATTERSPHERE TECHNOLOGY AND FUNCTIONALITY REVIEW CONNECTING YOU WITH WHAT MATTERS

BizTalk Server Business Activity Monitoring. Microsoft Corporation Published: April Abstract

Here to take you beyond Mobile Application development using Android Course details

Izenda & SQL Server Reporting Services

How To Create A Help Desk For A System Center System Manager

TeamCompanion Solution Overview. Visual Studio

Most of ecollege courses are also available for a fee if you are not eligible for a free course.

PCCC PCCC Course Description

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency

Vector HelpDesk - Administrator s Guide

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734

Getting Started with Microsoft Office Live Meeting. Published October 2007 Last Update: August 2009

HTML5. Turn this page to see Quick Guide of CTTC

Getting Started with Microsoft Office Live Meeting. Published October 2007

Desktop Activity Intelligence

How to Monitor and Identify Website Issues. 2013, SolarWinds Worldwide, LLC. All rights reserved. Share:

ANDROID INTRODUCTION TO ANDROID

Los Angeles Trade-Technical College Student Employment Center. Computer Science. Part-Time

MA-WA1920: Enterprise iphone and ipad Programming

Base Station. Base Station. Introduction. DeltaV Product Data Sheet. Adaptable work environment. Scalable to suit your needs. Dedicated functional use

Getting Started with Telerik Data Access. Contents

AppDev OnDemand Microsoft Development Learning Library

Microsoft Dynamics GP 2010

Module 12: Microsoft Windows 2000 Clustering. Contents Overview 1 Clustering Business Scenarios 2 Testing Tools 4 Lab Scenario 6 Review 8

SOFTWARE ENGINEER. For Online (front end) Java, Javascript, Flash For Online (back end) Web frameworks, relational databases, REST/SOAP, Java/Scala

IE Class Web Design Curriculum

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.

InnerWorkings Catalog

Windows Embedded Compact 7 Multimedia Features 1

Design and Functional Specification

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

Our instructor-led classroom training courses are delivered by Microsoft Certified Trainers (MCTs) industry-recognized experts

Course 5431: Getting Started with Microsoft Office PowerPoint Course 5420: Editing and Proofreading Documents in Microsoft Office Word 2007

Course Title: Multimedia Design

COMPUTER INFORMATION SYSTEMS

The Recipe for Sarbanes-Oxley Compliance using Microsoft s SharePoint 2010 platform

Transcription:

Microsoft Technology Associate STUDENT STUDY GUIDE preparing for MTA certification EXAM 98-373 Mobile Development Fundamentals

PREPARING FOR MTA CERTIFICATION MICROSOFT TECHNOLOGY ASSOCIATE (MTA) STUDENT STUDY GUIDE FOR DEVELOPERS 98-373 Mobile Development Fundamentals

AUTHORS Tim McMichael Tim has taught high school computer science for the past 12 years. He currently teaches Advanced Placement Computer Science,.NET programming, and game development at Raymond S. Kellis High School in Glendale, Arizona. Prior to teaching, Tim worked for several years as a database application developer. He is the author of other MTA Exam Review Kits: Windows Development Fundamentals, and.net Development Fundamentals. Patricia Phillips Patricia taught computer science for 20 years in Janesville, Wisconsin. She served on Microsoft s National K-12 Faculty Advisory Board and edited the Microsoft MainFunction website for technology teachers. For the past seven years, she has worked with Microsoft in a variety of roles related to K-12 curriculum development and pilot programs, including Expression Studio web design, XNA game development, and MTA Certification Exam Review Kits. She is currently the editor of the Computer Science Teachers Association newsletter, the Voice. This content is only for use by or provision to students for their personal use. Some examples depicted herein are provided for illustration only and are fi ctitious. No real association or connection is intended or should be inferred. Microsoft and the trademarks listed at http://www.microsoft.com/about/legal/en/us/intellectualproperty/trademarks/en-us.aspx are trademarks of the Microsoft group of companies. All other marks are property of their respective owners. 2010 Microsoft Corporation. All Rights Reserved. This content is provided as-is and Microsoft makes no warranties, express or implied.

CONTENTS Introduction............................................... v Career Planning........................................... vi Exploring Job Roles........................................ vii Value of Certification....................................... ix 98-373: MOBILE DEVELOPMENT FUNDAMENTALS OBJECTIVE 1 Working with Physical Devices................................ 3 1.1 Understand mobile device tools.............................. 5 1.2 Understand physical capabilities of the mobile device............ 7 1.3 Plan for physical interactions with the mobile device............. 9 OBJECTIVE CHAPTER 2 Use Data with Mobile Devices............................... 11 2.1A Work with networked data.................................. 13 2.1B Work with networked data.................................. 15 2.2 Use data stores............................................ 17 OBJECTIVE 3 3 Use a Mobile Application Development Environment............ 19 3.1A Understand design for mobile devices........................ 21 3.1B Understand design for mobile devices........................ 23 3.2 Network for mobile devices................................. 25 CONTENTS iii

3.3A Understand Silverlight...................................... 27 3.3B Understand Silverlight...................................... 29 3.4 Work with developer tools.................................. 31 3.5 Code for mobile applications................................ 33 OBJECTIVE CHAPTER 4 Develop Mobile Applications................................ 35 4.1 Manage the application life cycle............................ 37 4.2A Understand mobile device APIs.............................. 39 4.2B Understand mobile device APIs.............................. 41 4.3A Understand mobile device controls.......................... 43 4.3B Understand mobile device controls.......................... 45 4.4A Build the user interface..................................... 47 4.4B Build the user interface..................................... 49 iv CONTENTS

INTRODUCTION MTA validates building-block technology concepts concepts and helps students explore, discover and pursue successful careers in Information Technology (IT) in an exciting and rewarding way! As the first step in the Microsoft Technology Certification Series, this new, entry-level certification provides students with confidence, credibility, and differentiation. Explore IT career options without committing a lot of time and resources MTA exams validate the core technology knowledge that is in demand today by businesses around the world. Whether you want to explore becoming a network administrator, software engineer, web developer, or database analyst, MTA gets you started on the right path. Prepare to compete A little investment in IT can go a long way in today s job market. Becoming MTA certified helps you build a solid foundation to prepare for intermediate technology studies and for Microsoft Certified Technology Specialist (MCTS) certifications. It can also help you compete on college admissions and jumpstart your IT career planning! Empower yourself As the first step toward becoming an MCTS, MTA shows your commitment to technology while connecting you with a community of more than five million Microsoft Certified Professionals. Learn from them and show them what you know by becoming MTA certified! This MTA Student Study Guide serves as a study tool to help students prepare for their MTA certification exam. Students are challenged with real-life situations for each of the major topics covered in the exam. Although successful completion of the study guide exercises does not guarantee that you will pass your MTA exam, it is an excellent way to gauge your readiness to take the exam and build confidence that you know your stuff on exam day. I wish you all the best as you prepare for a successful career in technology! Victoria Pohto Victoria Pohto MTA Product Marketing Manager START INTRODUCTION v

CAREER PLANNING CAREER Most IT solutions or infrastructure built on Microsoft technologies require proficiency with one or all of the following products, often referred to as The Microsoft Stack. Microsoft Windows Server as the data center or development platform Microsoft SQL Server as the data and business intelligence (BI) platform Microsoft Visual Studio as the suite of application life-cycle management tools MTA is the starting point of Microsoft technology certifications, providing aspiring technologists with the fundamental knowledge essential to succeed with continued studies and a successful career with technology. Preparing for and becoming MTA certified helps you explore a variety of career paths in technology without investing a lot of time and money in a specialized career path. When you find a path that is right for you, Microsoft learning products and certification can help you prepare and guide your longer-term career planning. If you already know that you want to start building a career in technology, MTA preparation and certification is the recommended entry point. Becoming MTA certified shows that you have a firm working knowledge of the fundamental IT concepts critical for success with intermediate learning and certifications such as Microsoft Certified Technology Specialist (MCTS). Moreover, Microsoft certifications demonstrate an individual s commitment of selfinvestment and confidence to take his or her knowledge and skills to the next level with an industry-recognized credential. MTA is not a career certification, meaning that employers recognize you as job ready, but it is the first step toward that career goal and can help differentiate you for an internship or to college admissions committees. As you prepare for your first job focusing on technology, be sure that you are equipped with an MCTS credential the intermediate level certification that validates Microsoft product and technology skills. A visual mapping of the MTA Certification paths can be found at http://www.microsoft.com/ learning/ en/us/certification/mta.aspx and will show you the MTA exams that are recommended prior to taking on some of Microsoft s intermediate technology certification, MCTS. MTA is the first step to Microsoft Technology Certification Series. MTA is a recommended but not required pre-requisite to MCTS exams. One certification is earned for each exam passed. Free Student Study Guides are available for download at www.certiport.com/mta. vi CAREER PLANNING

EXPLORING JOB ROLES Choosing a career path is a big decision and it s not always easy, but you re not alone! Microsoft created a career site to help students understand the options and possibilities of pursuing a career in IT. The site also connects you with learning resources, student techie communities, and much more to help you prepare for a career in technology. To chart your career with Microsoft technology, visit www.microsoft.com/learning/career/en/us/ career-org-charts.aspx. SERVER ADMINISTRATOR As a server administrator, you are in charge of implementing and managing some of the most important technology in your organization the servers. You use extensive monitoring and profiling tools to manage the network and tune systems so they perform at optimal levels. You are an expert in Active Directory, and you have an in-depth understanding of network protocols, and file and directory security. DATABASE ADMINISTRATOR As a database administrator, you are in charge of important databases that span multiple platforms and environments. You are a strong team player who thrives in a fast-paced environment. You build complex, highly scalable databases that meet business needs and security requirements. You are an expert in optimizing, maintaining, and troubleshooting databases, but also in designing archival, data distribution, and high-availability solutions. COMPUTER SUPPORT TECHNICIAN Consider starting your IT career by becoming a consumer support technician. You don t need any formal work experience, but a company might require that you know how to install, administer, and troubleshoot operating systems in a home network environment that has desktop computers, laptops, and printers. As a consumer support technician, you ll also handle network, virus, malicious software, and hardware support issues. You ll typically find this position in small to medium-sized organizations. EXPLORE EXPLORING JOB ROLES vii

EXPLORING JOB ROLES RESOURCES WEB DEVELOPER As a web developer, you are an expert in using the dynamic programming tools and languages that fuel the web. You might work independently or be part of a team that builds and integrates interactive web sites, applications, and services for both internal and public sites. Your role is to make it work, which means developing web applications and testing them on various browsers, enhancing and modifying them as necessary to ensure the best experience for the user. As a web developer, you might also architect websites, design data-driven applications, and find efficient client-server solutions. You must have an in-depth understanding of the software development life cycle and be able to communicate project status, issues, and resolutions. WINDOWS DEVELOPER As a Windows client developer, knowing how to optimize Windows code and track bugs is a given. But you also know how to use Microsoft Visual Studio and the Microsoft.NET framework to design, develop, test, and deploy Windows-based applications that run on both corporate servers and desktop computers. Your key talents include understanding multiple Windows application models and n-tier applications, and knowing how to work with object-oriented programming, algorithms, data structures, and multithreading. Windows developers have an in-depth understanding of software engineering principles, software life cycles, and security principles. Additional Online Resources for New Developers: http://msdn.microsoft.com/beginner http://msdn.microsoft.com/rampup IMAGINE CUP The Imagine Cup is the world s premier student technology competition where students from around the world can learn new skills, make new friends, and change the world. Competitions include Software Design, Embedded Development, Game Design, Digital Media and Windows Phone 7. The brightest young minds harness the power of technology to take on the world s toughest problems. www.imaginecup.com viii EXPLORING JOB ROLES

VALUE OF CERTIFICATION Technology plays a role in virtually everything we do. In the 20-plus years since Microsoft has been certifying people on its products and technologies, millions of people have gained the knowledge, expertise, and credentials to enhance their careers, optimize business solutions, and create innovation within just about every business and social sector imaginable. Today s Information Technology (IT) hiring managers are more often using professional credentials, such as Microsoft certification, to identify properly skilled IT candidates. Certification becomes a way to easily differentiate qualified candidates in a sea of resumes. The job outlook for IT professionals, as reported in a study prepared by the U.S. Department of Labor s Bureau of Labor Statistics (BLS), is positive! The BLS indicates an increase that will be faster than the average for all occupations through 2014 for Computer Support Specialists, Systems Engineers, Database Administrators, and Computer Software Engineers. One significant message resulting from this study is that information and communications technology (ICT) skills are the entry ticket to the job market, regardless of the country, industry, or job function. Information Technology is clearly an area worth investing time, resources, and education in and technology certification is a key part of the education process, validating product and technology expertise as a result of their learning experiences. Microsoft IT Certifications provide objective validation of the ability to perform critical IT functions successfully for worldwide IT professionals, developers, and information workers. Microsoft certifications represent a rich and varied spectrum of knowledge, job roles, and responsibilities. Further, earning a specific certification provides objective validation of thecandidate s ability to perform critical IT functions successfully. Embraced by industry professionals worldwide, Microsoft certification remains one of the most effective ways to help reach long-term career goals. SHINE CAREER COMPET E VALUE OF CERTIFICATION ix

MTA 98-373 MOBILE DEVELOPMENT FUNDAMENTALS

OBJECTIVE 1 Work with Physical Devices IN THIS CHAPTER 1.1 Understand mobile device tools 1.2 Understand physical capabilities of the mobile device 1.3 Plan for physical interactions with the mobile device

OBJECTIVE work with physical devices 1.1 UNDERSTAND MOBILE DEVICE TOOLS SCENARIO: Manoj Agarwal is an entry-level developer and tester at Trey Research. The company has created a Windows Phone application that allows sales personnel to record voice and text notes while visiting clients. To assist with organization and with customer billing, each note and recording is tagged with the device s location at the time of creation. Manoj has tested the application thoroughly, and his supervisor has asked him to prepare the application for submission to the Windows Phone Marketplace. 1. This application was created for Windows Phone OS 7.0. Which tool can Manoj use to test the application s capabilities? a. Windows Phone Marketplace Test Kit b. Windows Phone Capability Detection Tool c. Windows Phone Connect Tool 2. Which of the following is a reason why it is important to specify an application s capabilities accurately? a. The cost of the submission process varies based on capabilities. b. Microsoft Visual Studio cannot build the project if the capabilities are inaccurate. c. Users must opt in to some of the capabilities of a Windows Phone device. 3. After testing the application and reviewing the results, what should Manoj do next? a. Nothing the test tool will update the project. b. Return the application to the development team to rewrite the necessary code. c. If needed, update the capabilities of the application within the project manifest. The tool used to test application capabilities is different for Windows Phone OS 7.0 and Windows Phone OS 7.1. Understand mobile device tools 5

Answers 1. This application was created for Windows Phone OS 7.0. Which tool can Manoj use to test the application s capabilities? b. Windows Phone Capability Detection Tool. For applications targeting Windows Phone OS 7.1, use the Windows Phone Marketplace Test Kit. 2. Which of the following is a reason why it is important to specify an application s capabilities accurately? c. Users must opt in to some of the capabilities of a Windows Phone device. Specifying application capabilities is a required step in the Marketplace submission process. 3. After testing the application and reviewing the results, what should Manoj do next? c. If needed, update the capabilities of the application within the project manifest. Essential details Developers should specify the capabilities required by a Windows Phone. This is required for any application you wish to submit to the Windows Phone Marketplace. This ensures that users can opt in to certain functionalities, and it also helps minimize security vulnerabilities. An application s capabilities are maintained in an XML file known as the application manifest. To connect to a device without using the Zune software (which locks some functionalities, such as the media library), use the Windows Phone Connect Tool. FAST TRACK HELP How to: Determine Application Capabilities http://msdn.microsoft.com/en-us/library/gg180730(vs.92).aspx Application Manifest File for Windows Phone http://msdn.microsoft.com/en-us/library/ff769509(v=vs.92).aspx How to: Use the Connect Tool for Windows Phone http://msdn.microsoft.com/en-us/library/gg180729(v=vs.92).aspx TRAINING Track Your Score / 3 6 OBJECTIVE 1: Work with Physical Devices

OBJECTIVE work with physical devices 1.2 UNDERSTAND PHYSICAL CAPABILITIES OF THE MOBILE DEVICE SCENARIO: Kevin Kennedy is an intern at Litware, Inc. He has worked hard throughout his time with the company, and as a result, his manager has given him the opportunity to present an idea for a Windows Phone application. If Kevin s presentation goes well, the manager will allow Kevin to collaborate with two of the company s senior software developers to implement the application. Kevin s idea is to create an application that will analyze a user s tennis stroke. He envisions the user holding the device and swinging as if using a racket to strike a ball. After the motion, the application will provide details about the speed and spin the stroke would have generated. 1. Kevin knows that this application could involve complex mathematics. What application programming interface (API) could the team use that might simplify the motion data? a. The Motion API b. The Movement API c. The Physics API 2. Which of the following sensors is standard and available on all Windows Phone devices? a. Gyroscope b. Compass c. Accelerometer 3. Which sensor determines the device s rotation relative to the Earth s magnetic north pole? a. Gyroscope b. Compass c. Accelerometer A sensor is a hardware feature that can provide data via an API. Understand physical capabilities of the mobile device 7

Answers 1. Kevin knows that this application could involve complex mathematics. What application programming interface (API) could the team use that might simplify the motion data? a. The Motion API. This API interprets the raw data from all sensors and returns easy-to-use values. 2. Which of the following sensors is standard and available on all Windows Phone devices? c. Accelerometer. 3. Which sensor determines the device s rotation relative to the Earth s magnetic north pole? b. Compass. Essential details Sensors are hardware features that can be accessed through APIs to provide data that includes the position and motion of the device. All Windows Phone devices are required to adhere to a standard set of basic specifications this means that developers can use specific sensors with the confidence that the phones will support them. Be careful: while the devices must meet minimum specifications, some hardware is optional including the compass and the gyroscope. The accelerometer detects forces applied to the device, such as gravity. The gyroscope uses rotational forces (in other words, motion) to detect the rotational velocity of the device along its three primary axes. The compass detects magnetic fields; it can find the device s orientation relative to the Earth s magnetic north pole. FAST TRACK HELP Hardware Specifications for Windows Phone http://msdn.microsoft.com/en-us/library/ff637514%28v=vs.92%29.aspx Sensors Overview for Windows Phone http://msdn.microsoft.com/en-us/library/hh202968(v=vs.92).aspx Camera and Photos Class Support for Windows Phone http://msdn.microsoft.com/en-us/library/hh202975(v=vs.92).aspx TRAINING Track Your Score / 3 8 OBJECTIVE 1: Work with Physical Devices

OBJECTIVE work with physical devices 1.3 PLAN FOR PHYSICAL INTERACTIONS WITH THE MOBILE DEVICE SCENARIO: Craig Dewar is a junior developer at Trey Research. The company has been testing a new application that allows users to take a picture of a price tag and automatically get prices for the same item at nearby stores. The latest build has a bug that causes it to crash at seemingly random times. The program manager believes that it is happening because the application uses optional hardware that might not be available on every device. Craig is adding functionality that will allow testers to record information about the device, which can then be submitted to the development team. Whenever they experience a crash, they will use Craig s feature to record a variety of data. 1. Which of the following is NOT a network connection that can be used by a Windows Phone device? a. DSL b. Wi-Fi c. Mobile Broadband GSM 2. Which class can provide information about the device s network capabilities? a. DeviceConnectionType b. DeviceDataConnection c. DeviceNetworkInformation 3. Craig also needs to minimize energy use for his part of the application. Which of the following will help? a. Slowing down the network connection b. Using a black background c. Converting images to PNG format Many Windows Phone devices use an organic light-emitting diode (OLED) screen. Plan for physical interactions with the mobile device 9

Answers 1. Which of the following is NOT a network connection that can be used by a Windows Phone device? a. DSL. In addition to Wi-Fi and Mobile Broadband GSM, Windows Phone devices can also use a Mobile Broadband CDMA connection. 2. Which class can provide information about the device s network capabilities? c. DeviceNetworkInformation. 3. Craig also needs to minimize energy use for his part of the application. Which of the following will help? b. Using a black background. On an OLED display, dark areas on the screen use less power than bright areas. Essential details All Windows Phone devices support four-point multi-touch functionality. If you write an application that requires more than that, you should provide alternative ways to interact with the user interface. All devices support Wi-Fi and mobile broadband access (GSM or CDMA). The DeviceNetworkInformation class provides details about network connectivity. Many devices use OLED displays. Because such displays consume less power when displaying dark pixels, using a dark color scheme can save energy. In XNA, you also can save energy by reducing the back buffer size. When planning your screen layout, consider both portrait and landscape orientations unless there is a specific reason to prevent switching, users will expect to be able to use either orientation. FAST TRACK HELP How to: Handle Orientation Changes on Windows Phone http://msdn.microsoft.com/en-us/library/ff769553(vs.92).aspx Working with Touch Input (Windows Phone) http://msdn.microsoft.com/en-us/library/ ff434208(v=xnagamestudio.41).aspx How to: Determine the Network Capabilities for Windows Phone http://msdn.microsoft.com/en-us/library/hh202859.aspx TRAINING Track Your Score / 3 10 OBJECTIVE 1: Work with Physical Devices

OBJECTIVE 2 Use Data with Mobile Devices IN THIS CHAPTER 2.1A Work with networked data 2.1B Work with networked data 2.2 Use data stores

12 CHAPTER 2: OBJECTIVE 2

OBJECTIVE use data with mobile devices 2.1A WORK WITH NETWORKED DATA SCENARIO: Wendy Kahn is completing a computer science degree program and has been hired as an intern at City Light & Power. After talking with a coworker who works as a field technician for the company, she realized that personnel in the field could benefit from a mobile application. Wendy decides to put together a simple plan for the application so she can propose it to her manager. City Power & Light has a Microsoft SQL Server database with detailed customer information, as well as data regarding current power outages and service interruptions. Wendy wants to allow field technicians to retrieve this data with their Windows Phone devices when they visit customers homes for service calls. 1. Which of the following would be a benefit of designing this application as an OCA? a. The application would be free to submit to the Windows Phone Marketplace. b. The application would use compression to increase data transfer speeds. c. The application would be usable when the device doesn t have network access. 2. Which technology can Wendy use to minimize the amount of data that her application needs to transfer? a. SQL Server Compact Edition b. SQL Server Replication c. SQLXML 3. Which technology can Wendy use to interact with the company s SQL Server databases? a. ADO.NET b. WPF c. XNA An OCA is an occasionally connected application. Work with networked data 13

Answers 1. Which of the following would be a benefit of designing this application as an OCA? c. The application would be usable when the device doesn t have network access. 2. Which technology can Wendy use to minimize the amount of data that her application needs to transfer? b. SQL Server Replication. This technology allows the device s database to sync with the company s SQL Server database; the device will only need to download changes rather than all of the data. 3. Which technology can Wendy use to access the company s SQL Server databases? a. ADO.NET Essential details An occasionally connected application (OCA) is an application that periodically syncs a local (client) database with a remote (server) database, allowing the user to work without an active connection to the server. SQL Server Replication is a set of technologies for syncing data between multiple databases. These technologies enable the implementation of an OCA. It is important that mobile applications transfer as little data as possible. Likewise, mobile devices may not always have network connectivity, so you should make your applications work in offline mode. ADO.NET is a set of classes that provide data access services. LINQ (language-integrated Query) is a set of.net language features that allow developers to use queries on data from a variety of sources. LINQ to SQL specifically interfaces with SQL Server databases. FAST TRACK HELP ADO.NET Overview http://msdn.microsoft.com/en-us/library/h43ks021.aspx LINQ to SQL http://msdn.microsoft.com/en-us/library/bb386976.aspx SQL Server Replication Track Your Score http://msdn.microsoft.com/en-us/library/ms151198.aspx / 3 TRAINING 14 OBJECTIVE 2: Use Data with Mobile Devices

OBJECTIVE use data with mobile devices 2.1B uwork WITH NETWORKED DATA SCENARIO: Wendy Kahn presented her idea for a new Windows Phone application to her manager at City Light & Power. The manager was impressed with her initiative and offered to let Wendy implement the idea as a part of her internship experience. The manager placed Wendy with a small team of developers to help create the application. The other members of the team are gathering feedback about the user interface design from the field technicians who will use the application. Wendy is still making some decisions about how the application will access data in the field. For example, she thinks that some parts of her application will access the company s web server for data in addition to the functions that will rely on SQL Server Replication with a local database. 1. Which technique will her teammates likely use when creating the user interface? a. Data binding b. Flash c. Windows Forms 2. What type of application will the City Light & Power servers need to provide if Wendy wants to connect via the Hypertext Transfer Protocol (HTTP)? a. A Silverlight application b. A distributed application c. A web service 3. Which technology will help Wendy provide the functionality from Question 2? a. WCF Data Services b. Microsoft SQL Server Compact Edition c. XNA WCF is Windows Communication Foundation a set of features for providing data access via the web. Work with networked data 15

Answers 1. Which technique will her teammates likely use when creating the user interface? a. Data binding 2. What type of application will the City Light & Power servers need to provide if Wendy wants to connect via the Hypertext Transfer Protocol (HTTP)? c. A web service 3. Which technology will help Wendy provide the functionality from Question 2? a. WCF Data Services Essential details Data binding is a relationship between a data source (often a database) and a control. It connects the user interface to the data that it displays; it also makes it possible for users to edit and save changes to the data using the interface. Windows Communication Foundation (WCF) is a component of the Microsoft.NET Framework for building and accessing web services. It allows developers to access data via the web. Representational State Transfer (REST) is a set of standards for exposing resources on the web for access by clients. Many web sites provide service via REST, such as the Bing search engine. A web service is an application that enables access to a wide variety of data over the Internet, using the popular HTTP protocol. WCF Data Services provides this functionality in the.net Framework. FAST TRACK HELP Data Binding http://msdn.microsoft.com/en-us/library/cc278072(vs.95).aspx Networking and Web Services Overview for Windows Phone http://msdn.microsoft.com/en-us/library/ff637518(vs.92).aspx WCF Data Services http://msdn.microsoft.com/en-us/library/cc668792.aspx TRAINING Track Your Score / 3 16 OBJECTIVE 2: Use Data with Mobile Devices

OBJECTIVE use data with mobile devices 2.2 USE DATA STORES OBJECTIVE UNDERSTANDING OBJECT ORIENTED PROGRAMMING 2.3 SCENARIO: Ken Myer just started his new job as a junior software developer at A. Datum Corporation. The company is beginning to design an application that will allow customers to track orders and support tickets from their Windows Phone devices. Ken needs to make some decisions about how the application will store and retrieve the relevant data. He will present his recommendations to the project manager. The application will definitely need to access data from the company s Microsoft SQL Server databases, which are accessible on the Internet. The application should be highly customizable by the user. 1. Which type of file should the application use to store a copy of the data from the company s server running SQL Server on the user s phone? a. Content file b. Key/value pair c. Local database 2. If Ken decides that the team should make two different applications one for orders and one for support tickets that can both access the same data, where would the data need to be stored? a. In a content file b. In isolated storage c. On a remote server 3. The application should allow the user to send the company an email quickly and return immediately to the application. Which feature enables this kind of integration? a. Isolated storage b. Launcher APIs c. LINQ to SQL A Launcher is similar to a Chooser, but it cannot return any data. Use data stores 17

Answers 1. Which type of file should the application use to store a copy of the data from the company s server running SQL Server on the user s phone? c. Local database 2. If Ken decides that the team should make two different applications one for orders and one for support tickets that can both access the same data, where would the data need to be stored? c. On a remote server. Local files are kept in isolated storage and cannot be accessed by any other applications. 3. The application should allow the user to send the company an email quickly and be returned immediately to the application. Which feature enables this kind of integration? b. Launcher APIs. Launchers start built-in applications that provide commonly used functionality, such as sending an email. Essential details Launchers and Choosers provide access to built-in applications for commonly used features. They open the new application, allow the user to complete a task, and then return to the original application. A Chooser can return data to the application from which it was invoked a launcher cannot. Content and resource files provide easy read-only access to local files. Content files are preferred because, unlike resource files, they are not embedded in the project assembly and therefore do not affect the application s startup time. Key/value pairs are sets of linked data items. This method of file storage is useful for application settings and other simple (non-relational) data. Beginning with Windows Phone OS 7.1, applications can use a local database that is housed in isolated storage. The database can be accessed using LINQ to SQL. FAST TRACK HELP Isolated Storage Overview for Windows Phone http://msdn.microsoft.com/en-us/library/ff402541(v=vs.92).aspx Local Database Overview for Windows Phone http://msdn.microsoft.com/en-us/library/hh202860(v=vs.92).aspx Launchers and Choosers Overview for Windows Phone http://msdn.microsoft.com/en-us/library/ff769542(v=vs.92).aspx TRAINING Track Your Score / 3 18 OBJECTIVE 2: Use Data with Mobile Devices

OBJECTIVE 3 Use a Mobile Application Development Environment IN THIS CHAPTER 3.1A Understand design for mobile devices 3.1B Understand design for mobile devices 3.2 Network for mobile devices 3.3A Understand Silverlight 3.3B Understand Silverlight 3.4 Work with developer tools 3.5 Code for mobile applications

OBJECTIVE use a mobile application development environment 3.1A understanding UNDERSTAND DESIGN general FOR software MOBILE DEVICES development 3.1 SCENARIO: Maggie Carrido has an internship at Contoso Pharmaceuticals. Until she proves to her manager that she is ready to work with the development team, Maggie is working on some design issues for an application that the company is considering developing. They would like to create a Windows Phone application that would provide up-to-date information from the company s production plant. Their products are produced in large batches, so they want the sales team to know what quantities will be available, as well as the date that each batch will be ready for shipment. The application will be free of charge, but it will require an employee logon and password to access any data. 1. How can the team distribute the application so that employees can install it? a. By emailing the binary file to each employee b. By using a web installer on the company s website c. By submitting it to the Windows Phone Marketplace 2. What visual style should the application implement to be consistent with other Windows Phone applications? a. Aero b. Metro c. Windows Forms 3. Which process includes translating strings into other languages? a. Marketplace submission b. Globalization c. Localization Globalization and localization enable an application to be marketed in other countries. Understand design for mobile devices 21

Answers 1. How can the team distribute the application so that employees can install it? c. By submitting it to the Windows Phone Marketplace. This is the only supported method for installing a Silverlight or XNA application for non-development purposes. 2. What visual style should the application implement to be consistent with other Windows Phone applications? b. Metro 3. Which process includes translating strings into other languages? c. Localization. Globalization refers to separating language-specific user interface (UI) elements from the code; neither localization nor globalization is necessary for Marketplace submission. Essential details Windows Phone Marketplace is the centralized service where developers can sell (or give away) applications and games for Windows Phone devices. To be available in the Marketplace, applications and games must pass a submission and certification process to ensure that, among other things, it is reliable, efficient, and free of malicious code. The Windows Phone OS user experience is based on the Metro visual style; applications for Windows Phone OS also should implement the Metro style. It features a clean, simple style that favors content over decoration. In a mobile application, UI controls should be big enough to ensure touch accuracy and should use spacing or padding. Globalization and localization help developers target a variety of markets around the world. Globalization refers to making an application as language-neutral as possible. Localization means making the application responsive to the users region and language settings so that the UI appears in their local language. FAST TRACK HELP Application Certification Requirements for Windows Phone http://msdn.microsoft.com/en-us/library/hh184843(v=vs.92).aspx Globalization and Localization for Windows Phone http://msdn.microsoft.com/en-us/library/ff637522(v=vs.92).aspx User Experience Design Guidelines for Windows Phone http://msdn.microsoft.com/en-us/library/hh202915%28v=vs.92%29.aspx TRAINING Track Your Score / 3 22 OBJECTIVE 3: Use a Mobile Application Development Environment

OBJECTIVE use a mobile application development environment 3.1B understanding UNDERSTAND DESIGN general FOR software MOBILE DEVICES development 3.1 SCENARIO: Maggie Carrido has impressed her manager at Contoso Pharmaceuticals by working out some basic design details for an application that interacts with data from the company s production plant. The application will retrieve and display information about inventory, current production runs, and future production schedules. Because she is going to have the chance to work on the development team, she will need to learn more about the models that developers rely on when building applications. 1. Which design pattern separates the user interface (UI) from the database? a. MVVM b. OOP c. WCF 2. Which of the following is an important concept in OOP? a. A clean, simple UI b. Storing data in a remote database accessible via the Internet c. Encapsulating properties and methods in classes 3. Which technique enables multiple tasks to be processed at the same time? a. Asynchronous programming b. Inheritance c. LINQ to SQL MVVM stands for Model- View-ModelView; OOP stands for object-oriented programming. Understand design for mobile devices 23

Answers 1. Which design pattern separates the user interface (UI) from the database? a. MVVM 2. Which of the following is an important concept in OOP? c. Encapsulating properties and methods in classes 3. Which technique enables multiple tasks to be processed at the same time? a. Asynchronous programming Essential details The two most important factors in application performance are startup time and responsiveness to the user. MVVM is a design pattern that separates the database contents (or data access layer) from the user interface. It is particularly useful in database applications. OOP is a development approach that is supported by a variety of programming languages, including Microsoft Visual Basic and Microsoft Visual C#. Three important concepts in OOP are encapsulation, inheritance, and polymorphism. Encapsulation refers to grouping properties and methods together. Inheritance is the ability to create new classes based on (or extending ) existing classes. FAST TRACK HELP Performance Considerations in Applications for Windows Phone http://msdn.microsoft.com/en-us/library/ff967560(v=vs.92).aspx Object-Oriented Programming (C# and Visual Basic) http://msdn.microsoft.com/en-us/library/dd460654.aspx Getting Started with the MVVM Pattern in Silverlight Applications http://weblogs.asp.net/dwahlin/archive/2009/12/08/ getting-started-with-the-mvvm-pattern-in-silverlight-applications.aspx TRAINING Track Your Score / 3 24 OBJECTIVE 3: Use a Mobile Application Development Environment

OBJECTIVE use a mobile application development environment 3.2 understanding NETWORK FOR MOBILE general DEVICES software development 3.1 SCENARIO: Virginie Jean has worked in the IT department at Consolidated Messenger for several years. She is responsible for maintaining workstations and servers in the company headquarters. She became interested in mobile applications and is learning to program in Microsoft Visual C#. Virginie s supervisor is happy to see her working on new skills and has offered to allow Virginie spend a few hours each week shadowing the development team. The team is preparing to submit an application to the Windows Phone Marketplace. The application provides customers with up-to-date shipping information, including notifications when shipment details are updated. Virginie doesn t understand how the application does everything, but she s very interested in the way it connects to the company s web-based server. 1. When a customer s package is shipped, the application shows an alert in a small bar at the top of the Windows Phone device s screen. What type of notification is this? a. Raw notification b. Tile notification c. Toast notification 2. When a package is shipping to a large company, employees of that company can sign up to receive updates; however, the server seems to send the data only once. What technology is the application likely using to do this? a. Multicast b. Rich Internet Application (RIA) c..xap files 3. One of the developers mentioned that for normal use, the application requires no special functionality on the server side it simply connects to the company s website. What tools are likely being used to do this? a. Multicast b. SQL Replication c. Web services Raw, tile, and toast notifi cations are all types of push notifi cations. Network for mobile devices 25

Answers 1. When a customer s package is shipped, the application shows an alert in a small bar at the top of the Windows Phone device s screen. What type of notification is this? c. Toast notification 2. When a package is shipping to a large company, employees of that company can sign up to receive updates; however, the server seems to send the data only once. What technology is the application likely using to do this? a. Multicast 3. One of the developers mentioned that for normal use, the application requires no special functionality on the server side it simply connects to the company s website. What tools are likely being used to do this? c. Web services Essential details Push notifications allow a web service to send data to a Windows Phone device. Tile notifications can update Tiles on the device s Start screen. Toast notifications appear at the top of the screen. Raw notifications go directly to an application and may not notify the user. RIAs are web-based applications that feature user interfaces such as animation, multimedia, and interactivity. Silverlight applications are distributed in application packages with the.xap (pronounced zap ) extension. FAST TRACK HELP Application and Programming Models http://msdn.microsoft.com/en-us/library/cc903934(v=vs.95).aspx Networking and Web Services Overview for Windows Phone http://msdn.microsoft.com/en-us/library/ff637518(v=vs.92).aspx Push Notifications Overview for Windows Phone http://msdn.microsoft.com/en-us/library/ff402558(v=vs.92).aspx TRAINING Track Your Score / 3 26 OBJECTIVE 3: Use a Mobile Application Development Environment

OBJECTIVE use a mobile application development environment 3.3A understanding UNDERSTAND SILVERLIGHT general software development 3.1 SCENARIO: Jenny Liu is applying for a job as a Level 1 developer at Fabrikam, Inc. The company is starting a new department to develop applications for Windows Phone devices, and Jenny is hoping to be part of the new team. Fabrikam s Help Wanted notice states that recently trained developers are encouraged to apply and that the team will be developing applications using Silverlight for Windows Phone, but they will be moving to XNA in a few months. Jenny has never used Silverlight, but she took a class on XNA when she was in college and she has some experience with creating Windows Forms applications in Microsoft Visual Basic. She has learned several things in her recent search for information about Windows Phone development. 1. Jenny s experience with Windows Forms user interfaces (UIs) is most likely to help her with which technology? a. HTML5 b. Silverlight c. XNA 2. Which technology is a good choice for a 3-D game? a. HTML5 b. Silverlight c. XNA 3. Which technology uses a frame loop, rather than an event-driven model? a. HTML5 b. Silverlight c. XNA In many ways, Silverlight is similar to Windows Presentation Foundation (WPF). Understand silverlight 27

Answers 1. Jenny s experience with Windows Forms user interfaces (UIs) is most likely to help her with which technology? b. Silverlight. Like Windows Forms, Silverlight provides many user interface controls and uses an event-driven execution model. 2. Which technology is a good choice for a 3-D game? c. XNA. XNA is clearly optimized for games and simulations. It allows you to use models, textures, sprites, and pixel shaders when rendering graphics. 3. Which technology uses a frame loop rather than an event-driven model? c. XNA. XNA is based on a frame loop and is ideal for games and simulations. Essential details Developers can create managed Windows Phone applications in either XNA or Silverlight; Windows Phone is also capable of running HTML5 web applications. XNA is geared toward game development, and Silverlight typically works well for UI-based applications. However, this may not always be true; many developers also create games using Silverlight. Silverlight is similar to WPF and relies on Extensible Application Markup Language (XAML) to implement a UI. Silverlight applications use an event-driven model, while XNA applications use a frame loop and polling. Silverlight excels at integrating video and other multimedia elements into applications; XNA is capable of rending full 3-D games. It is possible to create and application that uses both technologies. FAST TRACK HELP The Silverlight and XNA Frameworks for Windows Phone http://msdn.microsoft.com/en-us/library/ff402528(v=vs.92).aspx Windows Phone Developer Guide Appendix B http://msdn.microsoft.com/en-us/library/gg490774.aspx Building Apps with HTML5: What You Need to Know http://msdn.microsoft.com/en-us/magazine/hh335062.aspx TRAINING Track Your Score / 3 28 OBJECTIVE 3: Use a Mobile Application Development Environment

OBJECTIVE use a mobile application development environment 3.3B understanding UNDERSTAND SILVERLIGHT general software development 3.1 SCENARIO: Jenny Liu has applied for a job as a Level 1 Developer at Fabrikam, Inc. Her first interview went well the project manager was impressed with Jenny s knowledge of Silverlight and is interested in hiring her to be a part of that team. The team will be building a weather application that will allow the user to scroll to see forecasts for up to 10 days into the future. As the last step of the hiring process, the manager asks Jenny some questions about the different controls available when developing a Windows Phone application with the Silverlight framework. 1. Which Windows Phone control is intended to display simple text, without allowing the user to edit the information? a. Label b. TextBlock c. TextBox 2. Which of the following built-in applications demonstrates the use of a Pivot control? a. Bing Maps b. Email c. Messaging 3. Which control provides a large horizontal surface that extends beyond the edges of the display? a. Canvas b. Panorama c. Pivot Windows Phone applications can use most of the standard Silverlight controls. Understand silverlight 29

Answers 1. Which Windows Phone control is intended to display simple text, without allowing the user to edit the information? b. TextBlock. Windows Phone does not support the Label control; TextBox is intended to allow user input. 2. Which of the following built-in applications demonstrates the use of a Pivot control? b. Email. Other examples include the Calendar and Settings applications. 3. Which control provides a large horizontal surface that extends beyond the edges of the display? b. Panorama. Essential details Controls are the visible elements that make up a user interface, such as Buttons and TextBoxes. Many of these are slightly different from the standard desktop controls, so that they work well with the Windows Phone touch display. Silverlight for Windows Phone supports most of the standard Silverlight controls, plus the Panorama and Pivot controls. The Panorama control is used to display related content on a long horizontal canvas that extends beyond the confines of the screen. Examples of the Panorama control include the built-in people and pictures app hubs. The Pivot control is used to switch between different views of the same data or application. It is similar in function to a tab control in a desktop or web application. Built-in examples of the Pivot control include the email and calendar applications. FAST TRACK HELP Controls in Silverlight for Windows Phone http://msdn.microsoft.com/en-us/library/ff426932(v=vs.95).aspx Panorama and Pivot Controls Quickstart http://create.msdn.com/en-us/education/quickstarts/ Panorama_and_Pivot_Controls Types of Controls http://create.msdn.com/en-us/education/quickstarts/types_of_controls TRAINING Track Your Score / 3 30 OBJECTIVE 3: Use a Mobile Application Development Environment

OBJECTIVE use a mobile application development environment 3.4 understanding WORK WITH DEVELOPER general TOOLS software development 3.1 SCENARIO: Tad Orman is a recent university graduate and works at Humongous Insurance as a junior member of one of the company s software development teams. Most of Tad s experience has been with Java and C++, but due to his hard work, the manager of Humongous Insurance s mobile applications group has requested that Tad join her team. The manager of that team asked Tad to set up his workstation for mobile application development and loaned him a Windows Phone device to try creating and deploying some simple applications. If Tad learns quickly and enjoys the work, he will move over to the new team. 1. What does Tad need to install to ensure that he has all the development tools for Windows Phone applications? a. Microsoft Visual Studio 2010 Professional b. Windows Phone Emulator c. Windows Phone SDK 2. If the development tools are installed on a computer without an existing Visual Studio installation, what integrated development environment (IDE) will the developer use? a. Silverlight for Windows Phone b. Visual Studio 2010 Express for Windows Phone c. Visual Studio 2010 Professional 3. Which testing configuration locks the media files, preventing access to some of the Windows Phone functionality? a. Connecting a physical device with the Windows Phone Connect tool b. Connecting a physical device with the Zune software c. Using the Windows Phone Emulator The Windows Phone emulator provides a desktop application that mimics a Windows Phone device. Work with developer tools 31

Answers 1. What does Tad need to install to ensure that he has all the development tools for Windows Phone applications? c. Windows Phone SDK. This can be downloaded for free at http://create.msdn.com. 2. If the development tools are installed on a computer without an existing Visual Studio installation, what integrated development environment (IDE) will the developer use? b. Visual Studio 2010 Express for Windows Phone. Computers with Visual Studio 2010 Professional (or later) will get the Windows Phone add-in, allowing developers to use the previously installed IDE. 3. Which testing configuration locks the media files, preventing access to some of the Windows Phone functionality? b. Connecting a physical device with the Zune software. The Windows Phone Connect tool allows you to connect without running Zune. Essential details An integrated development environment (IDE), is a collection of tools and resources for developing applications. The IDE used by Windows Phone developers is Visual Studio. The Windows Phone SDK installs all the various tools necessary for creating, testing, and publishing Windows Phone applications. An important component of the Windows Phone SDK is the Windows Phone Emulator. This application allows developers to test a Windows Phone application right on their development computer, without the need for an actual Windows Phone device. FAST TRACK HELP Visual Studio 2010 Express for Windows Phone http://msdn.microsoft.com/en-us/library/ff630878(v=vs.92).aspx Windows Phone Emulator http://msdn.microsoft.com/en-us/library/ff402563(v=vs.92).aspx Deploying and Testing on You Windows Phone http://msdn.microsoft.com/en-us/library/gg588378(v=vs.92).aspx TRAINING Track Your Score / 3 32 OBJECTIVE 3: Use a Mobile Application Development Environment

OBJECTIVE use a mobile application development environment 3.5 CODE FOR MOBILE APPLICATIONS SCENARIO: Tad Orman wants to show the manager of the mobile applications development team at Humongous Insurance that he understands the fundamentals of writing code for Windows Phone applications. Though most of his prior experience is with C++ and Java, Tad has installed the Windows Phone SDK. Now he wants to try creating some Windows Phone applications, and he knows that he has some choices to make about which programming languages and technologies he can use. 1. Which language is likely to be more familiar to Tad, given his programming background? a. HTML5 b. Microsoft Visual Basic c. Microsoft Visual C# 2. Tad s first application will not execute due to errors. What type of errors is Tad experiencing? a. Build errors b. Rendering errors c. Run-time errors 3. Which technology is ideal for creating a fast-paced arcade game with Visual Basic? a. HTML5 b. XAML c. XNA XAML stands for Extensible Application Markup Language. It is syntactically similar to XML and HTML. Code for mobile applications 33

Answers 1. Which language is likely to be more familiar to Tad, given his programming background? c. Microsoft Visual C#. The syntax used in C# is very similar to the syntax used in C/C++. 2. Tad s first application will not execute due to errors. What type of errors is Tad experiencing? a. Build errors. 3. Which technology is ideal for creating a fast-paced arcade game with Visual Basic? c. XNA. XNA is specifically designed for developing games. Essential details Application errors are generally categorized as either build errors or run-time errors. Build errors prevent the source code from being compiled, while run-time errors are incorrect or unexpected behaviors or results that occur while the application is executing. Windows Phone applications can be developed using Visual Basic.NET or Visual C#. The two languages support essentially the same feature set and performance characteristics, so you can choose either for your applications and games. Silverlight uses a language called XAML to define user interfaces. Pronounced zamel, it looks a lot like HTML and XML. It can be created with Visual Studio or Microsoft Expression Blend. XNA is a set of Visual Studio libraries designed for game development. FAST TRACK HELP Getting Started with Visual Basic http://msdn.microsoft.com/en-us/library/8hb2a397.aspx Getting Started with Visual C# http://msdn.microsoft.com/en-us/library/a72418yk.aspx XAML Overview http://msdn.microsoft.com/en-us/library/cc189036(vs.95).aspx Getting Started with XNA Game Studio Development http://msdn.microsoft.com/en-us/library/bb203894.aspx TRAINING Track Your Score / 3 34 OBJECTIVE 3: Use a Mobile Application Development Environment

OBJECTIVE 4 Develop Mobile Applications IN THIS CHAPTER 4.1 Manage the application life cycle 4.2A Understand mobile device APIs 4.2B Understand mobile device APIs 4.3A Understand mobile device controls 4.3B Understand mobile device controls 4.4A Build the user interface 4.4B Build the user interface

OBJECTIVE develop mobile applications 4.1 MANAGE THE APPLICATION LIFE CYCLE SCENARIO: Ayla Kol is studying computer science at a local university, and her mother is a close friend of the owner of a local travel agency called Margie s Travel. The company hired a developer to create an application for clients of the travel agency, but that developer is ill and cannot finish the application. Knowing that Ayla has some experience with Silverlight development, the company has asked her to look at the application to see if she can finish it. Most of the application s functionality is complete, but in her testing, Ayla has noticed that if she leaves the application and returns, it doesn t seem to remember where she left off. 1. If Ayla presses the Start button to exit the application but doesn t start anything else, what is likely to be the state of the application? a. Running b. Dormant c. Closed 2. Which technique would enable the application to reopen in the same state it left when it closed? a. Asynchronous programming b. Persistence c. Tombstoning 3. Which of the following could the application do when it is dormant or closed? a. Play audio b. Force itself to the foreground c. Receive email The application life cycle consists of these states: running, dormant, tombstoned, and closed. Manage the application life cycle 37

Answers 1. If Ayla presses the Start button to exit the application but doesn t start anything else, what is likely to be the state of the application? b. Dormant. If the phone begins to run low on memory, the application could be closed. 2. Which technique would enable the application to reopen in the same state it left when it closed? c. Tombstoning 3. Which of the following could the application do when it is dormant or closed? a. Play audio. The application would have to register an agent that could continue running in the background. Essential details To ensure a fast, responsive user interface at all times, Windows Phone OS allows only one application to run at a time. However, users expect multitasking; so, Windows Phone OS provides features to allow fast switching between applications in a seamless manner that is similar to desktop multitasking. The Windows Phone execution model moves an application between four states: running, dormant, tombstoned, and closed. These transitions conserve memory and battery power. A dormant application is still in memory but is not executing. A tombstoned application has terminated, but information about the state of the application has been saved. This allows the application to be reopened and restored to its last state, so the user feels like the application never stopped executing. A closed application has terminated without saving any state-related information. FAST TRACK HELP Execution Model Overview for Windows Phone http://msdn.microsoft.com/en-us/library/ff817008(v=vs.92).aspx Multitasking for Windows Phone http://msdn.microsoft.com/en-us/library/hh202866(v=vs.92).aspx Running your App in the Background (Tombstoning) http://create.msdn.com/en-us/education/quickstarts/ Running_your_App_in_the_Background_(Tombstoning) 38 OBJECTIVE 4: Develop Mobile Applications TRAINING Track Your Score / 3

OBJECTIVE develop mobile applications 4.2A UNDERSTAND MOBILE DEVICE APIS SCENARIO: Diane Forsyth has experience developing Windows Forms applications in Microsoft Visual Basic, but she has recently been transferred to the mobile application development team at her company, Woodgrove Bank. The bank would like to create a Windows Phone application that would allow its customers to access their bank accounts to see balances, transfer money, and make online payments. Diane is learning about using Silverlight to develop Windows Phone applications, and she knows there are many application programming interfaces (APIs) available to help her create an application. 1. Which feature could Diane use to make the application location-aware, so it could give directions to the nearest branch? a. Location Service b. NavigationService c. Canvas element in HTML5 2. Which location hardware would likely give the most accurate results, but at the expense of greater power consumption? a. Cellular radio receiver b. Global positioning satellite (GPS) receiver c. Wi-Fi radio receiver 3. Which of the following is an advantage of using HTML5 in a web application? a. HTML5 can play media files without a plug-in. b. HTML5 does not rely on the Canvas element. c. HTML5 password-protects media files. HTML5 is an update to the HTML specifi cation that improves support for media and graphics. Understand mobile device APIs 39

Answers 1. Which feature could Diane use to make the application location-aware, so it could give directions to the nearest branch? a. Location Service 2. Which location hardware would likely give the most accurate results, but at the expense of greater power consumption? b. Global positioning satellite (GPS). It is generally best to use GPS only when accuracy is essential to the application. 3. Which of the following is an advantage to using HTML5 in a web application? a. HTML5 can play media files without a plug-in. Essential details Windows Phone applications use a navigation model similar to webpage browsing; the application keeps track of pages and allows the user to navigate back using the phone s Back button. This functionality is provided by the NavigationService class. Applications can determine the device s geographic location by using a Location Service. It collects data from the hardware and looks up the information on a Microsoft -hosted web service. The hardware technologies used to determine location are GPS, Wi-Fi, and cellular connections. GPS is more accurate than the other two, but consumes more battery power. HTML5 adds many new APIs that developers can use for mobile web applications. They include GeoLocation for determining the phone s location, updates to the Forms API, and significant graphics and media improvements. In particular, HTML5 allows sites to stream or embed video and audio without requiring a browser plug-in. FAST TRACK HELP Frame and Page Navigation Overview for Windows Phone http://msdn.microsoft.com/en-us/library/ff402536(v=vs.92).aspx Location for Windows Phone http://msdn.microsoft.com/en-us/library/ff431803(v=vs.92).aspx Graphics in HTML5 http://msdn.microsoft.com/en-us/library/gg193983(v=vs.85).aspx TRAINING Track Your Score / 3 40 OBJECTIVE 4: Develop Mobile Applications

OBJECTIVE develop mobile applications 4.2B UNDERSTAND MOBILE DEVICE APIS SCENARIO: Evan Dodds is a developer who takes night classes at the School of Fine Art, where he is studying digital photography. He knows that, like him, many of his classmates would love to be able to do some simple photo editing on a mobile device, where the large touch screen would be a natural fit for photo manipulations such as resizing, cropping, and simple color corrections. Evan decides to create his application in Silverlight for Windows Phone and will need to handle a variety of gestures within his application. 1. Which of the following gestures would be the best fit for scaling a photo to a smaller size? a. Double Tap b. Flick c. Pinch 2. Which of the following gestures can be handled using standard Silverlight mouse events? a. Double Tap b. Flick c. Pinch 3. Which of the following best describes the role of the ManipulationDelta event? a. It occurs once when the user first touches the screen. b. It occurs repeatedly while a finger is moving on the screen. c. It occurs once when a finger is lifted off the screen. Common Windows Phone gestures include Tap, Double Tap, Drag, Flick and Pinch. Understand mobile device APIs 41

Answers 1. Which of the following gestures would be the best fit for scaling a photo to a smaller size? c. Pinch 2. Which of the following gestures can be handled using standard Silverlight mouse events? a. Double Tap 3. Which of the following best describes the role of the ManipulationDelta event? b. It occurs repeatedly while a finger is moving on the screen. Essential details Windows Phone devices include a touch screen with support for at least four simultaneous touch points, making gestures an important part of the user experience. Standard gestures include Tap, Double Tap, Drag, Flick, and Pinch. Simple gestures can be handled using Silverlight s standard mouse events, such as MouseLeftButtonDown and MouseLeftButtonUp. For example, Tap and Double Tap require no information about direction or motion. The standard Button Click event also corresponds to a Tap gesture. For more complicated gestures, such as Drag, Flick, and Pinch, Silverlight for Windows Phone provides three manipulation events. ManipulationStarted occurs when the user first touches the screen. ManipulationDelta occurs repeatedly as a finger moves while touching the screen. ManipulationCompleted is triggered when the user removes a finger from the screen. FAST TRACK HELP Microsoft: Gesture Support for Windows Phone http://msdn.microsoft.com/en-us/library/ff967546(v=vs.92).aspx Microsoft: App Hub touch input http://create.msdn.com/en-us/education/quickstarts/touch_input Microsoft: How Do I: Use Touch Manipulation in a Windows Phone 7 Application? http://msdn.microsoft.com/en-us/ff849716 TRAINING Track Your Score / 3 42 OBJECTIVE 4: Develop Mobile Applications

OBJECTIVE develop mobile applications 4.3A UNDERSTAND MOBILE DEVICE CONTROLS SCENARIO: Ed Banti is migrating an application from a different mobile phone platform to Windows Phone for Consolidated Messenger. The application, which will be used by employees around the world, will provide employees with updated information about deliveries and shipments. His supervisor has made usability a priority for this project and wants Ed to pay particular attention to the interface layout. Ed is working with the layout of several pages within the application, focusing on making efficient use of the large touch screen without overwhelming the user with information. 1. Which layout panel places controls in exact positions specified by the developer? a. Canvas b. Grid c. StackPanel 2. Which layout panel uses rows and columns to determine control placement? a. Canvas b. Grid c. StackPanel 3. Which of the following controls displays a collection of data and allows the user to choose one or more items? a. ListBox b. ScrollViewer c. Slider Grid and StackPanel use relative and dynamic positioning. Understand mobile device controls 43

Answers 1. Which layout panel places controls in exact positions specified by the developer? a. Canvas 2. Which layout panel uses rows and columns to determine control placement? b. Grid 3. Which of the following controls displays a collection of data and allows the user to choose one or more items? a. ListBox Essential details A user interface (UI) is comprised of visual elements called controls. Common examples of controls include Textoxes and Buttons. Windows Phone applications use Panels to manage the layout of controls. A Grid uses columns and rows; controls can be placed in cells within the Grid. A StackPanel arranges controls in a line, either vertically or horizontally. A Canvas places controls in specified locations. Although this allows for exact placement, it is generally used only when necessary. Instead, it s better to use Grid and StackPanel these manage layout dynamically. Controls are measured and arranged to fit the available screen space. FAST TRACK HELP Laying out a Page http://msdn.microsoft.com/en-us/library/gg680262(v=pandp.11).aspx App Hub: layout on the screen http://create.msdn.com/en-us/education/quickstarts/layout_on_the_screen App Hub: using controls http://create.msdn.com/en-us/education/quickstarts/using_controls TRAINING Track Your Score / 3 44 OBJECTIVE 4: Develop Mobile Applications

OBJECTIVE develop mobile applications 4.3B UNDERSTAND MOBILE DEVICE CONTROLS SCENARIO: Karina Leal is a consultant who develops mobile applications for a variety of organizations. She recently received a contract to develop an application for Blue Yonder Airlines. The application will allow Blue Yonder customers to book flights and change existing reservations. It also will enable the user to choose seat assignments and pre-purchase in-flight meals. The airline is hoping that Karina s application will provide much of the same functionality that s available on their website, with some additional features to take advantage of Windows Phone features, such as directly emailing customer support from within the application and displaying information about airports with Bing Maps. Most important, the application should notify the user if a flight has been delayed or cancelled, and allow the user to jump directly to the page in the application with cancellation information. 1. Which Tile property can Karina use to display a string of less than 40 characters (such as a message about a delay)? a. BackContent b. Count c. BackTitle 2. Which feature would let Karina add a Tile that would link directly to a page in the application that displays delays and cancellations? a. An Application Tile b. The Tile Count property c. A secondary Tile 3. Which feature can trigger a task, such as starting a Bing Maps application? a. Chooser b. Toast c. Tombstoning A task is an activity or feature that utilizes an external application. Understand mobile device controls 45

Answers 1. Which Tile property can Karina use to display a string of less than 40 characters (such as a message about a delay)? a. BackContent 2. Which feature would let Karina add a Tile that would link directly to a page in the application that displays delays and cancellations? c. A secondary Tile 3. Which feature can trigger a task, such as starting a Bing Maps application? a. Chooser. Choosers and Launchers can both trigger tasks. Essential details A Tile is a link to your application that is displayed on the Windows Phone Start page. An application can use two different Tiles: the Application Tile and a secondary Tile. The Application Tile is added to the Start page when the user pins an application tapping this Tile opens the application s opening page. A secondary Tile can be added by the application to give it an additional presence on the Start page. Windows Phone developers can use tasks, which allow the user to complete an activity and then return to the application. Tasks are triggered using Choosers and Launchers. A Chooser can return information to the application such as letting the user select an image. FAST TRACK HELP Tiles Overview for Windows Phone http://msdn.microsoft.com/en-us/library/hh202948(v=vs.92).aspx Microsoft: Creating and using tiles, toast, and Windows push notifications http://msdn.microsoft.com/en-us/library/windows/apps/hh465360(v=vs.85).aspx Choosers for Windows Phone http://msdn.microsoft.com/en-us/library/ff769543(v=vs.92).aspx TRAINING Track Your Score / 3 46 OBJECTIVE 4: Develop Mobile Applications

OBJECTIVE develop mobile applications 4.4A BUILD THE USER INTERFACE SCENARIO: Miguel Saenz is designing a user interface for a Windows Phone application for Lucerne Publishing. The application will allow customers to browse titles, preview books, place and track orders, and view previously purchased books in Portable Document Format (PDF) format. Because the development team wants to publish the application as soon as possible, the project manager is going to assign two more developers to the project to help Miguel implement his design. He needs to make sure that the user interface will be consistent despite being implemented by different people. 1. What concept will allow Miguel to set the properties for all the TextBlocks in the Silverlight application in one place? a. Cascading Style Sheets (CSS) b. Style c. Theme 2. Miguel wants to ensure that his application matches the color the user has chosen for the device. Which resource should he use? a. Accent color b. Background color c. Tile color 3. Which control should he use to put a background behind a TextBox (or other control)? a. A Background control b. A Border control c. A Canvas control By default, Windows Phone OS provides 10 different accent colors. Build the user interface 47

Answers 1. What concept will allow Miguel to set the properties for all the TextBlocks in the Silverlight application in one place? b. Style. CSS provides similar functionality for HTML documents and applications. 2. Miguel wants to ensure that his application matches the color the user has chosen for the device. Which resource should he use? a. Accent color 3. Which control should he use to put a background behind a TextBox (or other control)? b. A Border control Essential details A Style is a collection of control property settings. Styles allow developers to apply the same property settings to multiple controls of the same type. A theme is a set of resources used to personalize the visual elements on a Windows Phone. Silverlight draws controls and other elements in the order they appear in Extensible Application Markup Language (XAML) or code, so it is possible for elements to overlap or cover one another. The order they are drawn is called z-order, and it can be explicitly set using the ZIndex property. Layered elements are affected by the Opacity property, which controls the amount of transparency when the elements are drawn. The Border control lets you create a border and/or background for another control. FAST TRACK HELP Theme Overview for Windows Phone http://msdn.microsoft.com/en-us/library/ff402557(v=vs.92).aspx Getting Started with Controls http://msdn.microsoft.com/en-us/library/cc645030(v=vs.95).aspx Theme Resources for Windows Phone http://msdn.microsoft.com/en-us/library/ff769552(v=vs.92).aspx TRAINING Track Your Score / 3 48 OBJECTIVE 4: Develop Mobile Applications

OBJECTIVE develop mobile applications 4.4B BUILD THE USER INTERFACE SCENARIO: Miguel Saenz is designing a user interface for a Windows Phone application for Lucerne Publishing. The application will allow customers to browse titles, preview books, place and track orders, view purchased books in Portable Document Format (PDF) format, and watch brief video reviews of the books. It is important to Miguel that the application retains the look and feel of Windows Phone OS. He wants users to feel that the application is a part of the phone, so it is familiar and intuitive to use. 1. Which of the following best describes how Miguel should design his Button controls? a. Small, with intricate images b. Based on three-dimensional (3-D) text, with drop shadows c. Use of large, undecorated text 2. What is the minimum font size that Miguel should use in his application? a. 12 point b. 15 point c. 18 point 3. What control can Miguel use to incorporate video clips? a. VideoPlayer b. Zune c. MediaElement The design style used in Windows Phone is called Metro. Build the user interface 49

Answers 1. Which of the following best describes how Miguel should design his Button controls? c. Use of large, undecorated text 2. What is the minimum font size that Miguel should use in his application? b. 15 point 3. What control can Miguel use to incorporate video clips? c. MediaElement Essential details The look and feel of the Windows Phone design is known as Metro. It emphasizes content over chrome (decoration) and strives to keep things uncluttered. When designing a user interface for a Windows Phone application, use large controls and avoid the temptation to fill the screen with a lot of content more is not better! Make sure that touch targets, such as Buttons and CheckBoxes, are at least 9 mm square to ensure that they are easy to use space controls apart instead of placing them right next to each other. The minimum font size you should use in a Windows Phone application is 15 points. To integrate media in your applications, use the Image control for images and the MediaElement control for video and audio. FAST TRACK HELP Essential Graphics, Visual Indicators, and Notifications for Windows Phone http://msdn.microsoft.com/en-us/library/hh202884(v=vs.92).aspx General Design Principles http://msdn.microsoft.com/en-us/library/hh202906(v=vs.92).aspx Media on the Windows Phone Platform http://msdn.microsoft.com/en-us/library/hh389799(v=vs.88).aspx TRAINING Track Your Score / 3 50 OBJECTIVE 4: Develop Mobile Applications