did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780471762935

Professional Microsoft Smartphone Programming

by ; ;
  • ISBN13:

    9780471762935

  • ISBN10:

    0471762938

  • Format: Paperback
  • Copyright: 2007-01-03
  • Publisher: Wrox
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $49.99

Summary

The second-generation Smartphone applications are exclusively designed to leverage the advantages of mobility and ubiquitous wireless access. This book provides you with an in-depth look at software development issues and design guidelines, and helps you gain the skills you need to develop your own efficient and feature-rich Smartphone applications that utilize the latest cutting-edge technologies.

Author Biography

Baijian Yang is an assistant professor in the Computer Technology program at Ball State University. He became a Microsoft Certified Systems Engineer (MCSE) in 1998 and was one of the core software designers/developers for etang.com. He received his Ph.D. in Computer Science from Michigan State University in 2002. He is now engaged in research and development in the area of wireless networks and distributed systems.

Pei Zheng received his Ph.D. in Computer Science from Michigan State University in 2003. He joined Microsoft as a software engineer in 2005. Before that he was an assistant professor of Computer Science at Arcadia University, and a member of the technical staff at Bell Laboratories, Lucent Technologies. His research interests include distributed systems, network simulation and emulation, and mobile computing.

Lionel M. Ni is Chair Professor, Head of the Computer Science and Engineering Department, and Director of the Digital Life Research Center at the Hong Kong University of Science and Technology. Dr. Ni earned his Ph.D. in electrical and computer engineering from Purdue University in 1980. He has been involved in many projects related to wireless technologies, 2.5G/3G cellular phones, and embedded systems. He is co-author of the book Interconnection Networks: An Engineering Approach (Morgan Kaufmann, 2002), and Smart Phone and Next Generation Mobile Computing (Morgan Kaufmann, 2006).

Table of Contents

