Showing posts with label Mobile Programming. Show all posts
Showing posts with label Mobile Programming. Show all posts

Friday, October 22, 2010

Building .Net Applications for Mobile Devices












Introduction

We (the authors of this book) worked together when WAP-enabled phones first flooded onto the European market. Like many others, we eagerly acquired a Nokia 7110 phone and set to work building real wireless Web applications. This was great fun—a new technology with an enthusiastic public of millions waiting desperately for something cool to access from their WAP phones. We worked for a company that handled credit card payments for Internet sites, and we built the first operating facility in the United Kingdom that allowed credit card payments from a WAP phone.

Unfortunately, the mobile Internet business didn't take off as well as we expected. Mobile phone companies were guilty of overhyping the capabilities of this new technology, and what users experienced from the mobile Internet was not what they had been led to expect. Users wanted a miniaturized version of Web browsing on a PC, but instead they got a small, slow, monochrome text browser. “WAP is crap” became a favorite cliché for the newspapers, and many companies adopted a wait-and-see attitude to launching themselves on the mobile Internet.

For developers, too, surprises were in store. Like many others, we were really surprised to find that our WAP service, which worked just great on a Nokia browser, didn't work so well on a Phone.com browser. Although both browsers accepted the same markup, the usability of the application on the different browsers was markedly different. (Seems like we've been here before—Netscape vs. Internet Explorer, anyone?) We redesigned our application so that it worked well on both browsers, which was challenging and fun, but this task distracted us from putting time into developing new solutions.

Fortunately, the mobile Internet is starting to mature. The public is better informed about what to expect from a small, handheld device, and usage of available WAP services is increasing steadily. In Japan, which managed to avoid the marketing mistakes made in Europe, the i-mode service is a huge success, with more than 30 million (reportedly happy) subscribers. From a developer's point of view, however, the most promising development is the upsurge in interest amongst businesses that can see the benefits of a mobile-enabled workforce. PDAs and smart phones are becoming increasingly capable and more affordable, and they provide an excellent platform for business Web applications.

We are still left with a wide variety of different platforms, though. We've got different screen sizes; HTML, cHTML, and WAP markup languages (and different versions of those); color and noncolor; and so on. Fortunately, software companies are producing products that allow developers to build their application once and let the product take care of optimizing the output for a particular device. We think that the most exciting of all these products is the Microsoft Mobile Internet Toolkit.

The .NET Framework is one of Microsoft's most ambitious development projects. It rewrites the book on how developers build applications for Windows platforms and for the World Wide Web. One of the most exciting parts of Microsoft's .NET initiative is ASP.NET. Using this technology, Web developers no longer need to write solutions with one arm tied behind their back. ASP.NET applications are fully-fledged .NET applications, with access to the full resources of the .NET Framework, that just happen to produce markup as their output. The Mobile Internet Toolkit extends ASP.NET with capabilities that make it easy to develop mobile Web applications, and the runtime takes care of adapting the output to run on a wide variety of handheld devices.

“Adaptability, customizability, extensibility” is a mantra often repeated by the Mobile Internet Toolkit team at Microsoft, and this phrase describes the toolkit's capabilities pretty well. Applications adapt to the different capabilities of mobile clients, you can easily customize your applications to take advantage of unique capabilities of any particular device, and the product is extensible, so you can easily create new controls or add support for new handheld devices that become available.

Developing early mobile applications was frustrating and challenging. With the Mobile Internet Toolkit, we can spend a fraction of the time it once took to produce an application and then immediately access it from a wide variety of browsers, including those that support HTML, cHTML, and WML. Now how cool is that?


Download
Another .NET Books
Another Mobile Programming Books
Another Smart Phone Books

Saturday, October 16, 2010

Wireless IP And Building The Mobile Internet












