rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780321268631

Developing Scalable Series 40 Applications : A Guide for Java Developers

by ;
  • ISBN13:

    9780321268631

  • ISBN10:

    0321268636

  • Format: Paperback
  • Copyright: 2005-01-01
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $54.99
We're Sorry.
No Options Available at This Time.

Summary

An end-to-end solutions guide for Java programmers covering Nokia's most popular platform - Series 40.

Table of Contents

Foreword xv
Mobility Explained
2(20)
The Freedom Economy
4(7)
Mobile Advantages
5(1)
Application Areas
6(2)
The Technology Diffusion Curve
8(2)
Mobile Value Chains
10(1)
Mobile Killer Applications
11(2)
Mobile Entertainment
12(1)
Mobile Enterprise
12(1)
Developer Skill Migration
13(8)
Migration Paths
14(1)
Mobile Application Design Concerns
15(5)
Social Design Considerations
20(1)
Summary
21(1)
Introducing Nokia Developer Platforms
22(36)
Open Standard Mobile Technologies
25(2)
Nokia Developer Platform Architecture
27(12)
Series 40 Developer Platform
28(6)
Series 60 Developer Platform
34(3)
Series 80 Developer Platform
37(1)
Series 90 Developer Platform
38(1)
Other Nokia Device Series
38(1)
Pervasive Client Technologies: WAP and MMS
39(6)
Introducing WAP
39(2)
Introducing MMS
41(3)
The Thin-Client Application Paradigm
44(1)
Managed Smart-Client Technology: J2ME
45(8)
A Brief History of Java
45(1)
The J2ME Architecture
46(3)
MIDP and Its Optional Packages
49(3)
The Smart-Client Paradigm
52(1)
Tightly Integrated Smart-Client Technology: Symbian C++
53(2)
The Evolution of Symbian OS
53(1)
Symbian OS Architecture
54(1)
Get Connected
55(2)
Leading Platforms
55(1)
Developer Resources
56(1)
Business Generation
56(1)
Summary
57(1)
Getting Started
58(50)
Introducing the MIDlet
61(4)
MIDlet Life Cycle
61(2)
Accessing the AMS
63(1)
MIDlet Ul Basics
64(1)
The Photo Viewer Example: Lifecycle
65(8)
Starting and Running the MIDlet
65(4)
Exiting the MIDlet
69(3)
Automatically Start MIDlets via the Push Registry
72(1)
The Photo Viewer Example: Thread and Timer
73(5)
Why Multi-threading?
74(1)
The Timer Task
75(1)
The Timer Class
75(3)
Preparing the Tools
78(8)
Nokia Developer's Suite for J2ME
78(5)
Apache Ant
83(2)
Integrated Development Environments
85(1)
Building the Photo Viewer MIDlet
86(10)
A Step-by-Step Tutorial
86(7)
Automated Build with Ant
93(3)
Over-the-Air Provisioning
96(11)
OTA Process Overview
96(2)
The Server Setup
98(1)
The MIDlet Attributes
98(8)
Other Provisioning Options for Nokia Phones
106(1)
Summary
107(1)
MIDP User Interface
108(80)
The Design of the MIDP UI API
111(9)
The UI Models
111(1)
Architecture of the LCDUI
112(5)
A Sample Application
117(3)
The High-Level API
120(25)
Screen
120(10)
Item
130(12)
Customizing the Behavior of Items
142(3)
The Low-Level API
145(11)
Graphics
146(2)
Key-Event Model
148(4)
Canvas in Action
152(4)
Advanced MIDP UI Concepts
156(28)
Advanced Device Controls
156(2)
Command Placement
158(2)
Item Layout Management
160(4)
Transparency and Pixel-Level Image Manipulation
164(3)
The Customltem
167(4)
Use a Splash Screen
171(2)
Virtual Canvas Space
173(4)
Wrap Text on Canvas
177(3)
Background MIDlet on Series 60 Devices
180(1)
MIDP UI Designer in Nokia Developer's Suite
181(3)
Nokia UI API Extensions
184(2)
FullCanvas
184(1)
DeviceControl
184(1)
DirectUtils
185(1)
DirectGraphics
185(1)
Summary
186(2)
Developing Action Games
188(50)
Basic Game Concepts
190(5)
The Game MIDlet
191(2)
Thread for the Game Loop
193(2)
The Game API Package
195(27)
GameCanvas
195(5)
Layer
200(2)
Sprite
202(11)
TiledLayer
213(7)
LayerManager
220(2)
Improving the Fish Game
222(13)
Regulating the Animation Speed
222(3)
Multiple Game Loops
225(1)
Starfish
226(4)
Adding Manta Rays
230(5)
Additional MIDP 2.0 Enhancements
235(1)
Transparency and Pixel Arrays
235(1)
Backlight
235(1)
Summary
235(3)
Handling Application Data
238(20)
Introduction to Data Persistence
241(3)
The Volatile RAM
241(1)
Local Persistent Memory
241(1)
Remote Storage
242(1)
Photo Viewer with Comments
243(1)
Java Objects Serialization
244(3)
Communication Classes
244(2)
Serialize the Photo Attributes
246(1)
RecordStore
247(5)
Manipulate the RecordStore
247(2)
Manipulate Records
249(1)
Store ImageAttribute Data
250(1)
RecordStore Listeners
251(1)
Browsing and Searching the RecordStore
252(5)
RecordEnumeration
252(1)
RecordFilter
253(1)
RecordComparator
254(1)
Search and Sort in Photo Viewer
255(2)
Summary
257(1)
Data Connectivity
258(47)
Introduction to the Generic Connection Framework
261(8)
Connector
261(3)
HttpConnection
264(2)
HttpsConnection
266(1)
SocketConnection
266(1)
SecureConnection
267(1)
ServerSocketConnection
267(1)
CommConnection
268(1)
UDPDatagramConnection
268(1)
Networked Photo Viewer
269(9)
PhotoServlet
270(2)
PhotoViewer
272(1)
FetchWorker
273(5)
Nonblocking UI Designs
278(9)
Noninteractive Gauge
279(1)
Still-Image Transit Screen
280(2)
A More Reliable Image Transit Screen
282(2)
Animated Transit Screen
284(3)
Stateful Network Operations
287(8)
HTTP Cookies
288(1)
PhotoServlet
288(1)
SessionConnector
289(3)
FetchWorker
292(3)
The HttpClient Utility
295(6)
The Framework
295(3)
Use HttpClient and Handlers
298(3)
HTTPS and Secure Connections
301(2)
How HTTPS Works
301(1)
HttpsConnection and SecureConnection
302(1)
Securitylnfo and Certificate
302(1)
Summary
303(2)
Wireless Messaging
305(21)
Messaging in Smart Clients
306(2)
Wireless Messaging API
308(7)
TextMessage and BinaryMessage
308(1)
MessageConnection
309(1)
Sending and Receiving Messages
310(2)
Security
312(2)
Message Listener in Push Registry
314(1)
The Chat Example Application
315(8)
Run the Example
315(2)
Send Messages
317(3)
Receive Messages
320(3)
New Features in WMA 2.0
323(2)
The Connection URL String
323(1)
MultipartMessage and MessagePart
324(1)
Summary
325(1)
Multimedia
326(44)
Introduction to the MMAPI
328(10)
The Manager Class
329(5)
Player
334(3)
Control
337(1)
Simple Audio Playback
338(8)
The MidiPlayer MIDlet
339(3)
Create the Player
342(1)
Player Events
343(1)
Player Controls
344(2)
Advanced Media Playback
346(9)
Initializing Players in a Thread
348(1)
Play Back wav Audio Files
348(2)
Play Back Video Files
350(5)
Media Capture
355(13)
Capture Image
357(4)
Capture Audio
361(2)
Submit Blog Entries
363(1)
The Blog Servlet
364(4)
Summary
368(2)
The Bluetooth API
370(42)
Introduction to Bluetooth Wireless Technology
373(11)
Piconets
374(3)
Bluetooth Control Center
377(1)
Security
378(1)
The Bluetooth Protocol Stack
379(2)
Profiles
381(1)
The Inquiry Procedure
382(1)
Class of Device and Service Discovery
383(1)
Java API for Bluetooth
384(18)
Bluetooth Initialization
385(2)
Bluetooth Connections
387(4)
Device Management and Discovery
391(4)
Service Management and Discovery
395(4)
Put Them Together
399(3)
An Example Bluetooth Application
402(7)
Nokia Development Tool Support
409(2)
Summary
411(1)
End-to-End Design Patterns
412(62)
Introduction to the Trivia Game Example
415(8)
Feature Overview
415(5)
Backend Database Setup
420(3)
Overall Architecture
423(11)
Screen-Switch in Mobile Applications
423(1)
What Is the MVC Pattern?
424(1)
The View Screens
425(3)
The Controller
428(1)
The Model
429(5)
Object Management
434(16)
Static Class
434(5)
Factory Methods
439(4)
Object Pools
443(4)
Implement a Back Screen Stack
447(3)
Thread Management
450(6)
WorkerRunnable
452(1)
WorkerThread
452(1)
WaitScreen
453(1)
A Concrete Worker Thread Implementation
454(2)
Network Integration
456(17)
RPC Protocol
456(4)
Synchronization
460(6)
Web Service Gateway
466(7)
Summary
473(1)
Developing Scalable Applications
474(34)
Develop and Optimize
477(6)
Screen Characteristics
478(1)
Memory Constraints
479(1)
API Availability
480(1)
Protocol Availability
481(1)
Behavior of UI Components
482(1)
Thread Behavior
482(1)
Languages and Cultures
483(1)
Replaceable Modules
483(5)
Customized JAD Files
484(1)
Resource File Modules
484(1)
Source Code Modules
485(3)
Preprocessing and Postprocessing with Antenna
488(18)
Introducing Antenna
489(3)
Preprocessing
492(7)
Postprocessing
499(1)
Bytecode Obfuscation
500(2)
The build3.xml File
502(4)
Summary
506(2)
Debugging and Testing
508(20)
Debugging
510(9)
Basic Techniques
511(4)
On-Device Logging with MIDPLogger
515(4)
Unit Testing
519(7)
Assert
520(1)
TestCase
521(2)
TestSuite
523(2)
TestRunner
525(1)
UI Testing Guidelines
526(1)
Summary
527(1)
Multimedia Messaging Service
528(30)
Messaging Services
530(6)
MMS Benefits and Opportunities
531(1)
The MMS Infrastructure
531(2)
MMSC Access
533(1)
MMS Application Modes
533(3)
Authoring MMS Messages
536(9)
Nokia Device Characteristics for MMS
536(2)
A Quick Introduction to SMIL
538(4)
Nokia Developer's Suite for MMS
542(3)
Nokia Mobile Server Services Library
545(12)
Instantiating the Driver
546(1)
Connection Configuration
547(2)
Sending Messages
549(6)
Receiving Messages
555(2)
Summary
557(1)
Browser Applications
558(19)
Browser Applications
560(4)
The Thin-Client Paradigm
560(1)
The WAP Infrastructure
561(3)
Authoring Mobile Browser Content
564(7)
Nokia Device Browsers
564(1)
WML Versus XHTML MP
565(2)
Content Download and Upload
567(2)
Nokia Browser Developer Tools
569(2)
Advanced WAP Features
571(4)
Push
571(2)
Wireless Telephony Applications Interface (WTAI)
573(1)
Wallet
574(1)
Summary
575(2)
Index 577

