This book provides a solid overview of mobile phone programming for readers in both academia and industry. Coverage includes all commercial realizations of the Symbian, Windows Mobile and Linux platforms. The text introduces each programming language (JAVA, Python, C/C++) and offers a set of development environments "step by step," to help familiarize developers with limitations, pitfalls, and challenges. The accompanying DVD includes all presented development environments and source code examples.
Author(s): Frank H.P. Fitzek (Editor), Frank Reichert (Editor)
Edition: 1
Year: 2007
Language: English
Pages: 473
Contents......Page 10
Foreword......Page 6
Part I: Introduction......Page 23
1.1 Evolution of the Mobile Phones, Networks, and Services......Page 24
1.2 Wireless Technologies and Architectures......Page 30
1.3 Mobile Application Deployment......Page 35
1.4 Structure of the Book......Page 39
References......Page 41
Part II: Mobile Phone Programming Languages......Page 42
2.1 Introduction......Page 43
2.2 Python for S60 Installation and Resources......Page 44
2.3 Writing a Python Script......Page 46
2.5 Overview of Python for S60 Modules......Page 48
2.6 Modules – and How to Program Python for S60 Scripts......Page 49
2.7 Creating Stand-Alone Applications......Page 78
2.8 Symbian Platform Security and Python for S60......Page 79
2.11 Code Appendix......Page 80
References......Page 81
3.1 Java Family Overview......Page 82
3.2 J2ME Platform......Page 83
3.3 Development Environment......Page 93
3.4 Application Examples......Page 105
References......Page 111
4.1 Introduction......Page 113
4.2 Setting up the Environment......Page 114
4.3 Symbian OS in a Nutshell......Page 126
4.4 Wireless Communication Technologies......Page 149
References......Page 156
5.1 Introduction......Page 157
5.2 What is Open C?......Page 158
5.3 Setting up the Environment......Page 160
5.4 Getting Started with Open C: Hello World......Page 162
5.5 Open C and Symbian/S60 Interaction......Page 164
5.6 Guidance for Porting......Page 175
6.1 The Greenphone and Qtopia......Page 177
6.2 Setting up the Environment......Page 179
6.3 FTP File Transfer Example......Page 184
References......Page 192
7.1 Introduction......Page 193
7.2 Scratchbox......Page 194
7.3 The Nokia 770 Internet Tablet......Page 204
7.4 Using Eclipse with Scratchbox......Page 213
7.5 Conclusions......Page 221
References......Page 222
8.1 Introduction......Page 224
8.2 .Net and C# in a Nutshell......Page 225
8.3 .Net Compact Framework......Page 229
8.4 Using the Windows Mobile Controls......Page 232
8.5 Network Functionality......Page 241
8.6 Visual Studio IDE......Page 245
References......Page 251
Part III: Infrastructure-Based Communication......Page 253
9.1 Service Discovery in Real Life......Page 254
9.2 Service Discovery in Computer Networks......Page 255
9.3 Universal Plug & Play......Page 258
References......Page 269
Part IV: Peer-to-Peer Communication......Page 271
10.1 Introduction......Page 272
10.2 Digital Content and Its Value......Page 273
10.3 Basic Elements of Digital Ownership......Page 275
10.4 Digital Ownership Management......Page 276
10.5 Digital Ownership Services......Page 278
10.6 First Steps......Page 279
10.7 An Example for DRM Usage: iTunes......Page 281
References......Page 283
11.1 Introduction......Page 284
11.2 The Software......Page 286
11.3 Summary......Page 287
12.1 Introduction......Page 288
12.2 The Software......Page 289
12.3 Bluetooth-IP Integration......Page 291
References......Page 292
Part V: Cooperative Communication......Page 293
13.1 Introduction......Page 294
13.2 Challenges......Page 296
13.3 Cooperative Principles in Wireless Networks: An Introduction......Page 300
13.4 Cooperation in Heterogeneous Networks: The Emergence of a Novel Paradigm......Page 304
References......Page 307
14.1 Motivation......Page 309
14.2 Identification of the Needed Functionality......Page 311
14.3 Realization of the Idea with Python......Page 315
14.4 Measurement Results......Page 317
References......Page 320
15.1 Peer-to-Peer File Sharing in General......Page 321
15.2 Thoughts on the Mobile Implementation......Page 326
15.3 Symella......Page 329
15.4 SymTorrent......Page 330
15.5 Summary and Conclusion......Page 333
References......Page 334
16.2 Test-bed Setup......Page 335
16.3 Description of the Source Code......Page 337
16.5 The BitTorrent Experiment......Page 346
References......Page 349
Part VI: Cross-Layer Communication......Page 350
17.1 Introduction......Page 351
17.2 Cross-Layer Protocol Design......Page 354
17.3 Acknowledgments......Page 367
References......Page 368
18.1 Introduction......Page 371
18.2 Adaptive Header Compression for Bluetooth......Page 372
18.3 Groundwork for Cross-Layer Design......Page 373
References......Page 379
Part VII: Sensor Networks......Page 380
19.1 Introduction......Page 381
19.2 Classification of Different Convergence Forms......Page 382
19.3 First Demonstrator......Page 384
References......Page 386
20.1 Using RFID/NFC on Mobile Phones......Page 387
20.2 Using Cameras on Mobile Phones......Page 392
20.3 Motion Interfaces using 3D Sensors......Page 399
20.4 Conclusions......Page 401
References......Page 402
21.1 Introduction......Page 403
21.2 Hardware......Page 405
21.3 Software Design......Page 409
21.4 Distributed Computing......Page 412
21.5 Conclusion......Page 414
References......Page 415
22.2 Mounting the Sensor......Page 417
22.3 JAVA Realization......Page 418
22.4 Python Realization......Page 420
22.5 Outlook......Page 423
Part VIII: Power Consumption in Mobile Devices......Page 424
23.1 Introduction......Page 425
23.2 Mobile Video Applications......Page 428
23.3 Mobile Video Codec Implementations/Platforms......Page 430
23.4 Software Interfacing Issues......Page 436
23.5 Summary......Page 440
References......Page 441
24.1 Introduction......Page 444
24.2 Measurement Setup......Page 446
24.3 Example of Energy Measurements......Page 449
References......Page 450
25.1 Motivation......Page 451
25.2 S60 Power Profiling Application......Page 453
25.3 Carbide.c++ Power-Performance Profiling......Page 458
25.4 Energy-Efficient Design Guidelines......Page 460
25.5 Conclusions......Page 463
References......Page 464
F......Page 472
S......Page 473
Z......Page 474