Contents
Preface xxi
Acknowledgments xxv
Chapter 1 Wireless IP 1
1.1 Introduction 1
1.2 Wireless IP 1
1.3 Challenges for the Heterogeneous Environment 4
1.4 QoS and Resource Management 5
1.4.1 QoS Network Model 8
1.4.2 Resource Management Problems 9
1.5 Seamless Mobility and IP 10
1.6 Ubiquity and Dynamic Ad Hoc Networks 11
1.7 Security Considerations 12
1.8 Concluding Remarks 13
References 14
Part I: Wireless IP Evolution 15
Chapter 2 Evolution to Wireless IP 17
2.1 Introduction 17
2.2 Motivation for High Data Rates and IP 18
2.3 Radio Interface Technologies 20
2.4 Cost Advantages of 3G Wireless IP 22
2.5 Technology Trade-Offs for 3G Voice and Data 23
2.6 Other Market Segments 24
2.7 Open Application Platforms for Wireless Devices 25
2.8 Concluding Remarks 26
Chapter 3 Wide-Area Wireless IP Connectivity with the General Packet
Radio Service 27
3.1 Introduction 27
3.2 GPRS Overview 28
3.2.1 GPRS Bearers 30
3.2.2 GPRS Protocols 31
3.3 Attach Procedure 34
3.4 Setting Up PDP Contexts 37
3.4.1 Routing and Tunneling 40
3.5 Mobility Handling 41
3.5.1 Cell Change 43
3.5.2 Intra-SGSN Routing Area Change 44
3.5.3 Inter-SGSN Routing Area Change 45
3.6 Summary 47
References 47
Chapter 4 3G Networks and Standards 49
4.1 Introduction 49
4.2 Evolution from 2G to 3G 50
4.3 3G and Its Releases 51
4.3.1 Release 3 (R3) 54
4.3.2 Release 4 (R4) 56
4.3.3 Release 5 (R5) 57
4.4 3G Deployment Scenario 59
4.5 Conclusion: Impact on the Existing Network 61
References 64
Chapter 5 UTRAN Evolution to an All-IP Architecture 67
5.1 Introduction 67
5.2 3GPP Reference Model 68
5.3 UTRAN Overview 72
5.3.1 SONET/SDH 73
5.3.2 ATM 74
5.4 UTRAN Transport Network 74
5.4.1 LIPE 76
5.4.2 CIP 78
5.4.3 MPLS 79
5.4.4 PPPmux/AAL5/ATM 81
5.4.5 PPP/AAL2 81
5.5 Comparison of IP-over-SONET and IP-over-ATM 82
5.5.1 Protocol Overheads 82
5.5.2 Bandwidth Management 83
5.5.3 Network Management 83
5.5.4 QoS 83
5.5.5 Flow Control 84
5.6 Summary 84
References 85
Chapter 6 Beyond 3G: 4G IP-Based Mobile Networks 87
6.1 Introduction 87
6.2 Drivers for the 4G Architecture 88
6.2.1 Support for IP-Based Traffic 88
6.2.2 Excellent Mobility Support 89
6.2.3 Support for Many Different Wireless Technologies 90
6.2.4 Free from Unnecessary Operator Linkage 90
6.2.5 Support for End-to-End Security 91
6.3 4G Architecture and Research Issues 92
6.4 4G Research Efforts 94
6.5 The NTRG 4G Test Bed 96
6.5.1 The Layered Architecture 96
6.5.2 Wireless Alternatives 97
6.5.3 Software Radio 97
6.5.4 Routing Protocols 98
6.5.5 Emulation Facilities 98
6.5.6 The Security Architecture 100
6.5.7 Real-Time Payment 101
6.5.8 Applications 102
6.6 Concluding Remarks 102
References 103
Chapter 7 Ad Hoc Networks: A Mobile IPv6 Viewpoint 105
7.1 Introduction 105
7.1.1 Ad Hoc Networks 106
7.1.2 IPv6 110
7.2 Mobility of Ad Hoc Devices 113
7.3 Ad Hoc Mobility 114
7.3.1 Flooding 115
7.3.2 Proactive Routing Protocols 115
7.3.3 Reactive Routing Protocols 116
7.3.4 Hybrid Routing Protocols 116
7.3.5 Protocols That Make Use of the Known Physical Location 117
7.4 Macro-Mobility: Mobile IP 117
7.5 Micro-Mobility 119
7.5.1 Cellular IP 119
7.6 A Mechanism to Provide Global Connectivity for
7.6 Ad Hoc Devices 121
7.6.1 Addressing 121
7.6.2 Finding an AR 122
7.6.3 Obtaining a COA 123
7.6.4 Communicating with an AR 124
7.6.5 Switching Between Ad Hoc and Global Communication 124
7.6.6 Example 125
7.6.7 Alternative Global Connectivity Proposal 126
7.7 Summary 128
References 129
Part II: QoS and Resource Management 131
Chapter 8 Differentiated and Integrated Services for IP Applications over UMTS 133
8.1 Introduction 133
8.2 All-IP End-to-End Scenarios 138
8.2.1 Architectural Aspects 138
8.2.2 All-IP Scenarios 138
8.2.3 All-IP Scenario Using Differentiated Services 140
8.2.4 All-IP Scenario Using Integrated Services 141
8.2.5 Using RSVP to Control the PDP Context 143
8.3 UMTS Service Classes and Parameters 144
8.3.1 Mapping the End-to-End Service to Local Bearer Services 144
8.3.2 UMTS Traffic Descriptors 145
8.3.3 UMTS QoS Attributes 146
8.3.4 Conclusion 146
8.4 Suitability of Existing Integrated Services over RANs 147
8.4.1 GQoS 148
8.4.2 Controlled Load 148
8.4.3 Null Service 149
8.4.4 Conclusions 149
8.5 Proposed Integrated Services Parameters and Mapping 150
8.5.1 Media Description Using MIME 151
8.5.2 Proposed Additional Parameters for Real-Time Traffic 153
8.5.3 Proposed Additional Parameters for Non-Real-Time Traffic 154
8.6 Numerical Examples 154
8.6.1 SDU Format Information to Facilitate UED/UEP 154
8.6.2 (Residual) BER 155
8.6.3 Maximum Transfer Delay 156
8.6.4 PLR 157
8.7 Conclusions 159
References 160
Chapter 9 Provisioning QoS in 3G Networks with RSVP Proxy 161
9.1 RSVP 163
9.2 Performance-Enhancing Proxies 167
9.3 Enabling End-to-End QoS for Packet Switched Services
9.3 in UMTS 168
9.3.1 Resource Reservation with End-to-End RSVP 169
9.3.2 Service-Based Local Policy and RSVP Sender/Receiver Proxy 170
9.4 Simulation 172
9.5 A Short Summary of Related Standards 175
9.6 Summary 176
References 177
Selected Bibliography 177
Chapter 10 QoS Support for VoIP over Wireless 179
10.1 Introduction 179
10.1.1 Motivation 179
10.1.2 Challenges 180
10.2 Factors Influencing the Speech Quality in a Wireless
10.2 VoIP System 183
10.2.1 Speech Codecs for Wireless VoIP 184
10.2.2 Transmission Impairments 185
10.3 Related Work 188
10.3.1 VoIP over WLANs 188
10.3.2 VoIP over Wireless WANs (Cellular Networks) 190
10.4 QoS for Wireless VoIP Using Selective Packet
10.4 Prioritization 191
10.4.1 Analysis of the G.729 Frame Loss Concealment 191
10.4.2 Selective Packet Marking/Prioritization 193
10.4.3 System Architecture 194
10.4.4 Simulations 195
10.4.5 Conclusions 200
References 201
Chapter 11 Delivering QoS in Mobile Ad Hoc IP Networks 203
11.1 Introduction 203
11.2 Mobile Ad Hoc Networks 205
11.2.1 Mobile Ad Hoc Network Characteristics 205
11.2.2 Ad Hoc Routing Protocols 206
11.2.3 Addressing Issues and Mobility Management 207
11.3 QoS Models 207
11.3.1 Integrated Services 208
11.3.2 Integrated Services in Ad Hoc Networks 210
11.3.3 DiffServ 212
11.3.4 DiffServ in Ad Hoc Networks 213
11.3.5 A Flexible QoS Model for Mobile Ad Hoc Networks 215
11.4 QoS Signaling 216
11.4.1 RSVP 216
11.4.2 INSIGNIA Signaling 217
11.5 QoS Routing 218
11.5.1 Core-Extraction Distributed Ad Hoc Routing 219
11.5.2 Ticket-Based Probing 221
11.6 Future Directions 222
11.7 Summary 224
References 224
Chapter 12 Radio Access Control in Wireless IP Networks 227
12.1 Introduction 227
12.2 Overview of the Radio Access Control Problem 229
12.2.1 Service Models 229
12.2.2 Problem Formulation 230
12.3 CAC 231
12.3.1 Overview 232
12.3.2 Performance Evaluation 233
12.4 PAC 248
12.4.1 Limits of UL Radio Resources for Non-Real-Time
12.4.1 Packet Radio Access 248
12.4.2 Dynamic Feedback Information Multiple Access 251
12.5 Concluding Remarks 253
References 253
Chapter 13 RRM in Multicarrier Allocation–Based Systems 255
13.1 Introduction 255
13.2 A Multidimensional Concept of Radio Channels in
13.2 Future Wireless IP Networks 257
13.3 The Impact of MCA Systems on Wireless IP Networks 260
13.4 System Model and Performance Measures 262
13.5 Frequency Diversity for an MCA System 264
13.5.1 MCA Scheme Without Frequency Diversity 264
13.5.2 MCA Scheme with Frequency Diversity 265
13.6 Power Control for an MCA System 267
13.6.1 Scheme 1: MCA with Power Control 269
13.6.2 Scheme 2: MCA with Frequency Diversity and Power Control 270
13.7 Carrier-Grouping for an MCA System 272
13.8 Concluding Remarks 275
Acknowledgments 275
References 275
Part III: TCP/IP in Wireless IP Networks 277
Chapter 14 TCP/IP over Next-Generation Broadband Wireless Access Networks 279
14.1 Introduction 279
14.2 TCP Background 281
14.2.1 Performance of TCP on Wireless Links 283
14.3 Design Features for 2G-BWA Networks 284
14.3.1 MAC Layer 284
14.3.2 Physical Layer 287
14.4 End-to-End Performance 289
14.4.1 Simulation Methodology 289
14.4.2 MAC Model 291
14.4.3 PHY Model 291
14.4.4 Wireless Channel Model 292
14.4.5 Traffic Model 293
14.5 Results 295
14.6 Concluding Remarks 299
References 300
Chapter 15 Reliable Multicast Congestion Control for TCP/IP in
Hybrid Networks 303
15.1 Introduction 303
15.1.1 Major Challenges 304
15.2 Background and Related Studies 305
15.2.1 TCP Congestion Control and the TCP Formula 305
15.2.2 Rate-Based Multicast Congestion Control 306
15.2.3 Window-Based Multicast Congestion Control 307
15.3 Reliable Multicast Congestion Control Schemes 307
15.3.1 A GenericRMCCFramework 307
15.3.2 Enhanced Mechanisms for Hierarchical RMCC over
15.3.2 Hybrid Networks 310
15.3.3 RMCC-Preliminary 310
15.3.4 RMCC-Whetten-Enhanced 312
15.3.5 RMCC-Mobile 313
15.4 Performance Evaluation 316
15.4.1 Simulation Objectives and Settings 316
15.4.2 Configuration 1—A Simple Network 317
15.4.3 Configuration 2—A Wired/Wireless Network with
15.4.3 Wireless Links of Different Loss Rates 319
15.4.4 Configuration 3—A Large Network with Two Base Stations 321
15.4.5 Configuration 4—A Wired/Wireless/Mobile Network
15.4.5 with Mobile Nodes 324
15.4.6 TCP Fairness Index 325
15.5 Summary and Future Enhancement: Use of
15.5 Belief Functions 327
15.5.1 BF Calculus: An Overview 327
15.5.2 An Abstract Example 327
15.5.3 Future Directions 330
15.6 Summary 330
Acknowledgments 330
References 331
Part IV: Handoff, Mobility, and Signaling 333
Chapter 16 Mobile IP: A Challenge in the Mobile World 335
16.1 Introduction 335
16.2 The Need for Mobile IP 336
16.3 The Mobile IP in Wireless Networks:
16.3 A Simple Architecture 338
16.3.1 Agent Discovery 339
16.3.2 Registration 340
16.3.3 Tunneling 341
16.3.4 Mobile IP Datagram 342
16.4 Open Issues in Mobile IPv4 343
16.5 Mobile IPv6 346
16.6 Possible Solutions for Micro-Mobility in Mobile
16.6 IP Networks 350
16.6.1 Cellular IP 350
16.6.2 HAWAII 352
16.6.3 Hierarchical Mobile IP 354
16.7 Conclusions and Future Directions 355
References 356
Chapter 17 IP Micro-Mobility Management Using Host-Based Routing 359
17.1 Introduction and Background 359
17.1.1 Chapter Overview 359
17.1.2 The Application-Layer Macro-Mobility Management
17.1.2 Alternative 360
17.1.3 Micro-Mobility Management 363
17.2 HBR Overview 365
17.2.1 A Generic HBR Solution for IP Micro-Mobility 366
17.2.2 Comparison Between HBR Schemes 369
17.2.3 Comparison with Ad Hoc Mobility Schemes 371
17.3 Performance Issues 373
17.3.1 A Qualitative Perspective 373
17.3.2 Quantifying Performance 375
17.4 Performance Results 376
17.4.1 Simulation Environment 376
17.4.2 Simulation Results 378
17.4.3 Results from Laboratory Prototype 386
17.5 Conclusions and Future Directions 388
References 390
Chapter 18 Handoff Initiation in Mobile IPv6 393
18.1 Introduction 393
18.1.1 Mobile IPv6 Operation 394
18.1.2 Handoff Initiation 395
18.1.3 Handoff Performance 397
18.1.4 Comparison with Other IP Mobility Schemes 397
18.2 Mathematical Models 399
18.2.1 Basic Definitions 399
18.2.2 Eager Cell Switching 400
18.2.3 Lazy Cell Switching 401
18.3 Experimental Results in Test Bed 403
18.3.1 The Mobile IPv6 Test Bed 403
18.3.2 Experimental Approach 404
18.3.3 Overview of Performed Experiments 405
18.3.4 Default Settings 406
18.3.5 Varying Advertisement Frequency 407
18.4 Optimizing Protocol Configuration 408
18.5 Building Wide Experiment 410
18.5.1 Experimental Setup 410
18.5.2 Results 410
18.6 Conclusions and Future Directions 412
References 413
Chapter 19 Location Independent Network Architecture and Mobility Handling
in IPv6 415
19.1 Introduction 415
19.2 LINA 417
19.2.1 Basic Concept 417
19.2.2 Embedded Addressing Model 418
19.2.3 Embedding and Extraction 419
19.2.4 Generalized ID 420
19.2.5 Mapping: Resolving Interface Locator from Node Identifier 420
19.2.6 LINA Communication Model 421
19.3 LIN6: An Application of LINA to IPv6 422
19.3.1 Embedded Addressing in LIN6 422
19.3.2 Embedment in LIN6 423
19.3.3 Generalized Identifier in LIN6 424
19.3.4 Finding Designated Mapping Agents 425
19.3.5 Handoff of a Mobile Node 426
19.3.6 Compatibility with Traditional IPv6 Nodes 427
19.4 Communication Example of LIN6 427
19.4.1 Bootstrap 428
19.4.2 Communication Between LIN6 Nodes 429
19.4.3 Handoff of a LIN6 Node 430
19.5 Implementation 431
19.5.1 Implementation Status 431
19.5.2 Motion Detection Mechanism with IPv6 431
19.6 Protocol Evaluation of Mobility Handling 432
19.6.1 Experimental Network 432
19.6.2 Experimental Results and Considerations 432
19.7 Comparison of LIN6 and Mobile IPv6 437
19.7.1 Single Point of Failure: Mapping Agent and HA 437
19.7.2 Overhead of Packet Header Length 437
19.7.3 End-to-End Communication 438
19.8 Summary 438
References 439
Chapter 20 Distributed Signaling and Routing Protocols in iCAR 441
20.1 Introduction 441
20.2 An Overview of the iCAR System 443
20.2.1 Basic Operations 443
20.3 Signaling and Routing Protocol 446
20.3.1 Connection Setup 446
20.3.2 ARS Routing 449
20.3.3 Connection Release 451
20.4 Simulation Results and Discussion 452
20.5 Conclusion and Future Work 455
References 455
Chapter 21 Reducing Link and Signaling Costs in Mobile IP 457
21.1 Introduction 457
21.2 The New Cost-Efficient Scheme 460
21.2.1 The Mathematical Model 460
21.2.2 Optimal Solution 461
21.3 Performance Evaluation 464
21.3.1 The Total Cost 464
21.3.2 The Signaling Cost 466
21.3.3 The Number of Route Optimizations 467
21.4 Summary 469
References 469
Chapter 22 Enabling WAP Handoffs Between GSM and IEEE 802.11b Bearers
with Mobile IP 471
22.1 Introduction 471
22.2 Reinventing in the Name of Wireless 473
22.3 Converging in the Name of Progress 474
22.3.1 The Mobile IP 474
22.3.2 The WAP Transport Protocols 476
22.4 Experimental Setup 478
22.5 Experimental Results 479
22.6 Mobile WAP Network Components 482
22.7 Summary 483
References 483
Chapter 23 Interworking and Handover Mechanisms Between WLAN and UMTS 485
23.1 Introduction 485
23.2 Interworking System Architectures 486
23.3 Interconnection Between 3G-SGSN and WLAN
23.3 AP by Emulating RAN 487
23.4 Interconnection Between GGSN and WLAN
23.4 AP by Emulating 3G-SGSN 491
23.5 Interconnection Between UMTS and WLAN
23.4 Through VAP 492
23.6 Interconnection Between UMTS and WLAN
23.4 Through Mobility Gateway 494
23.7 Interconnection Between UMTS and WLAN Based on
23.4 Mobile IP 497
23.8 Handover Between IEEE 802.11 and UMTS 498
23.9 Handover Aspects Between IEEE 802.11 WLAN and
23.9 UMTS Based on Mobile IP 499
23.10 Conclusions 501
References 502
Chapter 24 Location-Based Push Architectures for the Mobile Internet 503
24.1 Introduction 503
24.2 Push for Mobile Networks 504
24.2.1 Types of Push 504
24.2.2 Push Scenarios 505
24.2.3 Security for Push 506
24.3 Technical Aspects 507
24.3.1 Bearer Establishment 507
24.3.2 Application Layer Signaling 507
24.3.3 Architecture Components for SIP-Based Push 515
24.4 Realization 518
24.4.1 Content Provider Push and Location-Based Push 518
24.4.2 Application-Related Push for Local Location Assistant (LoL@) 520
24.5 Summary 521
24.6 Conclusions and Future Directions 522
References 523
Chapter 25 Signaling Network Architecture in Wireless IP Overlay Networks 525
25.1 Introduction 525
25.2 Network Model 527
25.2.1 Dedicated Signaling Network Architecture 528
25.2.2 Architecture Components 529
25.2.3 Signaling Home Agent 530
25.2.4 Location Database 530
25.2.5 Resource Database 531
25.2.6 HA 531
25.3 Functions of Signaling Network 531
25.3.1 Terminal Addressing 531
25.4 Signaling and Location Management 532
25.5 Mobility Management 534
25.5.1 Resource Management 536
25.6 Basic Issues 537
25.6.1 Paging and Power Consumption of Idle Terminal 537
25.6.2 Generic Extension Interface for Adding a New Type of
25.6.2 Wireless Network as an RAN 537
25.6.3 Capacity of the Networks as a Communication System 538
25.6.4 Geographical Coverage of Service and BAN Capacity 538
25.6.5 Handover Latency 538
25.7 Concluding Remarks 540
References 540
Part V: Services and Applications 543
Chapter 26 Mobile Content Distribution for Wireless IP Networks 545
26.1 Introduction 545
26.2 Content Distribution in Wireline Web 547
26.2.1 A Taxonomy of Content Distribution 547
26.2.2 Network Scaling 548
26.2.3 Endpoint Acceleration 551
26.2.4 Protocol and Content Optimization 552
26.3 Content Distribution in Wireless IP Networks 553
26.3.1 Air Interface Protocol Optimization 553
26.3.2 Content Adaptation and Proxy Services for Wireless Terminals 555
26.4 Discussions 555
26.5 Concluding Remarks 556
References 556
Chapter 27 Perceptual QoS for Wireless and IP Networks 559
27.1 Introduction 559
27.2 QoS 560
27.2.1 Voice 560
27.2.2 Video 561
27.3 Simulation Model 562
27.3.1 Quality Measurement Tools 562
27.3.2 Link Level Simulation Tools 562
27.3.3 Simulation Model 563
27.4 Video over WLAN 563
27.4.1 Video over 5-GHz WLAN 563
27.4.2 Video over IEEE 802.11b 565
27.5 UMTS Speech Quality 565
27.5.1 Simulation Model 566
27.5.2 Results 567
27.6 Concluding Remarks 568
References 568
Chapter 28 Transcoding for the Mobile Internet: The Case of Video Transcoding 571
28.1 Introduction 571
28.2 Adaptation Techniques for Multimedia
28.2 Content Distribution 572
28.2.1 Adaptation Technique for Mobile Web Accesses 572
28.2.2 Issues of Viewing a Video Stream in a Mobile Environment 573
28.2.3 Adaptation Techniques for Video Streaming 574
28.3 Related Works 576
28.4 Standardization Issues 576
28.5 Video Transcoding System Architecture and Control
28.2 Mechanism 577
28.5.1 Basic Concept of the System 577
28.5.2 System Architecture 578
28.5.3 Control Mechanism 579
28.5.4 MPEG Transcoder 581
28.6 Features of the Video Transcoding System 582
28.6.1 Experimental Video Transcoding System 582
28.6.2 Characteristics of the Experimental System 583
28.7 Concluding Remarks 584
References 585
Chapter 29 On Security in Wireless and IP Networks 587
29.1 Introduction 587
29.2 Cellular Networks Security 588
29.2.1 AMPS 589
29.2.2 TIA/EIA-41 589
29.2.3 TIA/EIA-136 (NA-TDMA) 590
29.2.4 IS-95 (CDMA) 592
29.2.5 GSM 592
29.2.6 GPRS 593
29.2.7 UMTS 594
29.3 Link Layer Security 595
29.3.1 Bluetooth Security 595
29.3.2 IEEE 802.11 WLAN Security 598
29.4 TCP/IPsec 599
29.4.1 IPsec 599
29.4.2 TLS 603
29.4.3 ISAKMP and IKE 605
29.5 Security Algorithms 607
29.5.1 Encryption Algorithms 607
29.5.2 Hash and Signature Algorithms 610
29.6 DDoS, Firewalls, and Private Addressing 611
29.6.1 Always-On and DDoS 611
29.6.2 Private Addressing 612
29.6.3 Firewalls 615
29.7 Concluding Remarks 616
Selected Bibliography 617
About the Editors 619
Index 623

