这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战
首先,要基于前面的基础,我们才能继续下面的文章,建议阅读。
Qt for Android(一) —— QT 中如何调用android方法
Qt for Android(二) —— QT 中调用自定义Android方法详细教程(获取Android设备的SN号)
Qt for Android(三) —— QT 中获取 Android 的Services,并调用需要Context参数的 c方法(设置音量、亮度等)
背景
在 QT for Android 开发中,有时候我们会碰到一些需求,比如有一些xml配置文件、字体文件、音乐文件等 ,在windows时我们可以放在本地文件夹下通过相对路径去访问,但是在android下怎么办呢?
解析
android Assest 资源文件是不会被压缩到 APK 中,并且Assest支持定义子目录的,类似于我们 QT 的 qrc 资源文件,不同的是 qrc 会被压缩到程序的二进制包中,包括QML。
首先,在 pro 文件中添加下面的代码:
android {
INSTALLS += conf
conf.files += config/conf.ini
conf.path = /assets/conf
}
其中,conf可自定义,即为 assest 文件下你资源文件的文件夹名称。conf.files为你 QT 项目要添加的资源文件的本地文件夹的路径,像下面这样:
然后conf.path = /assets/conf即为你要定义在assest下conf文件夹的路径。
上面该添加的添加,该新建的新建,完成之后,我们在 QT 中像这样去访问这个资源文件即可。
QString strFilePath = "assets:/conf/conf.ini";
QFile configFile(strFilePath);