È possibile utilizzare il sistema Qt risorse. Per impostazione predefinita, tutte le applicazioni Qt possono accedere ai contenuti di un file qrc utilizzando il prefisso ": /" o il prefisso dello schema URL, "qrc:".
L'altro approccio consiste nel distribuire le risorse nella directory delle risorse del pacchetto. È l'opzione migliore se si desidera ottenere una migliore interoperabilità con le API di Android. È possibile accedere a tutte le risorse nella directory utilizzando il prefisso "assets:". A differenza di qrc, questo approccio non è una soluzione multipiattaforma.
Quando si crea il progetto, viene creata una cartella denominata "risorse" nello Build-Directory/android-build/
. Dopo aver copiato i file nella directory di risorse, è possibile aggiungere questi al vostro pro:
deployment.files += MyFile1
deployment.files += MyFile2
...
deployment.path = /assets
INSTALLS += deployment
I file in attività sono di sola lettura. Così si dovrebbe prima copiarlo in un'altra posizione, se si vuole cambiarli:
QFile dfile("assets:/MyFile1");
if (dfile.exists())
{
dfile.copy("./MyFile1");
QFile::setPermissions("./MyFile1",QFile::WriteOwner | QFile::ReadOwner);
}
1. Ho provato (non è successo), ma poi ho appreso che Qt non consente l'utilizzo di database in bundle con file qrc anche in modalità di sola lettura. – user2400925
2. Qt 5.2 non genera una directory "assets". Cosa dovrei fare? – user2400925
Ho aggiornato la risposta con un esempio di come ho usato le risorse: directory. – jwernerny