Download
Another Wireless Network Books
Another Mobile Programming Books

Thursday, July 15, 2010

MIDP 2.0 Style Guide for the Java 2 Platform, Micro Edition













MIDP 2.0 Style Guide for the Java(TM) 2 Platform, Micro Edition, is the comprehensive reference for designing and creating interactive Java(TM) applications for consumer-oriented mobile devices. Readers learn how to best exploit MIDP 2.0 features, such as the gaming API, multimedia, and security for user-friendly MIDlets. Readers who create MIDP environments (MIDP implementors) also learn how to best support developers and users.

This book begins by introducing readers to the unique requirements of the consumer market and to the characteristics of MIDs and the MIDP 2.0 environment. Readers have a first look at the process of designing applications for MIDP in general terms before examining the nuts and bolts of creating usable, predictable applications. The authors provide user interface designers, application developers, and MIDP implementers with clearly illustrated standards for working with screen layouts, lists, text boxes, forms, alerts, canvas screens, and game screens. Visual examples demonstrate both what does and what does not work. The book ends with the authors' strategies for improving usability, security, and performance.

Key topic coverage includes:

* designing applications for MIDP
* working with and displaying lists, text boxes, and alerts
* working with and laying out forms and form items
* creating and implementing canvases
* using the new game package
* using and implementing abstract commands
* integrating MIDP and MIDlet suites into a device
* using push functionality
* understanding the MIDP 2.0 security model
* using touch input
* enhancing performance and using multiple threads

