Development/Tutorials/Necessitas/Assets: Difference between revisions

From KDE TechBase
Line 18: Line 18:


<syntaxhighlight lang="cpp-qt">
<syntaxhighlight lang="cpp-qt">
QmlApplicationViewer * m_qmlAppViewer;


#ifdef Q_OS_ANDROID
#ifdef Q_OS_ANDROID
QFile file( "qml/foo/main.qml" );
QFile file( "qml/foo/main.qml" ); // to open a file just use its path
 
m_qmlAppViewer->engine()->setBaseUrl(QUrl::fromLocalFile("/")); // make sure you set the engine base url to "/" otherwise it will add "file://" in front of your files.
m_qmlAppViewer->setSource(QUrl::fromLocalFile("qml/foo/main.qml"));
#endif
#endif


// do whatever you want with file
// do whatever you want with file
</syntaxhighlight>
</syntaxhighlight>

Revision as of 16:27, 27 November 2011

Android assets

Android assets are read-only arbitrary files bundled in their raw form into your package.Necessitas project provides seamless integration with android assets, meaning that you can access any asset files as you access any ordinary files.

Deploy assets

Before accessing an asset we need to deploy it.

# assuming you want to deploy qml/foo/main.qml file, you need to add the flowing lines to your .pro/.pri file(s)
delployment.files=qml/foo/main.qml
android { #define an android block
    delployment.path=/assets/qml/foo #all assets must go to "/assets" folder of your android package
} else : maemo5 { #other platforms
    delployment.path=/opt/$${TARGET} 
}
INSTALLS += delployment

Access assets

QmlApplicationViewer * m_qmlAppViewer;

#ifdef Q_OS_ANDROID
QFile file( "qml/foo/main.qml" ); // to open a file just use its path

m_qmlAppViewer->engine()->setBaseUrl(QUrl::fromLocalFile("/")); // make sure you set the engine base url to "/" otherwise it will add "file://" in front of your files.
m_qmlAppViewer->setSource(QUrl::fromLocalFile("qml/foo/main.qml"));
#endif


// do whatever you want with file