Introduction
- Release Name: bada SDK 2.0.5
- Release Date: 2012/03/14
- Release Environment: Emulator and target environment
- Release Content:
- IDE
- Application Wizard
- Resource Explorer
- UI Builder
- API Checker
- Privilege Checker
- Potential Bug Checker
- Memory Usage Checker
- Testing Tool
- UI Sequencer
- Profiler
- JavaScript Debugger
- SDK
- Header files
- Libraries
- Emulator
- Performance Analyzer
- Tool-chain
- Sample Applications
- Documents
- IDE Help Content
- Getting Started with bada
- bada C++ App Programming
- bada Flash App Programming
- bada Web App Programming
- bada Open Source License Information
System Requirements
- Microsoft Windows® XP 32-bit, Windows® Vista 32-bit, or Windows® 7 32- or 64-bit operating system
- At least dual-core 1.8 GHz CPU
- At least 2 GB of RAM memory
- At least 2.2 GB of free disk space
- Local administrator authority
- Screen resolution of the system must be greater than the resolution of the Emulator. A greater screen resolution ensures that applications using OpenGL® ES run properly on the Emulator. For example, the Emulator using the WVGA resolution works better on a computer which has a display resolution greater than 480 x 800.
- OpenGL® 1.5 supported graphics hardware for OpenGL® ES 1.1, and OpenGL® 2.1 supported graphics hardware for OpenGL® ES 2.0, with the latest version of the graphics card driver.
Known Issues
This release contains the following known issues.
IDE and SDK
- IDE
- When a breakpoint is added to the event handler methods, 'Step return' can operate incorrectly in target debugging.
- The code coverage tool does not work.
- While debugging, the program execution can sometimes continue despite a stepping command.
- SDK
- The name of the bada SDK installation directory must be in English. The directory name cannot contain space characters.
- The development environment can be unstable when running on the 64-bit version of Windows® Vista or Windows® 7.
- To debug applications on target devices with the firmware version 1.1, you need the SDK version 1.1.0. If you have multiple target devices where some use the firmware version 1.1 and others use a later firmware version, you need to have both the SDK version 1.1.0 and the latest SDK version installed on your computer. To debug on the firmware version 1.1 device, use the SDK version 1.1.0; and to debug on devices with a later firmware version, use the latest SDK.
C++ Framework
- Standard libraries
- Only some of the newlib APIs are supported; however, some of the unsupported APIs do not generate any build errors. For a list of supported newlib APIs, see Standard C Library in the API Reference.
- Osp::Ads::Controls
- In case the top-left coordinate of the Ad control is not (0,0), the Ad control clicks may not work. The Ads library can be used to avoid this issue.
- Osp::App::AppControl
- When an image is selected and dragged around in the Image viewer (launched through AppControl), the image exhibits some shaking motions when you run the application on the Emulator.
- Osp::Content
- When WhereExpr has one or more 'AND' or 'OR' operators, the ContentSearch::Search() method cannot work properly. It is recommended that you attach only one condition to the whole WhereExpr.
- Osp::Graphics
- If the user-specified color is partially or fully transparent, the color-related methods of TextElement do not work as expected.
- When the font character space is not '0', the GetTextExtent() method of the Font class does not work as expected.
- The text extent width of the bold style font of Wave3 is smaller than that of the Emulator.
- Osp::Locations
- Depending on the location, the default map service does not properly support satellite images with the zoom level 8.
- Geographical computations in bada are based on the WGS 84 ellipsoid model. However, some methods, such as Coordinates::GetAzimuthTo(), PolygonGeographicArea::ContainsCoordinates(), and PolygonGeographicArea::GetCenterPoint(), are based on the Mercator projection or spherical model.
- Osp::Media
- Some sound enhancement solutions installed on the computer, such as SRS Premium Sound, can cause sound clipping.
If you encounter choppy sound or sound clipping during the player test, check and uninstall the sound enhancement solution.
- In the Emulator environment, the 176 x 144 and 320 x 240 video displays can be corrupted in the video AppControl.
- Osp::Social
- The Addressbook::GetContactIdsN() and Addressbook::GetCategoryIdsN() methods return incomplete values. For a workaround solution, see the API Reference.
- Osp::Ui
- The OverlayRegion::SetInputBuffer() method may not work properly when its buffer is used simultaneously by the Osp::Media::Camera or Osp::Media::Player class to display direct preview or video without callback.
- The SetActionBarsTranslucent() method of the Form control does not work as expected on WQVGA devices.
- The overlay keypad does not work properly when it is opened from a Popup instance.
- When the color of the progress bar is changed, the bar turns green.
- When the text size is changed in a TextBox instance, the LINK_TYPE_URL does not display an underline.
- The items in ListView are not clickable when the item description text is shown.
- The SetLowerCaseModeEnabled(false) method of the EditField, EditArea, and SearchBar classes does not work when auto-capitalization is turned on in the settings.
- If the SWF content does not use embedded images, but loads external images from a local or network location instead, each loaded image causes a memory leak.
- The SetTextAlignment() method of the TextBox, EditField, EditArea, and ExpandableEditArea classes does not work as expected if the target device includes a bi-directional language.
- If the user-specified color is partially or fully transparent, the color-related methods of all UI controls do not work as expected on WQVGA devices.
- Osp::Uix
- Face
- The DetectBlinksFromVideoStreamN() method does not return EYE_STATE_BOTH_CLOSED even when the eyes are closed.
- Haptic
- The StopPlayingEffect() method returns VIBE_E_INVALID_ARGUMENT instead of VIBE_W_NOT_PLAYING if it is called when the IVT file is not being played.
- If previous effect ended and next effect is not started, the GetEffectState() method returns an exception, VIB_E_INVALID_ARGUMENT, instead of VIB_EFFECTSTATE_NOT_PLAYING.
- The GetDeviceState() method returns unknown state value instead of the device state, VIBE_DEVICESTATE_BUSY.
- Voice
- Text-to-Speech and Speech-to-Text will not be supported on Emulator after this version. If you call construct() to use Text-to-Speech and Speech-to-Text on Emulator, the E_SYSTEM exception will be returned with error log.
- Osp::Web
- Controls
- The WEB_BAD_URL error does not occur when the URL starts with an unsupported scheme. Instead, the Web control displays the "URL not available" error page and delivers the WEB_ERROR_UNKNOWN error to the application.
- Local video or audio file cannot be played properly using the HTML5 video/audio tag in the Web application or in the Web control of a C++ application.
- Json
- When you use the JsonWriter::Compose(const IJsonValue* value, ByteBuffer& buffer) method, a memory leak the size of the memory allocated by the ByteBuffer::Construct() method occurs.
Web Framework
- Web Framework
- The Web framework supports WVGA and HVGA only.
- The values returned for the accelerometer are 1.47 times as large as the inputs from the Event Injector on the SDK.
Resolved Issues
This release contains the following resolved issues.
IDE and SDK
- IDE
- The Stop JavaScript Debugging menu in the JavaScript Debugger does not work properly. When the user clicks this menu, the application exits.
- SDK
- If the Event Injector sends the 'USB Remove' event, the current debugging application is terminated.
C++ Framework
- Osp::Ads::Controls
- The Ad library (libOspAdsControls.so.2.0.3) has a packaging error, which means that the application packages with the Ad library cannot be run by the Test Kit or registered properly in the Samsung Apps Seller Office.
- Osp::App
- The launch condition registered with the RegisterAppLaunch() method does not fire correctly.
- Osp::Locations
- Location updates are generated even in the sleep mode.
- Osp::Social
- Editing a contact through the contact AppControl does not work properly when a contact ID and URL are used as parameters.
- The SnsAuthenticator class does not work correctly for bada applications newly registered as Facebook Applications.
- Osp::System
- The application is automatically registered in the location menu, when it subscribes to setting events.
- Osp::Ui
- If the renderer size and the size of the OverlayRegion instance do not match, a pinkish outline is shown on WQVGA devices.
- The translucent properties of the Form indicator, header, and footer do not work as expected on WQVGA UI Builder.
Web Framework
- General
- Auto-selection of the privileged API group in the config.xml file does not work properly on the bada developer site.
Change History
bada SDK 2.0.5
Documents
- IDE Help Content
- bada C++ App Programming
C++ Framework
- Osp::Graphics
- The following change is made to solve compatibility issues with bada 1.x WQVGA applications:
- The default background color of the memory canvas is changed to black.
- Osp::Ui
- The header and footer size in the WQVGA resolution is changed to have the same ratio as that in the WVGA resolution.
- The following changes are made to solve compatibility issues with bada 1.x WQVGA applications:
- The font is displayed at 95% width to match the font size for bada 1.1 WQVGA applications.
- Auto-scaling down resources is not applied for bada 1.0 WVGA applications when the auto-scaling option is set to false.
- Osp::Social
- Addressbook
- The Addressbook::SearchContactsByUserIdN() method is deprecated.
bada SDK 2.0.4
C++ Framework
- Osp::Ads::Controls
- Ad control
- The packaging error with the Ad library (libOspAdsControls.so.2.0.3) has been resolved. The application packages with the Ad library can be run by Test Kit and properly registered in the Samsung Apps Seller Office.
bada SDK 2.0.3
Documents
- IDE Help Content
- bada C++ App Programming
IDE and SDK
- IDE
- bada RSS builder
- New RSS Application template is added.
- Potential Bug Checker
- The uninitialized variables and divided by zero checks are added.
- Performance is increased with incremental analysis.
- The bug list can be annotated with a classification.
- SDK
- Platform binaries for each target device are provided on the bada developer site for proper debugging.
C++ Framework
- Osp::Ads::Controls
- Ad control
- The bada Ads library package version is upgraded to 2.0.3, where the issue of the top-left coordinate of the Ad control is resolved for bada 2.0 applications.
- Osp::Locations
- Remote location provider
- All classes and methods related to the remote location provider are deprecated.
- Remote landmark store
- All classes and methods related to the remote landmark store are deprecated.
- Osp::Net::Wifi
- Adhoc feature
- All classes and methods related to the Adhoc feature are deprecated. Instead of using this feature, use the classes related to Wi-Fi Direct™.
- Osp::Social
- Profile service
- All classes and methods related to the profile service are deprecated.
- Privacy manager
- All classes and methods related to the privacy manager are deprecated.
- Buddy service
- All classes and methods related to the buddy service are deprecated.
- Osp::Uix
- Voice
- Korean-Kr and Chinese-Cn are added.
bada SDK 2.0.2
IDE and SDK
- SDK
- The beta version of the WQVGA environment is added.
C++ Framework
- Osp::Ads::Controls
- Ad control
- The bada Ads library package is added to allow bada 1.1 and 1.2 applications to use the Ad control.
- Osp::Ui
- UI Controls
- The icon size of the Slider control has changed.
- The item sizes of the header and footer for WVGA and HVGA devices have changed.
- The default background color of the TabBar and SearchBar controls has changed.
bada SDK 2.0.1
IDE and SDK
- IDE
- The application-included '&' in string variables is packaged properly.
C++ Framework
- Standard libraries
- The try-catch statement works properly.
- Osp::Net
- Wi-Fi
- The GetHiddenMode() and SetHiddenMode() methods have been removed from the WifiDirectGroupInfo class.
bada SDK 2.0.0
Documents
- IDE Help Content
- Getting Started with bada
- Provides an overview of bada, developer environment, application developer process, and the general guides.
- bada C++ App Programming
- Includes the API reference, developer guide, tutorials on bada C++ application development, and descriptions of C++ sample applications. Slide-based tutorials are replaced with new, SDK sample-based C++ tutorials that illustrate how to use bada features.
- For detailed information about added and changed APIs, see the C++ API Change Notes.
- bada Flash App Programming
- Aims to simplify bada flash application development with a developer guide, tutorials, and a description of the flash sample application.
- bada Web App Programming
- Provides the API reference, developer guide, tutorials on bada Web application development, and descriptions of Web sample applications.
- Device-dependent Features
- Wave (HVGA) features are added and media information is updated in the existing document.
IDE and SDK
- IDE
- UI Builder
- Support for a gray scale theme is added to UI Builder.
- Support for a Map control is added to UI Builder.
- The Profiler is added.
- The Performance Analyzer is added.
- The Potential Bug Checker is added.
- JavaScript Debugger is added, providing the Element, Resources, Network, Scripts, Profiles, and Console panels.
- SDK
- The Simulator environment has been removed.
- The Emulator environment is added.
- The different language packs are replaced with a single unified version of the SDK.
C++ Framework
- Standard libraries
- Standard C++ libraries
- An essential subset of libstdc++v3 (http://gcc.gnu.org/libstdc++/), comprising a full set of standard C++ functions specified in the C++ ANSI ISO 14882 2003 standard. The entire Standard Template Library is supported.
- pthread
- A part of the pthread API is added.
- Osp::Ads::Controls
- Advertisement
- Functionality for publishing advertisements in an application is added.
- Osp::App
- AppControl
- All the AppControl IDs and operation IDs are deprecated and replaced by newer ones.
- Additional categories are added in AppControl.
- Enhanced AppControl resolution with URI scheme and MIME type is added.
- Support for exporting AppControl functionality from your application is added.
- Detail view operation for to do in calendar AppControl is added.
- Detail view operation for contact in contact AppControl is added.
- Settings AppControl is extended to provide USB, TV out, theme, font size, font type, and Bluetooth visibility settings.
- Certificate manager AppControl is added.
- Application management
- Multitasking in applications is supported.
- Periodic launch condition for Conditional AppLaunch is added.
- NFC condition for Conditional AppLaunch is added.
- The privilege for the conditional application launch is changed from the SYSTEM privilege level and APP_SERVICE privilege group to the NORMAL privilege level and APP_OPERATION privilege group.
- Notification
- On-going notification support is added.
- Osp::Base
- Utility
- URL encoding and decoding functionalities are added.
- FileZipper and FileUnzipper are added to provide a simple and efficient file-based access to a zip archive.
- Regular expression functionality is added to provide PCRE-based regular expression operations.
- Osp::Commerce::Store
- Operator billing payment method is added. This payment method is available to French carrier SFR and German carrier O2.
- Osp::Content
- Methods for communicating with the bada Server are deprecated due to the operation of the bada Server. Alternative methods are be provided in the future.
- Osp::Io
- Secure methods for encrypting files, databases, and registries are added.
- Support for inter-application communication is added.
- Osp::Locations
- LocationProvider
- A method is added for checking whether a given location method is supported.
- LandmarkStore
- Case-insensitive partial matching for landmarks is added to the LandmarkStore and RemoteLandmarkStore classes.
- RemoteLocationProvider
- Support for distance-based location reporting is added.
- Location service provider
- The deCarta® service provider is deprecated, and the default service provider is added.
- Controls
- Map rotation is supported.
- Map service
- All classes and methods related to map service are deprecated.
- Setting
- Per-application location setting is supported in the Settings > Location menu.
- For privacy's sake, some methods are blocked when location setting is disabled.
- Osp::Media
- Support for HTTP Live Streaming is added.
- Support for tone player is added.
- Support for getting stream information in the player is added.
- Support for OpenAL is added.
- The Media::Image class no longer supports the functionality to decode DRM-protected images. This functionality has now been added to the image AppControl.
- ImageUtil is added, providing image rotation, resizing, flipping, and pixel format conversion.
- Codec classes are added.
- Osp::Messaging
- Support for receiving SMS messages is added. If the application adds ISmsMessageEventListener, it can receive incoming SMS messages in real time.
- Support for searching SMS messages is added. An application can search SMS messages using a specified keyword in the SMS Inbox, Sentbox, Outbox, or all message boxes.
- Support for receiving push messages is added. An application server can send push messages to an application if the application is registered for receiving push messages.
- Support for attaching a vCard and a vCalendar to the MMS messages to be sent is added.
- Osp::Net
- Account Management
- Support for USB (NDIS mode) account is added.
- Bluetooth
- Methods for discovering Bluetooth devices in proximity are added to the BluetoothManager class and the IBluetoothDeviceEventListener interface.
- Methods for retrieving the service list from a remote Bluetooth device are added to the BluetoothManager class and the IBluetoothDeviceEventListener interface.
- A method for setting the local Bluetooth device name is added to the BluetoothManager class.
- The paired device list in BluetoothManager is automatically refreshed instead of requiring the RefreshPairedList() method to be invoked by the application.
- The events which notify pairing and unpairing with remote devices are provided by the IBluetoothDeviceEventListener interface.
- HTTP
- HTTP auto-redirection functionalities are added. If the application enables this feature, the platform handles 3XX response automatically.
- Support for multipart/form-data is added.
- Wi-Fi
- Wi-Fi Direct™ functionalities manage the local Wi-Fi Direct™ device, create a Wi-Fi Direct™ group, scan Wi-Fi Direct™ devices, associate to a Wi-Fi Direct™ group owner, and configure related information.
- NFC
- Read/write mode functionality is added.
- NFC Conditional App Launch functionality is added.
- DHCP client information
- Methods for getting information from the local DHCP server are added.
- Network information
- Methods for managed network connection information and events are added.
- Osp::Security
- Crypto
- RC2, RC4, RC5, SkipJack, and Cast algorithms are added.
- DH and KEA key exchange algorithms are added.
- Cert
- The ICertificatePathValidationParameter interface and X509CertificatePathValidationParameter class are deprecated.
- Osp::Social
- Addressbook
- The maximum length of a phone number is changed from 51 to 50 digits.
- The maximum lengths of a category name and a country name are changed from 20 to 100 characters.
- The last revision field is added to contact, and the SearchContactsByLastRevisionN() method is added to Addressbook.
- Calendarbook
- The last revision field is added to event and to-do.
- The SearchEventsByLastRevisionN(), SearchTodosByLastRevisionN(), GetEventIdsN(), and GetTodoIdsN() methods are added to Calendarbook.
- Lifelog
- Lifelog APIs are removed due to legal issues.
- MessagingService
- All classes and methods related to MessagingService are deprecated.
- ProfileService
- Functionality for searching custom profiles is added.
- Methods for updating profiles (except for custom profile) are deprecated and no longer supported.
- PrivacyManager
- Methods for setting and getting the profile exposure level of the custom profile are added.
- Methods for setting and getting the profile exposure level of the user's other profiles are deprecated and no longer supported.
- SnsGateway
- Authentication with extended permissions is added to SnsAuthenticator.
- All classes and methods related to SnsGateway (except for SnsAuthenticator) are deprecated.
- Osp::System
- SystemInfo
- The WAC version, overlay feature, Wi-Fi Direct™, maximum volume feature, and NFC are added.
- SettingInfo
- An event listener for setting changes is added.
- The volume (system, ringtone, notification, and media), font, ringtone, theme, time format, and wallpaper are added.
- Battery
- The battery level as percentage is added.
- PowerManager
- An event listener for battery level changes at 5% resolution is added.
- Osp::Telephony
- Telephony Information
- The events which notify call change status are added.
- The Telephony::CallStatus enumerator is extended to include Undefined, Idle, Communicating, Ringing, and Dialing.
- Osp::Text
- Text Encoding and Decoding
- ISO-8859-5 ~ ISO-8859-16 (except ISO-8859-12), Windows-1250 ~ Windows-1253, and Windows-1257 are added.
- Osp::Ui
- The current default color scheme is black.
- Auto-scaling between WVGA and WQVGA is no longer supported and has been replaced with a multi-screen support mechanism.
- Layout
- Positioning and sizing UI controls using a layout system are now supported and the GridLayout, HorizontalBoxLayout, RelativeLayout, and VerticalBoxLayout classes are added.
- Animations
- Key frame-based, asynchronous animation of UI controls has been introduced.
- UI Controls
- The look of UI controls has been refreshed.
- New controls have been introduced, including Footer, Header, TabBar, Gallery, SearchBar, TextBox, ListView, GroupedListView, and IconListView.
- The IScrollEventListener interface has been introduced.
- The IFormBackEventListener interface has been introduced to handle Footer back button events.
- Some controls are deprecated, including List, CustomList, ExpandableList, GroupedList, SlidableList, SlidableGroupedList, and OverlayPanel.
- The application can set the child controls of Panel, ScrollPanel, and Popup to the top or bottom of a drawing stack.
- The application can consume an input event (such as a Side Up or Down key press or touch event) before it is handed over to a UI control or platform for default processing.
- The application can set the minimum and maximum sizes of a UI control.
- New methods have been added to the Form class to enable the application to obtain its OverlayRegion and manipulate Header and Footer's visibility and transparency.
- New methods are added to EditField and EditArea.
- The application can modify the color of Progress and Slider bars.
- Osp::Uix
- Voice
- Text-to-Speech (TTS) and Speech-to-Text (STT) are added as new features.
- The available languages in this SDK version are English-US, English-UK, French-France, Italian-Italy, German-Germany, and Spanish-Spain.
- Face
- Facial expression recognition feature is added.
- Blink detection feature is added.
- Atomic face APIs are added to enable users to design a faster and combined face application.
- Sensor
- The sensor supports wake-up from sleep mode.
- Osp::Web
- Webkit is upgraded to revision 78528.
- The Web UI event listener (IWebUiEventListener) is added to notify an application that the layout of a page has been changed.
- The Web::SetScrollEnabled() and Web::IsScrollEnabled() methods are added to enable or to disable scrolling in a page.
- The Web::IsPrivateBrowsingEnabled() and Web::SetPrivateBrowsingEnabled() methods are added to support private browsing.
- The Web::ClearCache(), Web::ClearCookie(), Web::IsCookieEnabled(), and Web::SetCookieEnabled() methods are added.
- The Web keypad event listener (IWebKeypadEventListener) is added to notify an application that the overlay keypad is about to be shown on the screen and the client area of the current Form is resized.
- The WebSetting::SetInputStyle() and the WebSetting::GetInputStyle() methods are added to enable overlay keypad for <input> or <textarea> tags.
- JSON parser and JSON writer are provided.
- Osp::Xml
- HTML parser and XML reader are enabled.
Web Framework
- Osp.App
- Web application life-cycle management and application name, state, and version query features are added.
- AppResources for localized string support is added.
- AppControl for interaction with bada application controls is added.
- Osp.Core
- Core utilities, such as Ajax, ArrayHelper, HTMLHelper, StringHelper, DOM, and object-oriented JS support, such as Check, Class, Function, Mixin, and Objects, are provided.
- Osp.Locales
- Getting the current locale, available locales, and currency data is added.
- Formatters for currency, datetime, and number conversions are added.
- Osp.Ui
- TouchWiz for bada 2.0 UI controls is added for creation of bada Web applications.
- Layout manager is provided for creation of resolution-independent Web applications.
- WAC
- WAC 2.0 device APIs are provided supporting accelerometer, device status and interaction, orientation, file system, and interaction with contact, calendar, task, messaging, and camera.
bada SDK 1.2.0
Documents
- API Reference
- Detailed information about added and changed APIs can be checked here.
- Device-dependent Features
- Wave II and Wave 575 information is added.
- Developing Applications for Different Devices
- This document describes how the differences between device models (mainly in the screen resolution and color depth) have an effect on your application, and what you need to do to enable one application to support multiple device models.
- Creating Flash Applications
- This document describes how you can create interactive flash applications with the bada SDK.
IDE and SDK
- IDE
- The UI Sequencer tool is added.
- UI Builder
- Support for a Web control is added to UI Builder.
C++ Framework
- Osp::App
- AppControl
- Settings AppControl is added. It only supports managing the location settings.
- The application can be launched with a specific condition.
- The Samsung Apps client (SamsungApps) can be launched through the URI scheme (samsungapps://) from the browser or Web control.
- Osp::Base
- Utility
- Base64 encoding and decoding functionalities are added in the Utility::StringUtil class.
- Osp::Commerce::Store
- Cybercash and prepaid card payment methods are added. These payment methods are currently available only in China.
- If an item is free, the purchase service sends a purchase request directly to Samsung Apps without a payment pop-up.
- Osp::Graphics
- The glGetProcAddress() and glPointSizePointerOES() methods of OpenGL are supported.
- OpenGL ES extension features are fully supported. For more information, see the bada Developer Guide.
- Osp::Locations
- Distance-based location updates are supported.
- Osp::Io
- The SerialPort class is added, supporting the conditional application launch feature.
- Osp::Net
- The method which sets the EAP method information and the enum which represents the EAP method types are added to the WifiSecurityInfo class and Wifi types respectively.
- Osp::Social
- Buddy Service
- Searching for all buddies who have signed up for an application is supported.
- Calendarbook
- Searching events by using a local time range and time zone is supported.
- SNS Gateway
- Publishing a post on Facebook Wall is supported.
- Osp::Ui
- Controls
- Form and Panel can be captured as a bitmap.
bada SDK 1.1.0
Documents
- API Reference
- Detailed information about added and changed APIs can be checked here.
- 3rd party library information on the standard C libraries is added in the bada API Reference.
- Device-dependent Features
- This is a new document in the bada SDK that describes the differences between the features for Wave and other device models.
- Application Migration Guide from bada 1.0.0 to 1.1.0
- This is a new document in the bada SDK that describes the process of moving projects created in bada SDK 1.0.0 to the new SDK version. It also describes the changed functionality that you need to take into account in your migrated projects.
C++ Framework
- Osp::App
- AppControl
- Support for a new event view type is added in the VIEW operation of the calendar AppControl.
- AppResource
- The GetBitmapN() method is added to get an optimal bitmap resource according to the screen resolution.
- The AppManager::LaunchApplication() method with the SYSTEM privilege level and the APP_SERVICE privilege group is added.
- Osp::Base
- Utility
- The Inflator and Deflator classes are added to provide compression and decompression functionalities using the zlib library.
- Osp::Content
- ContentManagerUtil
- The GetContentType() method is deprecated and replaced by the CheckContentType() method.
- Metadata extraction functionality of the 'wav' audio file format is added to the GetAudioMetaN() method.
- Osp::Locations
- Locations
- For some server-related methods in RemoteLocationProvider and RemoteLandmarkStore, the API Reference used to state that E_CONNECTION_FAILED exception is thrown. The descriptions are fixed and now define that E_NETWORK_FAILED is thrown.
- Controls
- MapOverlayPolygon, MapOverlayPolyline, and MapOverlayRectangle are drawn iteratively if the width of the Map control is greater than the width of the global map image.
- In the Simulator and devices supporting the API version 1.0 only, MapOverlayRectangle may not be displayed if the width of the Map control is greater than the width of the global map image. In the Simulator and devices supporting the API version 1.1 or later, this issue is fixed and MapOverlayRectangle is drawn iteratively.
- Osp::Media
- HTTP streaming is supported, except for HTTP Live Streaming.
- The MediaCapability class is added.
- The decode methods which return decoded data into a buffer are added to the Image class.
- The supported maximum ISO level of the camera is changed from 1600 to 800.
- Osp::Net
- In case the device moves into the range of a Wi-Fi hot spot and connects when an application is using the default 3G network connection, the 3G connection is automatically changed to Wi-Fi.
- Osp::Social
- SNS Gateway
- The SnsAuthResult instance is stored in the application folder when the SnsGateway::AddAuthResult() method is called. When the application is launched again, the existing session is resumed automatically using the stored authentication information.
- The UI of authentication process that is performed by calling the SnsAuthenticator::Authenticate() method is changed.
- Osp::System
- SettingInfo
- FlightMode indicates whether the phone is in flight mode or not.
- DeviceManager
- The DeviceManager class manages the device state listener and gets the current connection state of device accessories, such as Bluetooth headset, TV-out, and headphones.
- Osp::Test
- Osp::Test namespace is added and integrated with the bada IDE to support easy testing of the application code.
- Osp::Ui
- Ui
- Auto-scaling UI components according to the screen resolution is supported. The configuration information is stored in the application.xml file.
- Controls
- The system-recommended foreground and background colors are defined in the Osp::Ui::Controls namespace.
- New methods to adjust the background color property of the List controls (List, IconList, CustomList, ExpandableList, GroupedList, SlidableList, and SlidableGroupedList) are added.
- New methods to change how UI controls are composited to a parent container are added.
- Osp::Web
- A UI for selecting a client certificate is provided for accessing secure Web sites.
Features
IDE and SDK
- IDE
- Application Wizard
- Creates application templates.
- Resource Explorer
- Shows the resources included in a project.
- UI Builder
- Helps to design the UI for bada applications.
- Provides code generation of common event handlers.
- API Checker
- Checks the application source code for any violation of APIs.
- Privilege Checker
- Verifies the application privileges with a manifest file.
- Potential Bug Checker
- Detects potential bugs in applications.
- Memory Usage Checker
- Verifies memory leaks and incorrect usage.
- Shows the peak and average size of memory usage.
- Testing Tool
- Performs unit-level testing of applications.
- UI Sequencer
- Records user events made while running the application, and captures the screens displayed in response to user events.
- Tests the application UI by comparing the originally captured screens to the current screens displayed while replaying the recorded user events.
- Profiler
- Provides profiling of method call counts and execution times for bada applications on the target device.
- Performance Analyzer
- Monitors and analyzes the performance of applications.
- JavaScript Debugger
- Provides a DOM and JavaScript debugging tool.
- Provides data load time profiling and shows resources loaded for a page.
- Shows log and error messages from JavaScript.
- SDK
- Header files
- Provide the header files for bada.
- Libraries
- Provide the binaries for bada and 3rd party libraries.
- Provide the full set of the Standard Template Library and an essential subset of newlib.
- Tool-chain
- Provides a compiler, a debugger, and standard libraries.
- Emulator
- Provides an environment for handset emulation.
- Provides the Event Injector.
C++ Framework
- Standard libraries
- Standard C libraries
- Provides newlib, except for system-dependent functions.
- Provides an elementary set of pthread.
- Standard C++ libraries
- Supports an essential subset of libstdc++v3 (http://gcc.gnu.org/libstdc++/), comprising the entire Standard Template Library and a full set of standard C++ functions specified in the C++ ANSI ISO 14882 2003 standard.
- Osp::Ads::Controls
- Ad Control
- Publishes advertisements in an application.
- Osp::App
- Application Management
- Provides multitasking between bada applications.
- Provides application classes that serve as the base of a bada application.
- Sends notifications to users, allowing users to launch associated bada applications.
- Provides functionality to launch an application conditionally.
- Handles file association and URI scheme for AppControl.
- Application Controls
- Manages application control behavior.
- Supports application controls, such as contact, calendar, and media.
- Notification
- Supports on-going notification.
- Osp::Base
- Base
- Provides basic functionality with classes that encapsulate primitive types (data types and arrays) and interfaces that are abstract classes.
- Collection
- Defines data structures, such as lists, queues, stacks, arrays, and maps.
- Provides both object-based classes and template-based classes.
- Runtime
- Provides runtime information and an event model.
- Provides an environment for seamless execution of applications developed using the bada platform.
- Utility
- Provides various utility classes.
- Osp::Commerce::Store
- Item Service
- Queries item information from Samsung Apps.
- Purchase Service
- Sends an item purchase request to Samsung Apps.
- Queries purchase information from Samsung Apps.
- Osp::Content
- Content Management
- Manages content and content information on the device.
- Extracts content metadata.
- Content Search
- Searches by keyword or with SQL-like queries.
- Content Transfer
- Supports HTTP downloads from general Web servers.
- Supports multiple content downloads.
- Osp::Graphics
- 2D Graphics
- Provides platform-independent 2D graphics.
- Provides graphics rendering functions and data structures.
- 3D Graphics
- Supports OpenGL® ES 1.1 and 2.0, which are subsets of the OpenGL® 3D graphics API designed for embedded devices, such as mobile phones, PDAs, and video game consoles.
- Osp::Io
- File and Directory
- Provides synchronous file read and write operations.
- Provides operations related to directory creation, deletion, and navigation.
- Provides access control for folder paths, restricting access to system folders from applications.
- Provides encryption and decryption features to ensure the security of data.
- Registry
- Provides a registry for storing and retrieving key-value pairs in order to facilitate data or state persistence across application starts.
- Provides encryption and decryption features to ensure the security of registry files.
- Database
- Provides database features, such as creation, deletion, and SQL statement execution.
- Provides encryption and decryption features to ensure the security of database files.
- Osp::Locales
- Locale Information
- Manages the locale information that is specified by the combination of language and country codes (defined by ISO) if that locale information is available in the system registry format.
- Calendar Data
- Converts between DateTime and calendar fields, such as Year, Month, and Date using the Gregorian calendar, which is used by most of the world.
- Manages time zone information with DST (Daylight Saving Time).
- Formatting Number and DateTime Data
- Supports formatting numbers, currencies, and DateTime data.
- Osp::Locations
- Location Provider
- Supports location method selection.
- Provides periodic and distance-based location updates.
- Supports zone services based on geographic areas, which can have the shape of a rectangle, circle, or polygon.
- Landmark Store
- Manages landmarks on a local device.
- Geocoding Service
- Provides geocoding and reverse geocoding.
- Directory Service
- Searches POIs (Points of Interest) on the map.
- Route Service
- Provides a route geometry, instructions, and a summary.
- Map Control
- Provides various map operations, such as zooming, panning, resizing, and rotation.
- Handles overlays and information windows.
- Provides event notifications.
- Moves the center of the map to the user's location and displays it.
- Osp::Media
- AudioIn
- Provides a mechanism for recording raw, uncompressed PCM data from the input device.
- AudioOut
- Provides a mechanism for playing PCM data.
- Camera
- Controls camera devices.
- Provides controls, such as contrast, effects, ISO, white balance, zoom, flash, and focus.
- Captures still images to JPEG format.
- The supported resolutions and formats are predefined for each device.
- Previews live images.
- RGB and YUV formats are supported.
- The supported resolutions and formats are predefined for each device.
- During capture, preview, and recording, the primary camera operates in landscape mode and the secondary camera
in portrait mode.
- Image
- Decodes and encodes images.
- Decodes images with a remote URL.
- Converts image formats.
- Compresses JPEG images into smaller JPEG files.
- Converts pixel format, resizes, rotates, and flips images.
- Player
- Plays audio and video content in the device.
- Provides playback controls.
- Supports multiple audio source playback (sound mixing).
- Supports streaming over RTSP.
- Supports HTTP streaming and HTTP Live Streaming.
- Supports getting stream information.
- Recorder
- Encodes video and audio data into compressed media formats.
- DRM Manager
- Gets content information from DRM-protected files, such as the mime type, title, description, author, and copyright.
- OpenAL
- Plays 3D sound with supporting OpenAL and ALUT features.
- TonePlayer
- Supports playback of dual tone.
- Audio encoder and decoder
- Encodes and decodes audio data.
- Video encoder and decoder
- Encodes and decodes video streams.
- Image utility
- Converts the pixel format of an image.
- Flips, resizes, and rotates an image.
- Osp::Messaging
- Message Management
- Creates, sends, and receives SMS messages.
- Searches SMS messages in the Inbox, Sentbox, Outbox, or all message boxes.
- Creates and sends MMS and email messages with attachments.
- Receives push messages.
- Osp::Net
- Account Management
- Supports information about packet-switched Wi-Fi and USB accounts.
- Manages network accounts.
- Selects the preferred connection.
- Connection Management
- Provides a custom connection management service API.
- Address Utility
- Provides an Internet Protocol (IP) address that represents a network resource or service.
- Supports IPv4 only.
- DNS Utility
- Retrieves information about a specific host from the Internet Domain Name System (DNS).
- Socket
- Provides BSD-like socket functionality.
- Provides secure sockets.
- HTTP
- Provides most HTTP 1.1 client features, including pipelining, chunking, and connection management.
- Provides HTTPS (TLS1.0 and SSL3.0).
- Provides HTTP auto-redirection and multipart uploader.
- Wi-Fi
- Wi-Fi features are only supported on the target device, not on the Emulator.
- Provides functionality for managing the local Wi-Fi device.
- Provides functionality for using ad-hoc networks.
- Provides functionality for using Wi-Fi Direct™ networks.
- Bluetooth
- Bluetooth features are only supported on the target device, not on the Emulator.
- Provides functionality for configuring the local Bluetooth device and for handling remote Bluetooth devices.
- Supports the Bluetooth OPP (Object Push Profile) and SPP (Serial Port Profile) services.
- Supports device discovery and service discovery.
- NFC
- Provides functionality for Read/Write mode.
- Osp::Security
- Crypto
- Implements cryptography algorithms that facilitate adding security features to applications.
- Supports crypto algorithms, such as Hash, HMAC, symmetric cipher (AES, DES, 3DES, RC2, RC4, RC5, SkipJack, and Cast), and asymmetric cipher (RSA).
- Supports key exchange algorithms (DH and KEA).
- Certificate Management
- Supports X.509 certificates.
- Supports X.509 certificate chain validation from an "entity" certificate to a trusted CA certificate.
- Key Management
- Supports secret keys to encrypt or decrypt messages.
- Supports public keys and private keys to offer authentication and Public Key Infrastructure.
- Pseudo Random Number Generation
- Osp::Social
- Addressbook
- Supports CRUD for the device's contact database.
- Records change notifications.
- Searches contacts based on the last revision.
- Calendarbook
- Manages the calendar database (Event and Todo).
- Records change notifications.
- Searches events and to-dos based on the last revision.
- SNS Authenticator
- Provides a unified interface for application authentication.
- Supports Twitter, Facebook, and MySpace.
- Osp::System
- System-related Information
- Gets system information, such as the platform version, phone number, and screen width.
- Gets the system time and battery information.
- Gets runtime information, such as the available storage size.
- Device Control
- Controls alarms, vibration, and the screen power management policy.
- Osp::Telephony
- Telephony Information
- Gets information on the current call type, status, and event.
- Gets information on the current network, such as the cell ID, LAC, and PLMN.
- Gets information on the current network status, such as the availability of call and data services and roaming.
- Gets information on the inserted SIM card.
- Osp::Test
- Test Framework
- Provides an essential set of testing primitives, such as classes for a test case, test suite, and test fixture.
- Supports creating test projects and cases, conducting test runs, and getting test results.
- Osp::Text
- Text Encoding and Decoding
- Encodes Unicode characters in various character sets, including 7-bit ASCII, GSM, ISO Latin-1, UTF-8, KSC5601, ISO-8859-1 to 16 (except ISO-8859-12), Windows-874, Windows-1250 to 1258, BIG5, and GB2312.
- Decodes characters in the above-mentioned character sets to Unicode characters.
- Osp::Ui
- UI Container
- Provides containers, such as forms, panels, and windows, which can be used to contain different UI components.
- UI Window
- Provides windows, such as the frame, pop-ups, and message boxes, which can be used to support layered display surfaces for UI components.
- UI Controls
- Provides TouchWiz for bada 2.0 UI components for user interaction, including animations, buttons, context menus, slider bars, edit fields, and flash.
- Provides various forms of lists in a Model-View model using ListView, GroupedListView, and IconListView classes.
- Multipoint Touch
- Supports multipoint touch events.
- Multi-screen
- Supports WVGA and HVGA application development and migration with utilities, such as layout manager, concept of logical pixel unit, and automatic resource selection mechanisms.
- Animation
- Enables features, such as Form or Panel transition effects.
- Supports key frame-based, asynchronous animation of UI controls.
- Osp::Uix
- Face
- Detects faces and finds their positions in a camera preview or still image.
- Compares and matches 2 faces for recognition or identification purposes.
- Recognizes facial expressions for a given face.
- Detects the eye state for a given face.
- Haptic
- Generates different kinds of vibration effects.
- Motion
- Receives notifications for complex and abstract patterns of movement on the device.
- Sensor Management
- Accesses sensors on the device, such as acceleration, proximity, magnetic, and tilt sensors.
- Supports wake-up from sleep mode.
- Touch Effect
- Provides key clicks and haptic feedback according to the current system settings.
- Voice
- Text-to-Speech (TTS) synthesizes speech sound from text input.
- Supports pause and resume for TTS result playback.
- Speech-to-Text (STT) recognizes user voice input and converts it to text.
- Weather Service
- Provides current weather information and a weather forecast for the next 6 or 7 days.
- Osp::Web
- HTML5
- Supports rich content via HTML5 audio and video.
- Hybrid Programming
- Evaluates JavaScript for C++ to JavaScript binding.
- Supports callback bridge for JavaScript to C++ binding.
- Page Navigation List
- Provides a list of visited pages from a Web control instance.
- Settings
- Enable JavaScript, plugins, setting the font size, cache mode, and encoding type.
- Web Browsing
- Loads a page from the network or local storage.
- Web History
- Provides a list of visited pages from the browser.
- Cookie and Cache Control
- Provides private browsing control.
- Clears cache and cookies.
- JSON
- Provides JSON parser and JSON writer.
- Osp::Xml
- XML
- Manipulates XML documents through a subset of the libXml2 library.
- Provides HTML parser and XML reader.
Web Framework
- Osp.App
- Provides Web application life-cycle management and application name, state, and version query features.
- Provides AppResources for localized resource support.
- Provides AppControl for interaction with bada application controls.
- Osp.Core
- Provides core utilities, such as Ajax, ArrayHelper, HTMLHelper, StringHelper, and DOM.
- Provides object-oriented JS support, such as Check, Class, Function, Mixin, and Objects.
- Osp.Locales
- Provides features for formatting locale-sensitive information, such as numbers, dates, time, and currency.
- Provides information about the currently set locale and all the available locales in the device.
- Osp.Ui
- Controls
- Provides TouchWiz for bada 2.0 UI controls, such as Button, Form, Frame, EditArea, EditField, List, Popup, MessageBox, Footer, Header, CheckButton, Label, Progress, Panel, and ScrollPanel.
- Layout
- Supports relative, grid, and horizontal and vertical box layouts for resolution-independent application development.
- WAC
- Provides WAC 2.0 device APIs, supporting accelerometer, device status and interaction, orientation, file system, and interaction with contact, calendar, task, messaging, and camera.