MIDP 2.0 Style Guide for the Java(TM) 2 Platform, Micro Edition, is the insider's guide to creating applications and devices that create consumer demand.

Publisher : Addison Wesley
Pub Date : June 10, 2003
ISBN : 0-321-19801-8
Pages : 288


Copyright
The Java™ Series
List of Figures
List of Tables
Preface
How This Book Is Organized
Acknowledgments
Chapter 1. Introduction
Section 1.1. Consumer Characteristics
Section 1.2. Consumer Products
Section 1.3. Consumer-Product Domains
Section 1.4. Design Considerations for Consumer Products
Chapter 2. MIDP Characteristics
Section 2.1. Characteristics of MIDs
Section 2.2. Changes from MIDP 1.0 to MIDP 2.0
Section 2.3. Characteristics of the MIDP Environment
Section 2.4. Implications of the MIDP Environment
Chapter 3. Designing Applications for MIDP
Section 3.1. Characterizing the Application
Section 3.2. Describing a Usage Case
Section 3.3. Identifying Tasks
Section 3.4. Sketching Tasks
Section 3.5. Designing Application Flow
Section 3.6. Creating a Mock-Up
Chapter 4. Screen Layout
Section 4.1. Tickers and Titles
Section 4.2. Onscreen Indicators
Section 4.3. Full-Screen Mode
Chapter 5. Lists
Section 5.1. Working with Lists
Section 5.2. Exclusive-Choice Lists
Section 5.3. Multiple-Choice Lists
Section 5.4. Implicit Lists
Chapter 6. Text
Section 6.1. Constraints
Section 6.2. Modifiers
Section 6.3. Input Modes
Section 6.4. Handling Text Boxes
Chapter 7. Forms and Form Layout
Section 7.1. Creating and Updating Forms
Section 7.2. Form Layout Policy
Section 7.3. Traversing and Scrolling Forms
Section 7.4. Traversal and Selection Highlighting
Chapter 8. Form Items
Section 8.1. Labels
Section 8.2. Item-Specific Abstract Commands
Section 8.3. Images
Section 8.4. Strings
Section 8.5. Buttons and Hyperlinks
Section 8.6. Text Fields
Section 8.7. Dates and Times
Section 8.8. Gauges
Section 8.9. Choice Groups
Section 8.10. Custom Items
Chapter 9. Alerts
Application Developers
MIDP Implementors
Section 9.1. Titles for Alert Screens
Section 9.2. Text of Alerts
Section 9.3. Duration of Alerts
Section 9.4. Gauges in Alerts
Section 9.5. Abstract Commands on Alert Screens
Section 9.6. Command Listeners for Alerts
Section 9.7. Alert Types
Chapter 10. Canvas Screens
Section 10.1. Title and Ticker
Section 10.2. Key Events
Section 10.3. Touch Input
Section 10.4. Colors, Fonts, Shapes, and Images
Section 10.5. Accommodating Different Screen Sizes
Section 10.6. Avoiding Flicker
Chapter 11. Game Screens, Layers, and Sprites
Section 11.1. Offscreen Buffer
Section 11.2. Key Latching and Suppression
Section 11.3. Layers
Section 11.4. Layer Manager
Section 11.5. Performance and Resource Usage
Section 11.6. Creating a Game
Chapter 12. Abstract Commands
Application Developers
Section 12.1. Types of Abstract Commands
Section 12.2. Labels
Section 12.3. Priority
Section 12.4. Implementing Abstract Commands
Section 12.5. Using Abstract Commands
Chapter 13. Application Discovery, Installation, and Management
Section 13.1. Integrating MIDP into the Device
Section 13.2. Discovering MIDlet Suites
Section 13.3. Installing MIDlet Suites
Section 13.4. Launching and Exiting MIDlet Suites
Section 13.5. Getting Information on MIDlet Suites
Section 13.6. Updating MIDlet Suites
Section 13.7. Removing MIDlet Suites
Section 13.8. Handling Application Management Errors
Chapter 14. Push Functionality
Application Developers
MIDP Implementors
Section 14.1. Registering to Use Push Functionality
Section 14.2. Use Cases for Push Functionality
Section 14.3. Protocols for Push Functionality
Section 14.4. Alarms
Section 14.5. Designing a MIDlet Suite That Uses Push Functionality
Chapter 15. Security
MIDP Implementors
Section 15.1. Determining Trust
Section 15.2. Working with a Security Policy
Section 15.3. Function Groups: Permissions in a Usable Interface
Section 15.4. Installing a MIDlet Suite
Section 15.5. Prompting the User for Permission
Section 15.6. Changing Permission Settings
Section 15.7. Security for Push Functionality
Chapter 16. Advanced Topics
Section 16.1. Touch Input
Section 16.2. Performance
Section 16.3. Multithreading
Bibliography
Consumer Design Publications
General Design Publications
MIDP Programming Publications
Web Publications
Index

