Microsoft mobile development handbook:
Presents the basics for designing mobile applications for wireless-capable devices using .NET Compact Framework 2.0, SQL Server 2005, and Microsoft Windows Mobile 5.0.
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Redmond, Wash.
Microsoft Press
2007
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Zusammenfassung: | Presents the basics for designing mobile applications for wireless-capable devices using .NET Compact Framework 2.0, SQL Server 2005, and Microsoft Windows Mobile 5.0. |
Beschreibung: | XXIX, 651 S. Ill. |
ISBN: | 0735623589 9780735623583 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV023054971 | ||
003 | DE-604 | ||
005 | 20100721 | ||
007 | t | ||
008 | 071217s2007 xxua||| |||| 00||| eng d | ||
010 | |a 2007924652 | ||
020 | |a 0735623589 |9 0-7356-2358-9 | ||
020 | |a 9780735623583 |9 978-0-7356-2358-3 | ||
035 | |a (OCoLC)141384045 | ||
035 | |a (DE-599)BVBBV023054971 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-1051 |a DE-634 |a DE-92 |a DE-703 | ||
050 | 0 | |a QA76.59 | |
082 | 0 | |a 004.6/5 | |
084 | |a ST 253 |0 (DE-625)143628: |2 rvk | ||
084 | |a ZN 6400 |0 (DE-625)157560: |2 rvk | ||
100 | 1 | |a Wigley, Andy |e Verfasser |4 aut | |
245 | 1 | 0 | |a Microsoft mobile development handbook |c Andy Wigley ; Daniel Moth ; Peter Foot |
264 | 1 | |a Redmond, Wash. |b Microsoft Press |c 2007 | |
300 | |a XXIX, 651 S. |b Ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
520 | 3 | |a Presents the basics for designing mobile applications for wireless-capable devices using .NET Compact Framework 2.0, SQL Server 2005, and Microsoft Windows Mobile 5.0. | |
650 | 7 | |a Application software - Design |2 sears | |
650 | 7 | |a Wireless communication systems |2 sears | |
650 | 4 | |a Mobile computing | |
650 | 4 | |a Microsoft .NET Framework | |
650 | 4 | |a Wireless communication systems | |
650 | 0 | 7 | |a Microsoft dot net |0 (DE-588)4645646-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwareentwicklung |0 (DE-588)4116522-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Mobile Computing |0 (DE-588)4694120-4 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Mobile Computing |0 (DE-588)4694120-4 |D s |
689 | 0 | 1 | |a Microsoft dot net |0 (DE-588)4645646-6 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Softwareentwicklung |0 (DE-588)4116522-6 |D s |
689 | 1 | |5 DE-604 | |
700 | 1 | |a Moth, Daniel |e Verfasser |4 aut | |
700 | 1 | |a Foot, Peter |e Verfasser |4 aut | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016258274&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-016258274 |
Datensatz im Suchindex
_version_ | 1804137289505308672 |
---|---|
adam_text | Table of Contents
Foreword xix
Acknowledgments xxi
Introduction xxiii
Part i The Essentials of Mobile Application Development
1 .NET Compact Framework—a Platform on the Move 3
Getting Started with Mobile Application Development in Visual Studio 3
Choosing the Version of Visual Studio 4
Other Development Software You Need 5
Choosing Your Platform: Pocket PC, Smartphone, or Windows CE? 7
The Difference Between Windows CE and Windows Mobile 9
Choosing the .NET Compact Framework Version 14
Understanding the Differences Between the .NET Framework 2.0
and .NET Compact Framework 2.0 20
Application Configuration Files 23
ClickOnce 24
Ngen.exe 25
Remoting 25
Serialization 25
Printing 25
Web Forms 25
Understanding the Differences Between .NET Compact Framework
Version 1.0 and Version 2.0 26
Windows Forms 27
Display and Layout Management 28
Data 29
Communications 30
viii Table of Contents
COM Interop 30
Graphics Programming 30
Security 31
Threading 31
Performance Monitoring 31
Introducing .NET Compact Framework Version 3.5 31
Using Community Resources 33
Microsoft patterns practices Mobile Application Blocks 34
OpenNETCF Smart Device Framework 34
Summary 35
2 Building a Microsoft Windows Forms GUI 37
Understanding Windows Forms Version 2.0 Enhancements 38
Using the Same Workflow as for Developing Desktop Applications 39
Mapping Device Screens to Device Forms 42
Screen Layout 42
Closing a Form 43
Form Navigation 47
Exploring Important Windows Forms Controls 50
Panel 51
TabControl 52
Menu (Soft Keys), ToolBar 53
Microsoft. WindowsCE.Forms 54
Creating Your Own Controls 56
Handling Input 57
Taps 57
SIP and Hardware QWERTY Keyboard 59
Hardware Keys 60
Considering the Physical Screen 61
Orientation (and Size) 61
Resolution 63
Microsoft patterns practices Orientation Aware Control 66
Alternative Design 67
Developing for Smartphones 69
Control Behaviors 69
Navigation Paradigm 70
Table of Contents ix
InputModeEditor 71
IntelliSense for Smartphone Projects 71
Developing for Windows CE Powered Devices 71
Summary 72
3 Using SQL Server 2005 Compact Edition and Other Data Stores 73
Using SQL Server 2005 Compact Edition Databases 74
Creating a Database Using Visual Studio 2005 74
Creating a Database Using SQL Server 2005 Management Studio 76
Connecting to an Existing Database 77
Creating Tables, Indexes, and Foreign Keys 78
Deciphering SqICeExceptions 83
Creating Connections to Data in Your Project 85
Creating a Project Data Source 86
Designing and Programming Strongly Typed DataSets
and SqICeResultSets 87
Building a Data Bound GUI Ill
Building a Quick Ul Using the Visual Tools Ill
Programming the BindingSource Control 113
Data Binding Details Forms 118
Data Binding with the SqICeResultSet 123
Advanced Data Binding 127
Formatting Data in DataGrid Controls 132
Persisting Data Without a Database 134
Serializing DataSet Objects 134
Serializing Objects 136
Summary 141
4 Catching Errors, Testing, and Debugging 143
Connecting to a Target 143
Device 144
Emulator 146
Best Choice 149
Compile Time Errors 150
Exception Handling: Same as the Full .NET Framework 153
x Table of Contents
Runtime Exceptions 156
Diagnosing the Cause of the Exception 157
It Is Your Fault 160
Avoiding Exceptions Getting Thrown 161
Handle the Exception and Recover Appropriately 162
Protecting the Boundaries (or Global Exception Handling,
the Hard Way) 164
Global Exception Handling 167
GEH on the Full .NET Framework 168
GEH in NET Compact Framework 1.0 168
GEH in .NET Compact Framework 2.0 168
GEH Choice: Single Method vs. Multiple Method Approach 169
Some Exceptions Worthy of Further Mention 171
WebException 171
SocketException 172
SqICeException 172
InvalidOperationException 173
MissingMethodException 174
MissingManifestResourceException 175
TypeLoadException 175
The Log Files 176
Loader Log 177
Interop Log 178
Network Log 178
Error Log 179
Finalizer Log (Version 3.5) 179
Remote Performance Monitor 179
Instrumentation 180
Breakpoints 180
Tracepoints 182
Debug.WriteLine 184
Tracing to File 184
Unit Testing 186
Community Project 186
Deploy to My Computer 186
Patterns and Practices 187
Visual Studio Code Name Orcas 187
Summary 187
Table of Contents xi
5 Understanding and Optimizing .NET Compact
Framework Performance 189
What Every Developer Should Know 189
Understanding the Compact CLR Engine 191
JIT Compiler 191
Garbage Collector 194
Version 1.0 to Version 2.0 Improvements 197
.NET Compact Framework Performance Statistics 198
Activating Performance Counters 198
Viewing the Data 198
Performance Counter Descriptions 199
Remote Performance Monitor 206
Measuring Performance Programmatically 210
Performance Guidance 213
Tips and Tricks 213
Parting Thoughts 218
Summary 218
6 Completing the Application: Packaging and Deployment 219
Implementing Help 219
Creating HTML Based Help 220
Starting Help Topics from Code 223
Master Table of Contents 224
Help on Smartphone Devices 225
Locking Down Your Application 225
Kiosk Mode 225
Hardware Buttons 226
Locking Down the User Interface 227
Third Party Solutions 227
Deploying the Runtime 228
Building a Device Installer 229
Visual Studio Installer Tools 229
Device Installer Project Type 230
Adding Files and Setting Targets 230
Adding Shortcuts 230
Writing Registry Settings 230
Compression 231
xii Table of Contents
Security Policies and Code Signing 231
Signing Your Code 233
Design Guidelines and Mobile2Market 233
The Global Assembly Cache 234
Strong Naming Your Assemblies 234
When and How to Use the Global Assembly Cache 234
Native CESetup.dll 235
Testing Your .cab File 238
Building a Desktop Installer 238
Adding Your .cab Project 238
Adding Other Application Files 239
Automating the Device Side Installation 239
Adding a Custom Installer Action 239
Running the Installer 240
Summary 240
Part ii Solutions for Challenges in Mobile Applications
7 Exchanging Data with Backend Servers 243
Architecting a Data Synchronization Application 243
Designing for the Mostly Disconnected Client 244
Designing for Stale Data 245
Choosing the Synchronization Technique 245
Using Web Services for Data Synchronization 246
Authenticating Web Services Clients 247
Using Web Services on Occasionally Connected Clients 252
Compressing Web Service Payload 261
Accessing SQL Server Directly by Using SqICIient 267
Understanding Differences from the Desktop .NET Framework 268
Programming System.Data.SqICIient 269
Using Transactions in the .NET Compact Framework 274
Synchronizing Data Using SQL Server 2005 Compact Edition
Remote Data Access 275
Table of Contents xiii
Replicating Data Using SQL Server Merge Replication 293
SQL Server CE Merge Replication Architecture 293
Setting Up Merge Replication 295
Programming Merge Replication 303
Summary 306
8 Networking 309
Understanding Complications of Networking and Mobile Devices 309
Using Web Services 310
Understanding System.Net 311
WebRequest 311
Sockets 312
Using IrDA and Bluetooth 319
Using Serial Ports 320
Virtual Serial Ports 322
Understanding System.Messaging 323
Installing MSMQ 323
Summary 329
9 Getting Connected 331
Understanding Connections on Windows Mobile 331
Using Desktop Passthrough 335
Making Voice and Data Calls 337
Voice Calls 337
Establishing Data Calls 339
Microsoft patterns practices Network Monitor Application Block 344
Enabling and Disabling Adapters 346
Cellular Phones 346
WiFi 350
Bluetooth 351
SMS Interception 353
Summary 354
xiv Table of Contents
10 Security Programming for Mobile Applications 355
Implementing Good Security 356
Performing Security Reviews 356
Why You Should Not Hard Code Secrets 357
Understanding Good—and Bad—Techniques for Hiding Secrets 358
Good Security Requires User Input 359
Storing Credentials and Other Secrets Securely 360
Protecting Data in SQL Server CE Databases 361
Programming a Secure Solution by Using the Microsoft patterns
practices Application Blocks 362
Encrypting Data 374
Encrypting Using the AES Symmetric Algorithm 375
Encrypting Using the RSA Asymmetric Algorithm 379
Securing Network Connections 386
Root Certificates Installed on a Windows Mobile Powered Device 387
Using a Self Signed Certificate 389
Validating User Input 392
Perimeter Security: Securing Access to the Device 394
Remote Management Using Exchange Server 2003 SP2 and the MSFP 395
Signing Applications 397
Understanding Windows Mobile Security Policy 398
Provisioning Windows Mobile Powered Devices 401
Summary 403
11 Threading 405
Why Use Threads? 406
Understanding Underlying Fundamentals 407
Windows CE 407
System. Threading 408
Maintaining a Responsive User Interface 412
Message Pump 412
Long Running Tasks 412
Demonstration Example 413
Nonideal Solutions 414
Using a Thread to Solve the Problem 415
BackgroundWorker 421
Table of Contents xv
Synchronizing Thread Activities and Access to Data 422
Race Conditions 422
Monitor 425
Thread Safe 427
Deadlocks Revisited 427
ManualResetEvent 429
ThreadPool 430
Understanding Threading and Application Shutdown 431
Background Threads 431
Thread Termination 433
Using .NET Timers 434
Summary 435
12 Graphics Programming 437
Drawing Images, Text, and Shapes 437
Understanding Painting Basics 439
Drawing Images 440
Scaling Images 441
Painting the Background 443
Painting Shapes and Text 443
Drawing Lines 446
Handling Different Resolutions 447
Rotating Text 449
Reducing Flicker by Using Double Buffering 452
Overriding OnPaintBackground 455
Using Advanced Formatting Techniques 456
Drawing Using Gradient Fill 456
Drawing Images with a Transparent Background 456
Drawing Using Alpha Blending 459
Summary 463
13 Direct3D Mobile 465
Getting Started with Direct3D 465
Using Direct3D in Your Programs 465
The Direct3D Device 466
The Draw Process 467
Getting a Direct3D Program Running 469
xvi Table of Contents
Working in Three Dimensions 469
Rendering a Triangle 470
Understanding Coordinates and Viewing 472
Moving an Object in Three Dimensions 473
From Programmer to Film Director 474
Matrices 475
Perspective and Transformations 476
Transformations and Animations 477
Adding More Complicated Transformations 479
Adding Textures 480
Creating More Complex Objects 483
Drawing Multiple Items 483
Lighting 485
Meshes 488
Lighting and Materials with Meshes 489
Direct3D on Mobile Devices 491
Direct3D and Events 491
Managing Orientation Change 492
Direct3D Drawing Performance 492
Handling Platform Diversity 493
Battery Life 493
Summary 494
14 Interoperating with the Platform 495
Understanding Platform Invocation Services 495
Marshaling 498
NativeMethods 502
Media Example 502
Callbacks into Managed Code 505
Understanding COM Interop 516
Importing COM Libraries 517
Manually Defining Interfaces 517
ActiveX Controls 523
Summary 523
Table of Contents xvii
15 Building Custom Controls 525
Extending Existing Controls 525
Overriding Events 525
Creating Custom Controls 527
UserControl 527
Control 529
Programming the Design Time Experience 532
Attributes 533
Adding to Visual Studio 2005 Toolbox 544
Summary 547
16 Internationalization 549
Understanding the Challenges of Globalization 549
Culture 552
Culturelnfo 553
Revisiting the Challenges 555
Using Language Translation (or Localization) 557
Creating Resource Files 558
Reading from Resources 559
Locale Specific Resources and Satellite Assemblies 562
Actually Translating the Text 563
Summary 564
17 Developing with Windows Mobile 565
Pocket Outlook 565
Personal Information Management 566
Messaging 574
State and Notifications 577
Pictures 580
Camera 581
GPS 582
Configuration 585
Configuring the Device Programmatically 585
Deploying Configuration Settings 585
Telephony 586
Earlier Versions of Windows Mobile 586
Summary 586
xviii Table of Contents
Part 111 New Developments
18 Introducing .NET Compact Framework Version 3.5 and
Visual Studio Code Name Orcas 589
Introducing .NET Compact Framework 3.5 590
Introducing Visual Studio Code Name Orcas 593
Developing Applications with .NET Compact Framework 3.5 595
Programming Compact WCF 595
Programming Language Integrated Query 609
Programming System.lO.Compression 616
Unit Testing in Visual Studio Code Name Orcas Team System 619
Writing Unit Tests in Visual Studio Code Name Orcas 619
Running Unit Tests 622
Summary 624
Index 625
|
adam_txt |
Table of Contents
Foreword xix
Acknowledgments xxi
Introduction xxiii
Part i The Essentials of Mobile Application Development
1 .NET Compact Framework—a Platform on the Move 3
Getting Started with Mobile Application Development in Visual Studio 3
Choosing the Version of Visual Studio 4
Other Development Software You Need 5
Choosing Your Platform: Pocket PC, Smartphone, or Windows CE? 7
The Difference Between Windows CE and Windows Mobile 9
Choosing the .NET Compact Framework Version 14
Understanding the Differences Between the .NET Framework 2.0
and .NET Compact Framework 2.0 20
Application Configuration Files 23
ClickOnce 24
Ngen.exe 25
Remoting 25
Serialization 25
Printing 25
Web Forms 25
Understanding the Differences Between .NET Compact Framework
Version 1.0 and Version 2.0 26
Windows Forms 27
Display and Layout Management 28
Data 29
Communications 30
viii Table of Contents
COM Interop 30
Graphics Programming 30
Security 31
Threading 31
Performance Monitoring 31
Introducing .NET Compact Framework Version 3.5 31
Using Community Resources 33
Microsoft patterns practices Mobile Application Blocks 34
OpenNETCF Smart Device Framework 34
Summary 35
2 Building a Microsoft Windows Forms GUI 37
Understanding Windows Forms Version 2.0 Enhancements 38
Using the Same Workflow as for Developing Desktop Applications 39
Mapping Device Screens to Device Forms 42
Screen Layout 42
Closing a Form 43
Form Navigation 47
Exploring Important Windows Forms Controls 50
Panel 51
TabControl 52
Menu (Soft Keys), ToolBar 53
Microsoft. WindowsCE.Forms 54
Creating Your Own Controls 56
Handling Input 57
Taps 57
SIP and Hardware QWERTY Keyboard 59
Hardware Keys 60
Considering the Physical Screen 61
Orientation (and Size) 61
Resolution 63
Microsoft patterns practices Orientation Aware Control 66
Alternative Design 67
Developing for Smartphones 69
Control Behaviors 69
Navigation Paradigm 70
Table of Contents ix
InputModeEditor 71
IntelliSense for Smartphone Projects 71
Developing for Windows CE Powered Devices 71
Summary 72
3 Using SQL Server 2005 Compact Edition and Other Data Stores 73
Using SQL Server 2005 Compact Edition Databases 74
Creating a Database Using Visual Studio 2005 74
Creating a Database Using SQL Server 2005 Management Studio 76
Connecting to an Existing Database 77
Creating Tables, Indexes, and Foreign Keys 78
Deciphering SqICeExceptions 83
Creating Connections to Data in Your Project 85
Creating a Project Data Source 86
Designing and Programming Strongly Typed DataSets
and SqICeResultSets 87
Building a Data Bound GUI Ill
Building a Quick Ul Using the Visual Tools Ill
Programming the BindingSource Control 113
Data Binding Details Forms 118
Data Binding with the SqICeResultSet 123
Advanced Data Binding 127
Formatting Data in DataGrid Controls 132
Persisting Data Without a Database 134
Serializing DataSet Objects 134
Serializing Objects 136
Summary 141
4 Catching Errors, Testing, and Debugging 143
Connecting to a Target 143
Device 144
Emulator 146
Best Choice 149
Compile Time Errors 150
Exception Handling: Same as the Full .NET Framework 153
x Table of Contents
Runtime Exceptions 156
Diagnosing the Cause of the Exception 157
It Is Your Fault 160
Avoiding Exceptions Getting Thrown 161
Handle the Exception and Recover Appropriately 162
Protecting the Boundaries (or Global Exception Handling,
the Hard Way) 164
Global Exception Handling 167
GEH on the Full .NET Framework 168
GEH in NET Compact Framework 1.0 168
GEH in .NET Compact Framework 2.0 168
GEH Choice: Single Method vs. Multiple Method Approach 169
Some Exceptions Worthy of Further Mention 171
WebException 171
SocketException 172
SqICeException 172
InvalidOperationException 173
MissingMethodException 174
MissingManifestResourceException 175
TypeLoadException 175
The Log Files 176
Loader Log 177
Interop Log 178
Network Log 178
Error Log 179
Finalizer Log (Version 3.5) 179
Remote Performance Monitor 179
Instrumentation 180
Breakpoints 180
Tracepoints 182
Debug.WriteLine 184
Tracing to File 184
Unit Testing 186
Community Project 186
Deploy to My Computer 186
Patterns and Practices 187
Visual Studio Code Name "Orcas" 187
Summary 187
Table of Contents xi
5 Understanding and Optimizing .NET Compact
Framework Performance 189
What Every Developer Should Know 189
Understanding the Compact CLR Engine 191
JIT Compiler 191
Garbage Collector 194
Version 1.0 to Version 2.0 Improvements 197
.NET Compact Framework Performance Statistics 198
Activating Performance Counters 198
Viewing the Data 198
Performance Counter Descriptions 199
Remote Performance Monitor 206
Measuring Performance Programmatically 210
Performance Guidance 213
Tips and Tricks 213
Parting Thoughts 218
Summary 218
6 Completing the Application: Packaging and Deployment 219
Implementing Help 219
Creating HTML Based Help 220
Starting Help Topics from Code 223
Master Table of Contents 224
Help on Smartphone Devices 225
Locking Down Your Application 225
Kiosk Mode 225
Hardware Buttons 226
Locking Down the User Interface 227
Third Party Solutions 227
Deploying the Runtime 228
Building a Device Installer 229
Visual Studio Installer Tools 229
Device Installer Project Type 230
Adding Files and Setting Targets 230
Adding Shortcuts 230
Writing Registry Settings 230
Compression 231
xii Table of Contents
Security Policies and Code Signing 231
Signing Your Code 233
Design Guidelines and Mobile2Market 233
The Global Assembly Cache 234
Strong Naming Your Assemblies 234
When and How to Use the Global Assembly Cache 234
Native CESetup.dll 235
Testing Your .cab File 238
Building a Desktop Installer 238
Adding Your .cab Project 238
Adding Other Application Files 239
Automating the Device Side Installation 239
Adding a Custom Installer Action 239
Running the Installer 240
Summary 240
Part ii Solutions for Challenges in Mobile Applications
7 Exchanging Data with Backend Servers 243
Architecting a Data Synchronization Application 243
Designing for the Mostly Disconnected Client 244
Designing for Stale Data 245
Choosing the Synchronization Technique 245
Using Web Services for Data Synchronization 246
Authenticating Web Services Clients 247
Using Web Services on Occasionally Connected Clients 252
Compressing Web Service Payload 261
Accessing SQL Server Directly by Using SqICIient 267
Understanding Differences from the Desktop .NET Framework 268
Programming System.Data.SqICIient 269
Using Transactions in the .NET Compact Framework 274
Synchronizing Data Using SQL Server 2005 Compact Edition
Remote Data Access 275
Table of Contents xiii
Replicating Data Using SQL Server Merge Replication 293
SQL Server CE Merge Replication Architecture 293
Setting Up Merge Replication 295
Programming Merge Replication 303
Summary 306
8 Networking 309
Understanding Complications of Networking and Mobile Devices 309
Using Web Services 310
Understanding System.Net 311
WebRequest 311
Sockets 312
Using IrDA and Bluetooth 319
Using Serial Ports 320
Virtual Serial Ports 322
Understanding System.Messaging 323
Installing MSMQ 323
Summary 329
9 Getting Connected 331
Understanding Connections on Windows Mobile 331
Using Desktop Passthrough 335
Making Voice and Data Calls 337
Voice Calls 337
Establishing Data Calls 339
Microsoft patterns practices Network Monitor Application Block 344
Enabling and Disabling Adapters 346
Cellular Phones 346
WiFi 350
Bluetooth 351
SMS Interception 353
Summary 354
xiv Table of Contents
10 Security Programming for Mobile Applications 355
Implementing Good Security 356
Performing Security Reviews 356
Why You Should Not Hard Code Secrets 357
Understanding Good—and Bad—Techniques for Hiding Secrets 358
Good Security Requires User Input 359
Storing Credentials and Other Secrets Securely 360
Protecting Data in SQL Server CE Databases 361
Programming a Secure Solution by Using the Microsoft patterns
practices Application Blocks 362
Encrypting Data 374
Encrypting Using the AES Symmetric Algorithm 375
Encrypting Using the RSA Asymmetric Algorithm 379
Securing Network Connections 386
Root Certificates Installed on a Windows Mobile Powered Device 387
Using a Self Signed Certificate 389
Validating User Input 392
Perimeter Security: Securing Access to the Device 394
Remote Management Using Exchange Server 2003 SP2 and the MSFP 395
Signing Applications 397
Understanding Windows Mobile Security Policy 398
Provisioning Windows Mobile Powered Devices 401
Summary 403
11 Threading 405
Why Use Threads? 406
Understanding Underlying Fundamentals 407
Windows CE 407
System. Threading 408
Maintaining a Responsive User Interface 412
Message Pump 412
Long Running Tasks 412
Demonstration Example 413
Nonideal Solutions 414
Using a Thread to Solve the Problem 415
BackgroundWorker 421
Table of Contents xv
Synchronizing Thread Activities and Access to Data 422
Race Conditions 422
Monitor 425
Thread Safe 427
Deadlocks Revisited 427
ManualResetEvent 429
ThreadPool 430
Understanding Threading and Application Shutdown 431
Background Threads 431
Thread Termination 433
Using .NET Timers 434
Summary 435
12 Graphics Programming 437
Drawing Images, Text, and Shapes 437
Understanding Painting Basics 439
Drawing Images 440
Scaling Images 441
Painting the Background 443
Painting Shapes and Text 443
Drawing Lines 446
Handling Different Resolutions 447
Rotating Text 449
Reducing Flicker by Using Double Buffering 452
Overriding OnPaintBackground 455
Using Advanced Formatting Techniques 456
Drawing Using Gradient Fill 456
Drawing Images with a Transparent Background 456
Drawing Using Alpha Blending 459
Summary 463
13 Direct3D Mobile 465
Getting Started with Direct3D 465
Using Direct3D in Your Programs 465
The Direct3D Device 466
The Draw Process 467
Getting a Direct3D Program Running 469
xvi Table of Contents
Working in Three Dimensions 469
Rendering a Triangle 470
Understanding Coordinates and Viewing 472
Moving an Object in Three Dimensions 473
From Programmer to Film Director 474
Matrices 475
Perspective and Transformations 476
Transformations and Animations 477
Adding More Complicated Transformations 479
Adding Textures 480
Creating More Complex Objects 483
Drawing Multiple Items 483
Lighting 485
Meshes 488
Lighting and Materials with Meshes 489
Direct3D on Mobile Devices 491
Direct3D and Events 491
Managing Orientation Change 492
Direct3D Drawing Performance 492
Handling Platform Diversity 493
Battery Life 493
Summary 494
14 Interoperating with the Platform 495
Understanding Platform Invocation Services 495
Marshaling 498
NativeMethods 502
Media Example 502
Callbacks into Managed Code 505
Understanding COM Interop 516
Importing COM Libraries 517
Manually Defining Interfaces 517
ActiveX Controls 523
Summary 523
Table of Contents xvii
15 Building Custom Controls 525
Extending Existing Controls 525
Overriding Events 525
Creating Custom Controls 527
UserControl 527
Control 529
Programming the Design Time Experience 532
Attributes 533
Adding to Visual Studio 2005 Toolbox 544
Summary 547
16 Internationalization 549
Understanding the Challenges of Globalization 549
Culture 552
Culturelnfo 553
Revisiting the Challenges 555
Using Language Translation (or Localization) 557
Creating Resource Files 558
Reading from Resources 559
Locale Specific Resources and Satellite Assemblies 562
Actually Translating the Text 563
Summary 564
17 Developing with Windows Mobile 565
Pocket Outlook 565
Personal Information Management 566
Messaging 574
State and Notifications 577
Pictures 580
Camera 581
GPS 582
Configuration 585
Configuring the Device Programmatically 585
Deploying Configuration Settings 585
Telephony 586
Earlier Versions of Windows Mobile 586
Summary 586
xviii Table of Contents
Part 111 New Developments
18 Introducing .NET Compact Framework Version 3.5 and
Visual Studio Code Name "Orcas" 589
Introducing .NET Compact Framework 3.5 590
Introducing Visual Studio Code Name "Orcas" 593
Developing Applications with .NET Compact Framework 3.5 595
Programming Compact WCF 595
Programming Language Integrated Query 609
Programming System.lO.Compression 616
Unit Testing in Visual Studio Code Name "Orcas" Team System 619
Writing Unit Tests in Visual Studio Code Name "Orcas" 619
Running Unit Tests 622
Summary 624
Index 625 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Wigley, Andy Moth, Daniel Foot, Peter |
author_facet | Wigley, Andy Moth, Daniel Foot, Peter |
author_role | aut aut aut |
author_sort | Wigley, Andy |
author_variant | a w aw d m dm p f pf |
building | Verbundindex |
bvnumber | BV023054971 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.59 |
callnumber-search | QA76.59 |
callnumber-sort | QA 276.59 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 253 ZN 6400 |
ctrlnum | (OCoLC)141384045 (DE-599)BVBBV023054971 |
dewey-full | 004.6/5 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004.6/5 |
dewey-search | 004.6/5 |
dewey-sort | 14.6 15 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik Elektrotechnik / Elektronik / Nachrichtentechnik |
discipline_str_mv | Informatik Elektrotechnik / Elektronik / Nachrichtentechnik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02157nam a2200541zc 4500</leader><controlfield tag="001">BV023054971</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20100721 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">071217s2007 xxua||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2007924652</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0735623589</subfield><subfield code="9">0-7356-2358-9</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780735623583</subfield><subfield code="9">978-0-7356-2358-3</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)141384045</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV023054971</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-1051</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-703</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.59</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004.6/5</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 253</subfield><subfield code="0">(DE-625)143628:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ZN 6400</subfield><subfield code="0">(DE-625)157560:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Wigley, Andy</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Microsoft mobile development handbook</subfield><subfield code="c">Andy Wigley ; Daniel Moth ; Peter Foot</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Redmond, Wash.</subfield><subfield code="b">Microsoft Press</subfield><subfield code="c">2007</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXIX, 651 S.</subfield><subfield code="b">Ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">Presents the basics for designing mobile applications for wireless-capable devices using .NET Compact Framework 2.0, SQL Server 2005, and Microsoft Windows Mobile 5.0.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Application software - Design</subfield><subfield code="2">sears</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Wireless communication systems</subfield><subfield code="2">sears</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Mobile computing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Microsoft .NET Framework</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Wireless communication systems</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Microsoft dot net</subfield><subfield code="0">(DE-588)4645646-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Mobile Computing</subfield><subfield code="0">(DE-588)4694120-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Mobile Computing</subfield><subfield code="0">(DE-588)4694120-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Microsoft dot net</subfield><subfield code="0">(DE-588)4645646-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Moth, Daniel</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Foot, Peter</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016258274&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016258274</subfield></datafield></record></collection> |
id | DE-604.BV023054971 |
illustrated | Illustrated |
index_date | 2024-07-02T19:26:15Z |
indexdate | 2024-07-09T21:09:56Z |
institution | BVB |
isbn | 0735623589 9780735623583 |
language | English |
lccn | 2007924652 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016258274 |
oclc_num | 141384045 |
open_access_boolean | |
owner | DE-1051 DE-634 DE-92 DE-703 |
owner_facet | DE-1051 DE-634 DE-92 DE-703 |
physical | XXIX, 651 S. Ill. |
publishDate | 2007 |
publishDateSearch | 2007 |
publishDateSort | 2007 |
publisher | Microsoft Press |
record_format | marc |
spelling | Wigley, Andy Verfasser aut Microsoft mobile development handbook Andy Wigley ; Daniel Moth ; Peter Foot Redmond, Wash. Microsoft Press 2007 XXIX, 651 S. Ill. txt rdacontent n rdamedia nc rdacarrier Presents the basics for designing mobile applications for wireless-capable devices using .NET Compact Framework 2.0, SQL Server 2005, and Microsoft Windows Mobile 5.0. Application software - Design sears Wireless communication systems sears Mobile computing Microsoft .NET Framework Wireless communication systems Microsoft dot net (DE-588)4645646-6 gnd rswk-swf Softwareentwicklung (DE-588)4116522-6 gnd rswk-swf Mobile Computing (DE-588)4694120-4 gnd rswk-swf Mobile Computing (DE-588)4694120-4 s Microsoft dot net (DE-588)4645646-6 s DE-604 Softwareentwicklung (DE-588)4116522-6 s Moth, Daniel Verfasser aut Foot, Peter Verfasser aut HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016258274&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Wigley, Andy Moth, Daniel Foot, Peter Microsoft mobile development handbook Application software - Design sears Wireless communication systems sears Mobile computing Microsoft .NET Framework Wireless communication systems Microsoft dot net (DE-588)4645646-6 gnd Softwareentwicklung (DE-588)4116522-6 gnd Mobile Computing (DE-588)4694120-4 gnd |
subject_GND | (DE-588)4645646-6 (DE-588)4116522-6 (DE-588)4694120-4 |
title | Microsoft mobile development handbook |
title_auth | Microsoft mobile development handbook |
title_exact_search | Microsoft mobile development handbook |
title_exact_search_txtP | Microsoft mobile development handbook |
title_full | Microsoft mobile development handbook Andy Wigley ; Daniel Moth ; Peter Foot |
title_fullStr | Microsoft mobile development handbook Andy Wigley ; Daniel Moth ; Peter Foot |
title_full_unstemmed | Microsoft mobile development handbook Andy Wigley ; Daniel Moth ; Peter Foot |
title_short | Microsoft mobile development handbook |
title_sort | microsoft mobile development handbook |
topic | Application software - Design sears Wireless communication systems sears Mobile computing Microsoft .NET Framework Wireless communication systems Microsoft dot net (DE-588)4645646-6 gnd Softwareentwicklung (DE-588)4116522-6 gnd Mobile Computing (DE-588)4694120-4 gnd |
topic_facet | Application software - Design Wireless communication systems Mobile computing Microsoft .NET Framework Microsoft dot net Softwareentwicklung Mobile Computing |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016258274&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT wigleyandy microsoftmobiledevelopmenthandbook AT mothdaniel microsoftmobiledevelopmenthandbook AT footpeter microsoftmobiledevelopmenthandbook |