Supplemental Materials

What is included with this book?

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

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

Excerpts

Foreword Foreword It started as wild idea, emerged as a standard, and grew into a phenomenon. Applications that go with you, whenever and wherever you are, and the infrastructure that lets you find them, buy them, and use them. With hundreds of millions of mobile Java-capable devices out there, the potential for developers is really amazing, and because the market is still young, there is still lots of room for innovative applications. There is still plenty of opportunity to get in on the "ground floor" of this industry and then ride the wave... to the top. Ever since we first developed the DoCoMo Java architecture that started it all, people have been asking me "what is the killer application for mobile Java?" My answer has stayed pretty much the same... it is the applicationright nowthat solves a need that a user hasright now! So what do users want? What will they pay for? How do you learn how to build it? And who do you partner with? The answers are here in this book, in readable, practical form. So what will you build? To date we have seen a tremendous growth in the availability of high quality, entertainment-focused applications for the mobile marketplace. These applications have been very successful in delivering a good experience to the user even though they have not tried to create an online- or community-based entertainment experience. Using MIDP 2.0, the next generation of applications can take advantage of the capability of the newer mobile devices to connect to both other local devices and the wider service network. This will enhance existing types of entertainment applications and facilitate the creation of new communication and community applications that are interesting for both the consumer and the business user. Who do you partner with? Nokia developer platforms offer the highest volume opportunity for mobile developers, with an installed base measured in the hundreds of millions. Series 40 Developer Platform offers the highest volume opportunity in the family, and offers a robust technical platform including secure communications, mobile media, messaging, graphics, and Bluetooth. (MIDP 2.0, JSR 120, JSR 135, JSR 82). How do you build it?Developing Scalable Series 40 Applicationsis an end-to-end solutions guide for Java programmers focusing on Nokia's Series 40 Developer Platform. It brings together two of the largest segments of the mobile marketplace, Nokia Series 40 handsets and the worldwide mobile Java developer community, and provides thorough and specific information on how to create scalable mobile applications. These applications will work on the newest Series 40 handsets (based on MIDP 2.0), serve the large installed base of MIDP 1.0 handsets, and scale up to serve owners of smartphones based on Series 60 Developer Platform, enterprise communicators based on Series 80 Developer Platform, and rich media devices based on Series 90 Developer Platform. Developing Scalable Series 40 Applicationsdetails the technical underpinnings of the Series 40 Developer Platform. It includes not only the available APIs but also coding best practices, architectural considerations, and fully tested sample applications ready for download. The book includes plenty of specific tips; for example, pointing out the choices Nokia made when implementing optional APIs. The book goes beyond presentation of methods and classes. Mobile devices serve a variety of highly specialized customer segments, and some differentiation among devices is necessary to create the high-volume opportunity developers can now tap. Additional differentiation occurs as new devices add features on top of existing feature sets. To serve the mobile mass market at a profit, the right technical approach is critical to avoid fragmenting an application's code base. This book addresses development approaches that

Rewards Program