Download
Another Mobile Programing books
Another Java books

Sunday, June 20, 2010

J2ME in a Nutshell













J2ME in a Nutshell
Kim Topley
Publisher: O'Reilly
Edition March 2002
ISBN: 0-596-00253-X, 478 pages
J2ME in a Nutshell provides a solid, no-nonsense reference to the 'alphabet soup' of micro
edition programming, covering the CLDC, CDC, KVM and MIDP APIs. The book also
includes tutorials for the CLDC, KVM, MIDP and MIDlets, MIDlet user interfaces,
networking and storage, and advice on programming small handhelds. Combined with
O'Reilly's classic quick reference to all the core micro-edition APIs, this is the one book that
will take you from curiosity to code with no frustrating frills in between.


Table of Contents
Preface .....................................................
Contents of This Book ..........................................
Related Books ................................................
J2ME Programming Resources Online ................................
Examples Online ..............................................
Conventions Used in This Book ....................................
Request for Comments ..........................................
Acknowledgments .............................................
11345566
I: Introduction to the Java 2 Micro Edition Platform API ..................
1. Introduction ................................................
1.1 What Is the J2ME Platform? ....................................
1.2 J2ME Specifications .........................................
1.3 J2ME and Other Java Platforms ..................................
2. The Connected Limited Device Configuration ........................
2.1 The CLDC Java Virtual Machine .................................
2.2 The CLDC Class Libraries .....................................
2.3 KVM Debugging ...........................................
2.4 Advanced KVM Topics .......................................
3. The Mobile Information Device Profile and MIDlets ....................
3.1 MIDP Overview ............................................
3.2 The MIDP Java Platform ......................................
3.3 MIDlets and MIDlet Suites .....................................
3.4 MIDlet Execution Environment and Lifecycle ........................
3.5 Developing MIDlets .........................................
3.6 Delivery and Installation of MIDlets ..............................
4. MIDlet User Interfaces ........................................
4.1 User Interface Overview ......................................
4.2 The High-Level User Interface API ...............................
5. The Low-Level MIDlet User Interface API ...........................
5.1 The Canvas Class ...........................................
5.2 Painting and the Graphics Class ..................................
5.3 Graphics Attributes ..........................................
5.4 Drawing Lines and Arcs .......................................
5.5 Translating the Graphics Origin ..................................
5.6 A Simple Animation MIDlet ....................................
5.7 The Graphics Clip ...........................................
5.8 Rendering Text ............................................
5.9 Images ..................................................
5.10 Event Handling ...........................................
5.11 Multithreading and the User Interface .............................
6. Wireless Java: Networking and Persistent Storage .....................
6.1 A Networking Architecture for Small Devices ........................
6.2 Sockets ..................................................
6.3 Datagrams ................................................
6.4 HTTP Connections ..........................................
6.5 Persistent Storage ...........................................
7. The Connected Device Configuration and Its Profiles ...................
7.1 The CDC ................................................
8. J2ME Command-Line Tools .....................................
8.1 cvm: The Connected Device Configuration Virtual Machine ...............
8.2 kdp: The KVM Debug Proxy ...................................
8.3 kvm: The Kilobyte Virtual Machine ...............................
8.4 midp: The MID Profile Execution Environment .......................
8.5 emulator: The J2ME Wireless Toolkit Emulator .......................
8.6 preverify: The KVM Class Preverifier .............................
8.7 MakeMIDPApp: JAD to PRC Conversion Tool .......................
8.8 chMEKeyTool: Public Key Certificate Management Tool ................
9. J2ME Programming Environments ................................
9.1 The J2ME Wireless Toolkit ....................................
9.2 MIDP for PalmOS ..........................................
9.3 J2ME and Forte For Java ......................................
9.4 Other Integrated Development Environments .........................
II: API Quick Reference .........................................
298
10. J2ME Packages and Classes ....................................
10.1 J2ME Packages ...........................................
10.2 J2SE Packages Not Present in J2ME ..............................
10.3 J2ME Package Contents ......................................
11. java.io ...................................................
Package java.io ...............................................
ByteArrayInputStream ..........................................
ByteArrayOutputStream .........................................
DataInput ...................................................
DataInputStream ..............................................
DataOutput ..................................................
DataOutputStream .............................................
EOFException ...............................................
InputStream .................................................
InputStreamReader ............................................
InterruptedIOException .........................................
IOException .................................................
OutputStream ................................................
OutputStreamWriter ............................................
PrintStream .................................................
Reader .....................................................
UnsupportedEncodingException ....................................
UTFDataFormatException .......................................
Writer .....................................................
12. java.lang ..................................................
Package java.lang .............................................
ArithmeticException ...........................................
ArrayIndexOutOfBoundsException ..................................
ArrayStoreException ...........................................
Boolean ....................................................
Byte ......................................................
Character ...................................................
Class ......................................................
ClassCastException ............................................
ClassNotFoundException ........................................
Exception ...................................................
IllegalAccessException ..........................................
IllegalArgumentException ........................................
IllegalMonitorStateException ......................................
IllegalStateException ...........................................
IllegalThreadStateException ......................................
IndexOutOfBoundsException .....................................
InstantiationException ..........................................
Integer .....................................................
InterruptedException ...........................................
Long ......................................................
Math ......................................................
NegativeArraySizeException ......................................
NullPointerException ...........................................
NumberFormatException ........................................
Object .....................................................
OutOfMemoryError ............................................
Runnable ...................................................
Runtime ....................................................
RuntimeException .............................................
SecurityException .............................................
Short ......................................................
String .....................................................
StringBuffer .................................................
StringIndexOutOfBoundsException .................................
System ....................................................
Thread .....................................................
Throwable ..................................................
VirtualMachineError ...........................................
13. java.util ..................................................
Package java.util ..............................................
Calendar ...................................................
Date ......................................................
EmptyStackException ..........................................
Enumeration .................................................
Hashtable ...................................................
NoSuchElementException ........................................
Random ....................................................
Stack ......................................................
Timer .....................................................
TimerTask ..................................................
TimeZone ..................................................
Vector .....................................................
14. javax.microedition.io .........................................
Package javax.microedition.io .....................................
Connection ..................................................
ConnectionNotFoundException ....................................
Connector ..................................................
ContentConnection ............................................
Datagram ...................................................
DatagramConnection ...........................................
HttpConnection ...............................................
InputConnection ..............................................
OutputConnection .............................................
StreamConnection ............................................
StreamConnectionNotifier ........................................
395
15. javax.microedition.lcdui .......................................
Package javax.microedition.lcdui ...................................
Alert ......................................................
AlertType ..................................................
Canvas ....................................................
Choice .....................................................
ChoiceGroup ................................................
Command ..................................................
CommandListener .............................................
DateField ...................................................
Display ....................................................
Displayable .................................................
Font ......................................................
Form ......................................................
Gauge .....................................................
Graphics ...................................................
Image .....................................................
ImageItem ..................................................
Item ......................................................
ItemStateListener .............................................
List .......................................................
Screen .....................................................
StringItem ..................................................
TextBox ....................................................
TextField ...................................................
Ticker .....................................................
16. javax.microedition.midlet ......................................
Package javax.microedition.midlet ..................................
MIDlet ....................................................
MIDletStateChangeException .....................................
17. javax.microedition.rms ........................................
Package javax.microedition.rms ....................................
InvalidRecordIDException .......................................
RecordComparator .............................................
RecordEnumeration ............................................
RecordFilter .................................................
RecordListener ...............................................
RecordStore .................................................
RecordStoreException ..........................................
RecordStoreFullException ........................................
RecordStoreNotFoundException ...................................
RecordStoreNotOpenException ....................................

