Introduction to bada: A Developer's Guide
Bada is a new platform that runs on mass market phones and enables you to build cutting-edge applications for mobile devices. As an access layer, bada has all the advantages of native coding and provides the power of multi-tasking and multi-threading. This book serves as a complete introduction to the exciting capabilities of bada and shows you how bada offers commerce and business services with server-side support. The authors walk you through the complete set of platform APIs and detail the architecture of bada. Code fragments are featured throughout the book as well as examples that utilize all of the major APIs, from sensors to maps and from phonebook to billing.
- Introduces Samsung's new platform, bada
- Explains the bada framework, its APIs, and the bada architecture
- Walks you through how bada is a logically structured mobile platform that allows you to build exciting apps for mobile devices
- Features code fragments and numerous examples that address all the major APIs
Discover how bada boasts the richest set of end-to-end service, commerce, and billing APIs with this book!
Ben Morris is a freelance author and developer, specializing in mobile software including Symbian OS and mobile widgets.
Overview of the Book.
What bada Is – and Isn't.
Just the Facts.
Part I About bada.
Chapter 1 The Mobile Difference.
1.1 The Mobile Context.
1.2 Characteristics of Mobile Software.
1.3 Mobile App Development Best-Practices.
Chapter 2 bada Basics.
2.1 Your First bada Application.
2.2 The Application UI.
2.3 UI Builder.
2.4 Hooking Up Your Forms to Your Code.
2.5 The App Icon.
2.6 Becoming Multilingual in Three Easy Steps.
2.7 From Idea to Published App.
Chapter 3 Beyond the Basics.
3.1 Expanding the Application Skeleton.
3.2 Using the UI Framework.
3.3 Using Graphics.
3.4 The BuddyFix UI Revisited.
Chapter 4 bada Fundamentals.
4.1 Architecture Overview.
4.2 bada Coding Idioms.
4.3 bada Basic Functionality.
4.4 Security and the Privilege Model in bada.
Chapter 5 Exploring bada Services.
5.1 What are the Services?
5.2 How It Works.
5.3 Services in Detail.
Chapter 6 bada Namespaces.
6.1 using Directives and Declarations.
6.2 How This Chapter Is Organised.
6.3 Namespaces in Detail.
Part II Recipes.
Group 1 Fundamentals.
Recipe 1.1: Save to and Restore from the Registry.
Recipe 1.2: Use Error Handling in bada.
Recipe 1.3: Use Two-phase Construction and Leak-free Destruction.
Recipe 1.4: Create an AppControl to Interact with a Base Application.
Recipe 1.5: Create and Use a Timer.
Recipe 1.6: Parse XML Content.
Recipe 1.7: Get Dates and Times.
Group 2 UI Basics.
Recipe 2.1: Add a Form to a Frame-based App.
Recipe 2.2: Add Soft Keys to a Form and Get Actions.
Recipe 2.3: Add an Options Menu to a Form and Get User Selections.
Recipe 2.4: Add a Simple Button Control to a Form.
Recipe 2.5: Pop Up a Message Box with Dismiss.
Recipe 2.6: Pop Up a Keypad and Get Input from It.
Recipe 2.7: Get Touch Events.
Recipe 2.8: Get Multi-touch Events.
Recipe 2.9: Create a Custom List Control.
Recipe 2.10: Implement a Form Manager.
Recipe 2.11: Get Soft Key and Hard Key Events.
Recipe 2.12: Use a Web Control.
Group 3 Extended UI and Sensors.
Recipe 3.1: Use Gesture Input and Motion UI.
Recipe 3.2: Get Device Orientation from the Magnetometer (Compass).
Recipe 3.3: Get Readings from the Tilt Sensor.
Recipe 3.4: Detect a Face from Video.
Recipe 3.5: Recognise a Face.
Group 4 Multimedia Content.
Recipe 4.1: Use Bitmaps and Images.
Recipe 4.2: Draw Graphics Primitives.
Recipe 4.3: Open the Camera and Get and Display Live Frames.
Recipe 4.4: Use an Overlay Panel.
Recipe 4.5: Record Audio from the Microphone or Audio Input Device.
Recipe 4.6: Play a Sound.
Group 5 Networking.
Recipe 5.1: Create a Network Connection.
Recipe 5.2: Use Secure Sockets.
Recipe 5.3: Establish Normal and Pipeline Connection Modes for HTTP Sessions.
Recipe 5.4: Use Bluetooth Profiles.
Recipe 5.5: Use Non-blocking and Blocking TCP and UDP Sockets.
Recipe 5.6: Set Up an Ad Hoc Wi-Fi Network.
Recipe 5.7: Query a DNS Server.
Group 6 Maps and Location.
6.1 Get Geographic Data from a Provider and Show a Map.
6.2 React to Location Changes.
Group 7 Services and Social Networking.
7.1 Create Content on the bada Server.
7.2 Use the bada SNS Gateway to Access a Social Network Service such as Facebook.
7.3 Send a Tweet from Twitter.
7.4 Upload a Photo to Facebook.
7.5 Get Notes from Facebook using RESTful APIs.
7.6 Use the BuddyService to Add a Buddy.
Part III Appendices.
Appendix A Downloading and Installing the bada SDK.
Appendix B A UML Primer.
B.1 Class Diagrams.
B.2 Sequence Diagrams.
Appendix C A Software Engineering Model for Mobile App Development.
Some Mobile Software Engineering Best-practices.
Phase 1: Feasibility and Economic Efficiency Analysis.
Stage 1.1: Requirements Engineering.
Stage 1.2: Design Drafting.
Stage 1.3: Early Prototyping.
Stage 1.4: User Acceptance Testing.
Phase 2: Software Product Realisation.
Stage 2.1: Requirements Reviewing.
Stage 2.2: Design Detailing.
Stage 2.3: Defining Test Cases.
Stage 2.4: Programming.
Stage 2.5: Testing.
Stage 2.6: User Acceptance Testing.
Phase 3: Distribution.
Stage 3.1: Marketing.
Stage 3.2: Preparing for Deployment.
Stage 3.3: Product Maintainance.