Acknowledgments ix
Foreword xix
Introduction xxi
Part I: Smartphone and .NET
1(36)
Introduction to Microsoft Smartphone
3(8)
What Is a Smartphone?
3(1)
Smartphone Applications and Services
4(2)
Mobile Commerce
5(1)
Mobile Enterprise
5(1)
Mobile Data Service and Entertainment
6(1)
Challenges of Smartphone Application Development
6(1)
Introducing Microsoft Windows Mobile
7(1)
Windows Mobile 5.0
7(1)
Microsoft Smartphone from a User's Perspective
8(2)
Summary
10(1)
.NET Compact Framework Fundamentals
11(26)
Introducing the Microsoft .NET Framework
11(4)
The Common Language Runtime
12(1)
.NET Framework Class Libraries
13(1)
Visual Studio 2005
14(1)
Introducing the .NET Compact Framework
15(2)
CLR of the .NET Compact Framework
15(1)
.NET Compact Framework Class Libraries
15(1)
Platform Invoke
16(1)
Smartphone Development Tools
17(1)
.NET Compact Framework Type System
18(4)
Types
19(2)
Attributes and Reflection
21(1)
Generics
21(1)
Exception Handling
21(1)
A Quick Review of C#
22(13)
Value Types
23(1)
Reference Types
24(1)
Operators
25(1)
string and object
26(2)
Classes and Interfaces
28(4)
Polymorphism
32(1)
Arrays and Collections
33(2)
Summary
35(2)
Part II: Smartphone Application Development
37(268)
Developing Your First Smartphone Application
39(24)
Required Tools
39(4)
Visual Studio 2005
40(1)
Windows Mobile 5.0 SDK for Smartphone
41(1)
Smartphone Device Emulator
41(1)
ActiveSync
42(1)
All-In-One Package
43(1)
Building Your First Smartphone Application
43(9)
Creating a Smartphone Project
43(6)
Adding Code to the Form
49(2)
Project Files
51(1)
Testing and Debuggling Applications
52(4)
Packaging and Deploying Applications
56(6)
Packaging Applications
56(3)
Signing Applications
59(2)
Delivering and Installing Applications
61(1)
Summary
62(1)
User Interface and Input
63(42)
UI Design with Forms and Controls
63(22)
Supported Controls
64(1)
Control Behaviours
65(20)
Smartphone UI Design
85(11)
Soft Keys
86(1)
The Home and Back Keys
86(1)
General UI Flow of Smartphone Applications
87(1)
Creating an Application with Multiple Forms
88(8)
Keyboard Input and Input Mode
96(6)
Input Mode
96(5)
Soft Key Functionality
101(1)
Additional UI Considerations
102(1)
Auto-Save
102(1)
DPI and QVGA Issues
102(1)
Performance
103(1)
Summary
103(2)
Data Storage and File I/O
105(26)
Overview of Smartphone Data Storage
105(2)
The System.IO Namespace
107(6)
Creating a File Directory Browser
113(7)
Implementing a Memo Application
120(9)
Summary
129(2)
Data Access with SQL Server Mobile
131(34)
ADO.NET Overview
132(2)
Microsoft SQL Server 2005 Mobile Edition
134(4)
SQL Server Mobile Architecture
135(1)
Installing SQL Server Mobile
136(2)
Setting Up the SQL Server Mobile Server Environment
138(13)
Installing SQL Server Mobile Tools
138(1)
Creating a Database and Tables from SQL Server 2005
138(4)
Creating a Publication
142(3)
Configuring Web Synchronization
145(2)
Creating a SQL Server Mobile Database
147(1)
Creating Subscriptions in SQL Server Mobile
148(3)
Writing SQL Server Mobile Applications
151(12)
A Simple Application with the DataGrid Control
151(6)
The SqlServerCe Namespace
157(6)
Summary
163(2)
Networking
165(36)
An Overview of Smartphone Networking
165(1)
Emulator Networking
166(1)
Web Access
167(9)
The HttpWebRequest and HttpWebResponse Classes
168(1)
Creating HTTP Request
169(7)
TCP Servers and Clients
176(11)
The IPEndPoint Class
176(1)
The IPAddress and IPHostEntry Classes
176(1)
Network and Host Byte Order Conversion
177(1)
The TcpListener and TcpClient Classes
178(2)
An Example of TcpListener and TcpClient
180(7)
Network Sockets
187(12)
TCP Sockets
188(8)
UDP Sockets
196(2)
Nonblocking Mode and Asynchronous Methods
198(1)
Summary
199(2)
E-mail, SMS, and PIM Data
201(26)
Pocket Outlook Object Model (POOM)
201(2)
The WindowsMobile.PocketOutlook Namespace
203(2)
Creating E-mail Applications with Managed APIs
205(11)
Creating a Simple E-mail Application
208(2)
Creating an E-mail Application with Attachments
210(6)
Accessing PIM Data
216(4)
Using SMS
220(6)
Summary
226(1)
XML and Web Services
227(28)
Overview of XML and Web Services
227(7)
XML Support in .NET Compact Framework
229(1)
XML Syntax
229(2)
An XML Example: Customizing the Home Screen
231(2)
XML Schema
233(1)
XML-Related Classes
234(14)
XmlDocument and XmlTextReader
235(5)
XmlNodeReader and DataSet
240(2)
An XML Processing Sample Application
242(6)
Building a Smartphone XML Web Service Application
248(5)
Adding a Web Reference
248(1)
Consuming Web Services
249(4)
Summary
253(2)
Platform Invoke
255(26)
Managed and Unmanaged Code
255(2)
Building Unmanaged DLLs
257(3)
Using P/Invoke in the .NET Compact Framework
260(18)
Declaring and Calling an Unmanaged Code Function
261(1)
Error Handling
262(1)
Marshaling Data
263(8)
An Example of a P/Invoke Application
271(7)
Optimizing P/Invoke Performance
278(1)
Summary
279(2)
Exception Handling, and Debugging
281(24)
Exceptions and Exception Handling
281(12)
Exceptions
282(1)
The try...catch Statement
282(1)
The finally Statement
283(2)
The throw Statement
285(1)
Exception Stack Trace
286(2)
The Exception Class
288(1)
The SystemException Class
289(1)
The ApplicationException Class
290(2)
Best Practices of Exception Handling
292(1)
Debugging in Visual Studio 2005
293(3)
Debugging Windows
293(1)
Debugging Setting
294(1)
Deploying and Debugging in Visual Studio
294(1)
Defining Symbols
294(1)
Limitations in Debugging
295(1)
Multithreaded Debugging
296(8)
Managed Threads
296(2)
Race Condition
298(2)
Deadlock
300(4)
Summary
304(1)
Part III: Advanced Topics
305(132)
Device and Application Security
307(26)
Mobile Threats
307(2)
Glossary of Terms
309(3)
Digital Signatures, Certificates, and Application Signing
309(1)
Privileged and Unprivileged Applications and Certificate Stores
310(1)
Trusted and Normal Applications
310(1)
Security Policies and Roles
311(1)
Windows Mobile 5.0 Security Models
312(2)
Certificate Management in Windows Mobile 5.0
314(8)
Obtaining Certificates
314(1)
Signing Applications with Certificates
315(4)
Managing Certificates
319(3)
Security Policies
322(3)
An Example Code
325(5)
Perimeter Security
330(2)
Physical Access Control
330(1)
Antivirus Considerations
331(1)
Summary
332(1)
Data and Communication Security
333(30)
Data Protection
334(12)
Data Encryption
334(7)
Database Encryption and Password Protection
341(5)
Securing Communication Channels
346(7)
Network Authentication
346(1)
Secure Sockets Layer (SSL)
347(3)
Virtual Private Networks
350(3)
Wi-Fi
353(1)
Securing Web Services with Soap Headers
353(9)
Server Side
354(6)
Client Side
360(2)
Summary
362(1)
Globalization and Localization
363(22)
Globalization and Localization Support
363(1)
Culture
364(2)
The CultureInfo Class
365(1)
Developing a World-Ready Application
366(11)
Creating Localized Resources
366(4)
A Sample Application with a Localized Satellite Assembly
370(7)
Localizing Data
377(5)
Dates, Time, and Calendars
377(2)
Numbers and Currency
379(2)
Strings
381(1)
Best Practices
382(1)
Summary
383(2)
Graphics
385(26)
.NET Compact Framework Graphics
386(1)
The Graphics Class
386(14)
Creating a Graphics Object
387(1)
The Color, Pen, and Brush Objects
387(2)
Vector Graphics
389(8)
Drawing Text
397(2)
Working with Fonts
399(1)
Drawing Images
400(9)
Drawing Bitmaps
402(6)
Embedded Resources
408(1)
Summary
409(2)
Performance
411(26)
General Principles
411(1)
Using .NET Compact Framework Performance Counters
412(5)
CLR Performance
417(7)
Garbage Collection
417(1)
Call Overhead
418(5)
Math
423(1)
Reflection
423(1)
Generics
423(1)
Class Library Guidelines
424(4)
BCL Collections
424(2)
StringBuilder versus String
426(1)
Regular Expression
427(1)
XML and Data Access
428(2)
XMLReader and XMLWriter
428(1)
XML Schema
428(1)
XML Serialization
429(1)
Data Access
429(1)
Windows Forms
430(4)
Form Loading Performance
430(1)
Form Layout
431(2)
BeginUpdate and EndUpdate
433(1)
Summary
434(3)
Appendix A: New Features in .NET Compact Framework 2.0 437(4)
Appendix B: A Glance at the .NET Compact Framework 2.0 Class Library 441(18)
Appendix C: The Smartphone Bootstrapping Process 459(6)
Index 465

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program