Download this book click here
Another Mobile Programming books click here

Tuesday, April 20, 2010

Java 2 Micro Edition
















contents
preface xv
acknowledgments xviii
about this book xx
about the cover illustration xxiii
Part 1 Developing with J2ME 1
1 Introduction 3
1.1 So what is J2ME anyway? 3
Where is J2ME being applied? 4
1.2 What is a small device? 5
The vast consumer space 5
Consumer electronic and embedded devices 6
1.3 J2ME’s role in wireless and mobile applications 7
Is J2ME mobile? 7 ✦ Is J2ME wireless? 8
Wireless vs. mobile 9
1.4 The Java 2 edition trilogy 9
J2SE 10 ✦ J2EE 10
J2ME 11 ✦ Why we need J2ME 11
1.5 The case for Java 12
Is Java right for small devices? 12 ✦ Java’s beneficial features 13
1.6 Origins of J2ME 15
Java’s origins 15 ✦ The return of Java in small devices 16
1.7 The J2ME community 16
J2ME’s guiding light, the Java Community Process 16
1.8 J2ME products and alternatives 17
1.9 Summary 18
2 J2ME architecture 19
2.1 Goals of the J2ME architecture 19
Support for multiple devices 20
Support for device-specific functionality 20
Maintaining a common architecture 21
2.2 Accommodating opposing needs 21
Configurations and profiles 22 ✦ A high-level view of J2ME 23
2.3 Configurations: a closer look 24
Connected Limited Device Configuration (CLDC) 25
The Kilobyte Virtual Machine (KVM) 27
Connected Device Configuration (CDC) 28
C-Virtual Machine (CVM) 29
2.4 Profiles: a closer look 29
Two types of profiles 30 ✦ Profiles are modular 30
J2ME profiles extend J2ME configurations 31
2.5 Choosing a J2ME profile 31
Mobile Information Device Profile (MIDP) 32
PDA Profile (PDAP) 32 ✦ Foundation Profile 32
Personal Profile 32 ✦ RMI Profile 33 ✦ Personal Basis Profile 33
Multimedia Profile 33 ✦ Gaming Profile 34
Wireless Telephony Communications API (WTCA) 34 ✦ KJava 34
2.6 Write once, run anywhere issues 35
Varied device needs 35 ✦ J2ME architecture increases WORA 36
2.7 Runtime environment 36
2.8 Designing J2ME applications 36
2.9 Summary 38
3 Developing a J2ME application 39
3.1 Investment quote application requirements 40
The investment quote application customer 40
Requirements analysis 41
3.2 Designing the investment quote application 42
Application control 42 ✦ User interface design 43
Persistent storage 45 ✦ Networking and input/output 46
3.3 Developing J2ME applications 48
Obtaining the development environment 48
Creating the applications 49 ✦ Runtime environment 49
3.4 Investment quote application tour guide 50
3.5 Summary 51
Part 2 Developing for cellular phones and pagers 53
4 A simple MIDP application 55
4.1 Questions about the MIDP development environment 56
Can I do this without an actual device? 56
What device do I start with? 56
Do I have to use the command line tools? 56
The example: what are we going to do? 56
4.2 Developing MIDP applications 56
Getting started 57 ✦ What is a MIDlet? 58
Compiling the application 60 ✦ Preverifying the application 61
Running the application 61 ✦ Troubleshooting 62
JARing MIDlets 63 ✦ Developing MIDlet suites 64
Running MIDlet suites from a web server 67
Installing MIDlet suites locally 67
4.3 Summary 68
5 MIDP user interface 69
5.1 MIDP application control 70
5.2 The investment quote application control in MIDP 71
5.3 Two types of MIDP user interface and event handling 75
High-level API 76 ✦ Low-level API 76
5.4 The MIDP user interface API 77
MIDP display control 77 ✦ MIDP high-level user interface API 78
MIDP low-level user interface API 87
The investment quote application’s user interface in MIDP 91
5.5 Handling user interactions in MIDP 105
High-level event handling 107 ✦ Low-level event handling 110
Handling the events of the Investment Quote Application 114
5.6 MIDlets on other devices 130
5.7 Summary 133
6 MIDP data storage 134
6.1 JDBC parallel 135
6.2 Storage structure 136
Record store 136 ✦ Records in the record store 137
6.3 RMS API 138
Record store construction and access 138 ✦ Record store exceptions 141
Record store listener 142 ✦ Comparing records 144
Filtering records 145 ✦ Enumerating through records 146
6.4 Persistent storage in the investment quote application 149
Defining the stock/mutual fund record 149
Storing quotes 150 ✦ Retrieving quotes 156
6.5 Summary 166
7 Connecting to the Internet 167
7.1 Micro edition package connectivity 168
Using the Connector class to open a channel 168
7.2 Similar but smaller I/O package 169
Streams 170 ✦ Readers/Writers 170
7.3 Implementing the Internet investment quote service 171
Getting a quote service connection 172
Extracting the price quote from the HTML 177
The MIDlet’s handling of quote data 180
7.4 Summary 186
Part 3 Developing for PDAs 187
8 J2ME on a PDA, a KJava introduction 189
8.1 PDA profile alternatives 190
Java PDA development environments 190
What is KJava? 191 ✦ What is MIDP for Palm OS? 192
8.2 HiSmallWorld in KJava 192
Getting Started 192 ✦ What is a Spotlet? 193
Compiling HiSmallWorld 194 ✦ Preverifying KJava applications 197
Creating the Palm OS application 198 ✦ Running the application 202
8.3 Deploying to the actual device 211
8.4 HiSmallWorld revisited using MIDP for Palm OS 213
MIDP application code 214 ✦ Converting the JAR file to PRC 215
Deploying the MIDP for Palm OS applications 216
8.5 Summary 217
9 KJava user interface 218
9.1 KJava application control 219
9.2 The investment quote application control in KJava 220
9.3 KJava user interface 225
Drawing to the display with the graphics object 225 ✦ Components 231
Custom components 239 ✦ KJava collection classes 239
9.4 The investment quote application’s user interface in KJava 240
Creating and displaying components 240 ✦ Drawing with graphics 244
9.5 Handling user interactions in KJava 248
Spotlet event-processing methods 248 ✦ Handling beaming events 250
9.6 Handling the events of the investment quote application in KJava 250
Handling key entry events 250 ✦ Handling pen taps 252
Handling pen movement 255
9.7 Summary 261
10 KJava data storage 262
10.1 Palm OS databases 263
Different types of Palm OS databases 263
Palm OS record database 263
10.2 KJava database API 265
Opening and creating databases 265 ✦ Accessing the database 267
10.3 Implementing the investment quote persistent storage in KJava 268
The stock/mutual fund record 268
Storing investment quotes 269 ✦ Retrieving records 273
10.4 Revisiting the connection to the Internet 275
10.5 Accessing Palm OS application databases 285
10.6 Summary 287
Part 4 Developing for the enterprise:
beyond the specifications 289
11 Real-world design 291
11.1 Dealing with stakeholders 292
Get them familiar with the devices early 292 ✦ Set expectations 293
Gathering requirements 293 ✦ State of the organization 293
11.2 A development scenario 294
Analysis 295 ✦ Options 296
11.3 Guidelines for building J2ME applications 298
The user interface 298 ✦ The network 304
Data exchange formats 306 ✦ Data synchronization 312
Data storage 317 ✦ Memory 319
Portability between profiles 320
Security 322 ✦ Internationalization 323
11.4 Architectural tools and techniques 325
Questionnaire: assessing if mobile and wireless is a good fit 325
Mobile application models 326 ✦ Architect’s checklist 329
11.5 Summary 331
12 Integrating the server 332
12.1 Examining server integration 333
Avoid monolithic applications 333
12.2 What technology to connect to? 334
12.3 Servlet example 334
12.4 XML 347
Using XML 348 ✦ Open standards of XML 350
Consequences of XML in J2ME 351 ✦ Small-footprint parsers 351
12.5 XML using JSPs example 353
How JavaServer Pages work 353 ✦ Creating the JSPHelper 355
Creating the JSP 357 ✦ Creating the J2ME Client 358
12.6 Summary 364
13 The network connection 365
13.1 About the Generic Connection Framework 366
Where the Generic Connection Framework lives 367
Working with the Connector class 368 ✦ The Connector is a factory 370
How the Connector finds the correct class 370
13.2 Using the Generic Connection Framework 372
13.3 HTTP-based connections 372
Establishing a connection 372 ✦ Using the connection 373
Compiling and running the application 376
13.4 Socket-based connections 377
Writing to sockets 378 ✦ Reading from sockets 380
When to use sockets 381 ✦ Client-server socket example 381
13.5 Datagram-based connections 394
Datagram example 397
13.6 Summary 406
14 J2ME runtime environment 407
14.1 The Java runtime environment 408
Lifecycle of the Java Virtual Machine 408
Java Virtual Machine responsibilities 411
14.2 The J2ME runtime environment 415
14.3 CLDC-compliant virtual machines (the KVM) 415
KVM lifecycle 416 ✦ Preverification 416
In-device verification 417 ✦ Security 417
Unsupported Java features 419 ✦ Multithreading 421
Garbage collection 421 ✦ Internationalization 422
Application management (JAM) 422 ✦ Java Code Compact (JCC) 423
Deployed classes 424 ✦ Debug support 424
14.4 CDC-compliant virtual machines (the CVM) 425
Garbage collection and the CVM 426
Memory references in the CVM 426
14.5 Summary 427
15 Related technologies 428
15.1 J2ME implementations 429
esmertec’s Jbed 429
Motorola’s Embedded Reference Implementation (MERI) 430
15.2 The other Sun specifications 430
PersonalJava 430 ✦ EmbeddedJava 434
15.3 Non-J2ME alternatives 435
ChaiVM by Hewlett-Packard 435 ✦ IBM’s VisualAge Micro Edition 435
Waba by Wabasoft 438
15.4 Related Java technologies 438
Java Card 438 ✦ Java Native Interface 439
Jini 441 ✦ JavaPhone and Java TV APIs 442
15.5 Non-Java alternatives 442
WAP/WML 443 ✦ Other languages 443
15.6 Data storage and synchronization 444
Data storage 444 ✦ A data synchronization standard, SyncML 445
XML 446
15.7 J2ME supplementary technology 448
GUI, kAWT 448 ✦ Web browsing, Kbrowser 449
Encryption, Bouncy Castle 449
15.8 Summary 449
A J2ME development tools 451
B J2ME resources 453
C Java and J2ME history 456
C.1 Oak and the Green Project 456
C.2 Java and the Internet 457
C.3 Evolution of Java 458
Java 1.02 459 ✦ Java 1.1 459
Java 2 459 ✦ SDK 1.3 460
Java 3 coming soon? 460 ✦ Java today 460
C.4 Origins of J2ME 460
Micro-Java rebirth 461 ✦ Early access versions of J2ME 461
J2ME’s continuing evolution 462 ✦ J2ME today 463
D J2ME Wireless Toolkit 464
D.1 Downloading the Wireless Toolkit 464
D.2 Installing the J2ME Wireless Toolkit 465
D.3 Hello World project revisited 466
Starting the toolkit 466 ✦ Creating a project 467
Editing the project settings 469 ✦ Entering the Java code 470
Building a project 470 ✦ Running a project 470
Palm OS Emulator 471 ✦ Operating from the command line 472
D.4 Summary 472
index 473


