Creating Hello World Application for Tizen: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
== Assumptions ==
== Assumptions ==


* prepared development environment according to "build howto":http://wiki.qt.io/Build-Qt-for-Tizen  
* prepared development environment according to "build howto":http://wiki.qt.io/Build-Qt-for-Tizen  
* basic knowledge about "Tizen tpk structure":https://developer.tizen.org/help/index.jsp?topic=/org.tizen.native.appprogramming/html/app_dev_process/packaging_app.htm  
* basic knowledge about "Tizen tpk structure":https://developer.tizen.org/help/index.jsp?topic=/org.tizen.native.appprogramming/html/app_dev_process/packaging_app.htm  


== Steps ==
== Steps ==


# See hello world example from &quot;qtquickcontrols-tizen&amp;quot;:https://qt.gitorious.org/qt/qtquickcontrols-tizen wip/tizen branch<br /><code>git clone <s>b wip/tizen https://git.gitorious.org/qt/qtquickcontrols-tizen.git<code><br /># Create your own application as you would develop for desktop<br /># Create tizen subdirectory and copy there manifest.xml file from helloworld example in qtquickcontrols-tizen repository.<br /># Also copy ''shared'' folder from helloworld example in qtquickcontrols-tizen repository. It contains default application icon. Path to this icon is already set in manifest.xml.<br /># Choose application name and new Application ID from manifest editor in QtCreator(double click on manifest file in project explorer).<br /># adapt application's project pro file for tizen with tizen scope:<br /></code>tizen {<br /> tizen_shared.files = shared/res<br /> CONFIG ''= TIZEN_STANDALONE_PACKAGE<br /> TIZEN_BUNDLED_QT_LIBS=Qt5Core Qt5DBus Qt5Qml Qt5Quick Qt5Widgets Qt5Gui Qt5Network<br /> load(tizen_app)<br />}<br /><code><br /># adapt application's main.cpp file by adding OspMain function:<br /></code>extern &quot;C&amp;quot; int OspMain(int argc, char '''argv[])<br />{<br /> return main(argc, argv);<br />}<br /><code><br /># Now compile and deploy from QtCreator. You application should appear in homescreen on emulator or device (depending on Kit, you chose)
# See hello world example from "qtquickcontrols-tizen":https://qt.gitorious.org/qt/qtquickcontrols-tizen wip/tizen branch
<br />h2. Additional explanation
<code>git clone -b wip/tizen https://git.gitorious.org/qt/qtquickcontrols-tizen.git<code>
<br />Qmake Variables<br />''' CONFIG''= TIZEN_STANDALONE_PACKAGE</s> Qt libraries listed in TIZEN_BUNDLED_QT_LIBS will be copied to package lib subdirectory. Additionally Qt plugins will be copied from $$[QT_INSTALL_PLUGINS] to data/plugins package subdirectory and qml plugins from $$[QT_INSTALL_QML] to data/qml package subdirectory.
# Create your own application as you would develop for desktop
# Create tizen subdirectory and copy there manifest.xml file from helloworld example in qtquickcontrols-tizen repository.
# Also copy ''shared'' folder from helloworld example in qtquickcontrols-tizen repository. It contains default application icon. Path to this icon is already set in manifest.xml.
# Choose application name and new Application ID from manifest editor in QtCreator(double click on manifest file in project explorer).
# adapt application's project pro file for tizen with tizen scope:
</code>tizen {
tizen_shared.files = shared/res
CONFIG ''= TIZEN_STANDALONE_PACKAGE
TIZEN_BUNDLED_QT_LIBS=Qt5Core Qt5DBus Qt5Qml Qt5Quick Qt5Widgets Qt5Gui Qt5Network
load(tizen_app)
}
<code>
# adapt application's main.cpp file by adding OspMain function:
</code>extern "C" int OspMain(int argc, char '''argv[])
{
return main(argc, argv);
}
<code>
# Now compile and deploy from QtCreator. You application should appear in homescreen on emulator or device (depending on Kit, you chose)
 
h2. Additional explanation
 
Qmake Variables
''' CONFIG''= TIZEN_STANDALONE_PACKAGE- Qt libraries listed in TIZEN_BUNDLED_QT_LIBS will be copied to package lib subdirectory. Additionally Qt plugins will be copied from $$[QT_INSTALL_PLUGINS] to data/plugins package subdirectory and qml plugins from $$[QT_INSTALL_QML] to data/qml package subdirectory.


* tizen_shared.files - flies which will be copied to application package shared subdirectory. There are also qmake variables for other directories:
* tizen_shared.files - flies which will be copied to application package shared subdirectory. There are also qmake variables for other directories:

Revision as of 09:45, 25 February 2015

This article describes how to make a Qt Hello World application for Tizen emulator. For actual Tizen device the steps are the same.

Assumptions

Steps

  1. See hello world example from "qtquickcontrols-tizen":https://qt.gitorious.org/qt/qtquickcontrols-tizen wip/tizen branch
git clone -b wip/tizen https://git.gitorious.org/qt/qtquickcontrols-tizen.git<code>
# Create your own application as you would develop for desktop
# Create tizen subdirectory and copy there manifest.xml file from helloworld example in qtquickcontrols-tizen repository.
# Also copy ''shared'' folder from helloworld example in qtquickcontrols-tizen repository. It contains default application icon. Path to this icon is already set in manifest.xml.
# Choose application name and new Application ID from manifest editor in QtCreator(double click on manifest file in project explorer).
# adapt application's project pro file for tizen with tizen scope:

tizen {

tizen_shared.files = shared/res
CONFIG = TIZEN_STANDALONE_PACKAGE
TIZEN_BUNDLED_QT_LIBS=Qt5Core Qt5DBus Qt5Qml Qt5Quick Qt5Widgets Qt5Gui Qt5Network
load(tizen_app)

}

# adapt application's main.cpp file by adding OspMain function:

extern "C" int OspMain(int argc, char argv[])

{

return main(argc, argv);

}

  1. Now compile and deploy from QtCreator. You application should appear in homescreen on emulator or device (depending on Kit, you chose)

h2. Additional explanation

Qmake Variables ' CONFIG= TIZEN_STANDALONE_PACKAGE- Qt libraries listed in TIZEN_BUNDLED_QT_LIBS will be copied to package lib subdirectory. Additionally Qt plugins will be copied from $$[QT_INSTALL_PLUGINS] to data/plugins package subdirectory and qml plugins from $$[QT_INSTALL_QML] to data/qml package subdirectory.

  • tizen_shared.files - flies which will be copied to application package shared subdirectory. There are also qmake variables for other directories:
    • tizen_bin
    • tizen_data
    • tizen_info
    • tizen_lib
    • tizen_res
    • tizen_setting