E-Book, Englisch, 304 Seiten, Web PDF
Thompson / Kumar / Kline Bluetooth Application Programming with the Java APIs Essentials Edition
1. Auflage 2008
ISBN: 978-0-08-056100-4
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Englisch, 304 Seiten, Web PDF
ISBN: 978-0-08-056100-4
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark
Adoption of Bluetooth wireless technology has become ubiquitous in the last few years. One of the biggest steps forward is the standardization of Java APIs for Bluetooth wireless technology (JABWT). The latest updates to this standard is explained in detail in this book. The JABWT standard, defined by the JSR-82 Java Specification Request, supports rapid development of Bluetooth applications that are portable, secure, and highly-usable. Wireless device manufacturers have responded overwhelmingly to the JABWT specification by implementing JABWT applications in mobile phones and other personal wireless communications products.
'Bluetooth Application Programming Essentials: Programming with the Java APIs' explains in detail how to write Bluetooth applications using the Java APIs to exploit the power of both technologies. Written by the specification lead for JSR-82 and two other key participants in developing the standards of JABWT, this book provides the authoritative explanations and concrete examples needed to get started right away.
This book provides embedded Java developers with to-the-point information on the APIs in the specification with detailed programmatic examples of the APIs in use. A NEW chapter on the Push Registry definition (a new feature in the 1.1 version of JSR-82) has been added. Finally, the new Essentials version of the book will update the remaining chapters to reflect changes in the latest Bluetooth spec (2.1) and the industry as a whole.
As a bonus, this edition of the book offers over 200 pages of added content on the website. This 'bonus material' includes complete source code from examples in the book, the javex.bluetooth code package, the java.obex code package, an enhanced set of 'Example Applications', and a tutorial on 'Implementing JABWT on a Device.' These code-heavy sections are actually more effective in electonic format where the application can be easily downloaded.
KEY FEATURES & BENEFITS
* By focusing only on the essentials, this concise resource enables software and hardware vendors to quickly develop Bluetooth applications for mobile devices in an increasingly competitive market.
* The updated material examines crucial programming areas (including RFCOMM, OBEX, device discovery, service discovery, and L2CAP), which allows developers to not only successfully design, but master and build Java APIs for Bluetooth Wireless Technology.
* Includes a new and valuable chapter that delineates the pivotal Push Registry feature ? a recent development that will help programmers avoid the common problem of connection collision.
* By providing real-world issues and problems involved in implementing the Java APIs specification, the book allows developers to identify with the text and encourages repeated reference.
Autoren/Hrsg.
Weitere Infos & Material
1;Front Cover;1
2;Bluetooth® Application Programming With the Java™ APIs Essentials Edition;6
3;Copyright Page;7
4;Table of Contents;10
5;Preface;14
6;About the Authors;17
7;Acknowledgments;18
8;Chapter 1 Introduction;20
8.1;1.1 Wireless Connectivity;20
8.2;1.2 What Is Bluetooth Wireless Technology?;22
8.2.1;1.2.1 History of Bluetooth Wireless Technology;23
8.2.2;1.2.2 Bluetooth Vision;24
8.2.3;1.2.3 Bluetooth Specification;26
8.3;1.3 Overview of Bluetooth Stack Architecture;26
8.3.1;1.3.1 Bluetooth Protocols;28
8.3.2;1.3.2 Bluetooth Profiles;30
8.3.3;1.3.3 Bluetooth Qualification;32
8.4;1.4 What Is JAVA ME?;33
8.4.1;1.4.1 Configurations;34
8.4.2;1.4.2 Profiles;36
8.4.3;1.4.3 Optional Packages;37
8.5;1.5 Why JAVA Technology for Bluetooth Devices?;37
8.5.1;1.5.1 Java Community ProcessSM (JCP) and JSR-82;38
8.5.2;1.5.2 What about Java SE?;39
8.6;1.6 Summary;40
9;Chapter 2 An Overview of JABWT;42
9.1;2.1 Goals;42
9.1.1;2.1.1 Target Devices;43
9.1.2;2.1.2 Keeping up with the Bluetooth Profiles;43
9.1.3;2.1.3 JABWT Use Cases;45
9.2;2.2 API Characteristics and Hardware Requirements;46
9.2.1;2.2.1 JABWT Specification Characteristics;47
9.2.2;2.2.2 Java ME Device Requirements;48
9.2.3;2.2.3 Bluetooth System Requirements;48
9.3;2.3 Scope;49
9.4;2.4 Summary;53
10;Chapter 3 High-Level Architecture;54
10.1;3.1 Architecture of JABWT;54
10.1.1;3.1.1 CLDC, MIDP, and JABWT;55
10.1.2;3.1.2 Java Packages;56
10.1.3;3.1.3 Client and Server Model;57
10.1.4;3.1.4 Device Properties;60
10.2;3.2 Bluetooth Control Center;60
10.2.1;3.2.1 Conflict Resolution;62
10.2.2;3.2.2 Modifying Device Properties;62
10.2.3;3.2.3 User Interaction;62
10.2.4;3.2.4 BCC on Devices with No User Interface;63
10.3;3.3 Simple JABWT Application;63
10.3.1;3.3.1 Development Tools;63
10.3.2;3.3.2 Sample Application;64
10.4;3.4 Summary;72
11;Chapter 4 RFCOMM;74
11.1;4.1 Overview;74
11.2;4.2 API Capabilities;79
11.3;4.3 Programming with the API;81
11.3.1;4.3.1 Establishing a Server Connection;83
11.3.2;4.3.2 Establishing a Client Connection;89
11.4;4.4 Summary;100
12;Chapter 5 OBEX;104
12.1;5.1 Overview;104
12.1.1;5.1.1 Use Cases;105
12.1.2;5.1.2 Protocol Description;106
12.1.3;5.1.3 Example Session;108
12.2;5.2 API Capabilities;111
12.3;5.3 Programming with the API;114
12.3.1;5.3.1 Establishing a Connection;115
12.3.2;5.3.2 Manipulating OBEX Headers;117
12.3.3;5.3.3 Sending a Request to the Server;119
12.3.4;5.3.4 Receiving a Request from a Client;126
12.3.5;5.3.5 Using OBEX Authentication;130
12.4;5.4 Summary;135
13;Chapter 6 Device Discovery;138
13.1;6.1 Overview;138
13.2;6.2 API Capabilities;141
13.3;6.3 Programming with the API;143
13.3.1;6.3.1 Accessing the Local Device;143
13.3.2;6.3.2 Device Discovery via Inquiry;155
13.3.3;6.3.3 Retrieving Information from a Remote Device;161
13.3.4;6.3.4 Using the DeviceClass Class;165
13.4;6.4 Summary;168
14;Chapter 7 Service Discovery;170
14.1;7.1 Overview;170
14.1.1;7.1.1 Key Concepts;172
14.1.2;7.1.2 Services Defined by Bluetooth Profiles;173
14.1.3;7.1.3 Custom Services;173
14.2;7.2 API Capabilities;174
14.2.1;7.2.1 Run-before-Connect Services;174
14.2.2;7.2.2 Register a Service;176
14.2.3;7.2.3 Modifications to Service Records;188
14.2.4;7.2.4 Device Service Classes;190
14.3;7.3 Programming with the API;190
14.3.1;7.3.1 Automatic Generation of Service Records;191
14.3.2;7.3.2 Modifying a Service Record;196
14.3.3;7.3.3 Support for String Attributes in Several Languages;199
14.3.4;7.3.4 Service Records for Bluetooth Profiles;202
14.3.5;7.3.5 Service Discovery;210
14.3.6;7.3.6 Working with Service Records;221
14.3.7;7.3.7 Retrieving Additional Attributes after Service Discovery;226
14.3.8;7.3.8 Simple Device and Service Discovery;231
14.4;7.4 Summary;234
15;Chapter 8 L2CAP;236
15.1;8.1 Overview;236
15.1.1;8.1.1 L2CAP Channels and L2CAP Packets;238
15.1.2;8.1.2 Reasons for Using L2CAP;240
15.2;8.2 API Capabilities;241
15.2.1;8.2.1 JABWT for L2CAP;241
15.2.2;8.2.2 Open an L2CAP Connection;243
15.2.3;8.2.3 L2CAP Channel Configuration;245
15.2.4;8.2.4 No Flow Control in L2CAP;248
15.2.5;8.2.5 Types of Applications Using L2CAP;250
15.3;8.3 Programming with the API;251
15.3.1;8.3.1 Example: Echo L2CAP Packets;251
15.3.2;8.3.2 User Interface for MTU Values;260
15.3.3;8.3.3 L2CAP Clients and Servers Have the Same Capabilities;264
15.3.4;8.3.4 Flow Control;264
15.4;8.4 Summary;272
16;Chapter 9 Push Registry;274
16.1;9.1 Overview;274
16.2;9.2 API Capabilities;276
16.3;9.3 Programming with the API;279
16.3.1;9.3.1 Static Registration;281
16.3.2;9.3.2 Dynamic Registration;282
16.3.3;9.3.3 Retrieving the Connection;288
16.3.4;9.3.4 Lifetime of a Service Record;290
16.4;9.4 Conclusion;292
17;Chapter 10 Closing Remarks;294
18;References;298
19;Index;302