Download this book click here

Another J2ME Books
Another Smart Phone Books
Another Mobile Programming Books

Saturday, April 10, 2010

Programming Java 2 Micro Edition on Symbian OS




Contents
About This Book ix
Author Biographies xiii
Author’s Acknowledgements xvii
Symbian Press Acknowledgements xix
Foreword xxi
Innovation Through Openness xxiii
Section 1: J2ME and MIDP 1
1 Introduction to J2ME 3
1.1 Configurations and Profiles 3
1.2 CLDC and MIDP 7
1.3 CDC and Personal Profile 16
1.4 J2ME on Symbian OS 21
1.5 Summary 22
2 Getting Started 23
2.1 Introduction to MIDP 23
2.2 Helloworld, Turbo Edition 46
2.3 Introduction to Tools for MIDP 54
2.4 Installing and Running a MIDlet 82
2.5 MIDP on Symbian OS Phones 89
2.6 Summary 89
3 MIDP 2.0 and the JTWI 91
3.1 Introduction to the JTWI 91
3.2 The CLDC on Symbian OS 94
3.3 MIDP 2.0 95
3.4 Optional J2ME APIs in the JTWI 155
3.5 MIDP 2.0 and Symbian OS Phones 201
3.6 Summary 202
4 Java APIs for Bluetooth Wireless Technology 205
4.1 Introduction to Bluetooth 205
4.2 Introduction to the Bluetooth APIs 206
4.3 Programming the Bluetooth APIs 208
4.4 L2CAP Protocol 224
4.5 Security 227
4.6 Java Bluetooth API and the MIDP 2.0 Security Model 229
4.7 Sample Code 230
4.8 Development Tools 241
4.9 Java Bluetooth APIs and Symbian OS 244
4.10 Summary 244
5 MIDP 2.0 Case Studies 247
5.1 Introduction 247
5.2 The Expense Application 248
5.3 The Demo Racer Game 282
5.4 The Picture Puzzle 294
Section 2: Writing Quality Code
for Smartphones 317
6 Making Java Code Portable 319
6.1 Introduction 319
6.2 Design Patterns 320
6.3 Portability Issues 326
6.4 Summary 333
7 Writing Optimized Code 335
7.1 Introduction 335
7.2 What Are We Starting With? 336
7.3 Benchmarking 336
7.4 General Guidelines for Optimization 337
7.5 Feedback and Responsiveness 338
7.6 Object Creation 338
7.7 Method Modifiers and Inlining 340
7.8 Strings 343
7.9 Using Containers 348
7.10 How Not To Do It 349
7.11 Copying an Array 351
7.12 Thoughts on Looping 352
7.13 Graphics 358
7.14 LifeTime Case Study 366
7.15 Arithmetic Operations 385
7.16 Design Patterns 386
7.17 Memory Management 388
7.18 JIT and DAC Compilers 390
7.19 Obfuscators 391
7.20 Summary 392
Section 3: The Evolution of the Wireless
Java Market 393
8 The Market, the Opportunities
and Symbian’s Plans 395
8.1 Introduction 395
8.2 The Wireless Java Market 395
8.3 Meeting Market Needs 400
8.4 Providing Advanced Services 402
8.5 Why Java? 406
8.6 Symbian and Java 409
8.7 Java and Digital Rights Management 418
8.8 The Java Verified Program 420
8.9 Beyond Advanced Consumer Services 421
8.10 Trends in Technology 421
Appendix 1: CLDC Core Libraries 423
Appendix 2: MIDP Libraries 429
Appendix 3: Using the Wireless Toolkit Tools
at the Command Line 437
Appendix 4: Developer Resources and Bibliography 439
Appendix 5: Specifications of Symbian OS Phones 445
Index 461

