bada apps migrate to Tizen

Samsung has hinted early on that bada will burst into Tizen or could run bada apps later times on Tizen devices. But how this works concretely, we know only since Samsung bada Apps Migration Tool has published.

It has been found that unfortunately you can not just install and run as existing bada apps under Tizen.

In some cases, but you have to API calls to modify something, for example if Samsung has the parameter types are not taken exactly as it was under bada the case. If you have the UI controls for displaying Flash or cards used, one is faced with a bigger problem. These functions have partly not (yet) again in Tizen (as Tizen SDK 2.1b) Samsung integrated.

To make your bada apps for Tizen fit, you need first the Penalty SDK. Pay attention when installing that you installed the migration tool the same. A detailed guidance can be found her here. Then you can import the SDK with the following menu point your bada app:

File → Import → Tizen → Import bada project

During the import you will be asked if you want to make your app a pure Tizen Native app or an app with Osp compatibility mode.

As for bada apps you will need a manifest file (manifest.xml), in which the entire metadata (for example, required privileges or minimum hardware requirements) of the app are summarized. Under Tizen SDK 2.1b can not be started in the emulator without an app manifest file. Since you can currently create developer.tizen.org no such file, I have resorted to me, as I have the manifest file of a Tizen sample app that can create using the SDK used and modified for my app.

As mentioned above will now stay may still be changes to the code to do. The greatest part is the small things such as the following misspellings in the original bada API:

Osp::Base::Utility::StringTokenizer st2(token);
st2.SetDelimeters("~");

Samsung bada API for the word 'delimiter’ misspelled, and this is then corrected for the Tizen API:

Penalty::Base::Utility::StringTokenizer st2(token);
st2.SetDelimiters("~");

This correction is performed by the migration tool does not automatically and must be done manually after import. The IDE displays such error, but after a build-test on, so it should not take long to find all the bodies concerned.

Another error you might expect, if you used, for example, the following interface:

Osp::Net::Http::IHttpTransactionEventListener

At first glance, things have not changed much, but if your trying objects that implement this interface to insert into an ArrayList, you will get error messages under certain circumstances. The reason for opening up with a closer look at documentation of ArrayList and the event listener. In the bada API this listener was a descendant of Osp :: Base :: Runtime :: IEventListener and Osp::Base::Object. In the Tizen API he is second only to Tizen::Base::Runtime::IEventListener derived. The ArrayList but only accepts objects of Tizen::Base::Object are derived, so you have to manually add this derivative. It is not excluded that such changes have been made in other classes or interfaces.

A little more work one has when accessing the various sensors and the GPS data of your smartphone. For example, the well-known from bada Osp::Uix::SensorManager and all associated classes and enums are now in Tizen::Uix::Sensors, And from Osp::Locations::QualifiedCoordinates was Tizen::Locations::Coordinates .

Apart from such trifles, I had no problems so far with the conversion of my bada apps. Further corrections to be carried out manually are listed in the manuals for the migration tool, so I will not go into further here on every single one. If you notice during the conversion problems that can not be solved with the help of the manual, it writes to the comments on this post, I will try to help with the solution.

Although the migration tool does not yet perfect, but it does make even a large part of the porting work and perhaps improves Samsung yes even a little.

Leave a Reply