Download this book click here

Monday, March 8, 2010

Multi-Player MIDP Game Programming




Contents
1. Introduction...............................6
2. MIDP User Interface....................7
3. MIDP 1.0 Communication Technologies.......................8
3.1. Sharing a Phone..........................................8
3.2. HTTP......................................................8
3.3. Other Protocols..............................................9
4. MIDP 2.0 Communication Technologies...................10
4.1. HTTPS.............................................................10
4.2. TCP...............................................................10
4.3. UDP..........................................................10
4.4. Serial Cable..................................11
4.5. Infra-Red (IrDA)..........................11
5. MIDP “Optional Package” Communication Technologies..............................................12
5.1. Bluetooth....................................12
5.2. SMS..............................................12
5.3. MMS...........................................13
6. Game Server Technologies........................14
6.1. HTTP and HTTPS..................................14
6.2. TCP and UDP..................................14
6.3. SMS and MMS..............................14
7. Game Types...............................15
7.1. Multiplayer Solo-Play Games........................15
7.2. Turn-Based Games..........................15
7.2.1 Round-robin games..........................15
7.2.2 Simultaneous movement games.....................15
7.3. “Act Whenever” Games.............................16
7.4. Slow Update Games.........................16
8. Common Multiplayer Game Features............................17
8.1. Persistent User Accounts..............................17
8.2. Lobbies......................................17
8.3. High-Score Tables..............................17
8.4. Inter-Player Chat..............................17
8.5. Displaying Latency (“Ping”).........................17
8.6. Displaying Packet Use..................................18
9. References..............................................19
Appendix A. Summary of MIDP Communication Protocols..................................................21
Multi-Player

Download this book click here

J2ME and Gaming




Who is this Book For?
This book is about programming with J2ME on wireless devices with focus on
developing games. It is assumed you have some knowledge and programming
experience with J2ME and J2SE. The book does not go into detail on topics like how to
make high level GUI menu but does demonstrate what a game menu might look like.
Nor will it explain in detail how to use the Record Management System (RMS), but will
go over topics that use RMS such as high score and game settings. As well a knowledge
and experience with threading will be an asset before proceeding with game
development. However, the book will go over in detail the new game classes that are
now include in the MIDP 2.0.
The book also serves as quick reference for Java programmers who are interested in game
mobile game development. The intent of this book is to provide good introduction for
experience game developers who developed games in other languages and platforms and
now are interested in using J2ME to develop games.

Download this book click here
Related Posts with Thumbnails

Put Your Ads Here!