我遇到了以下问题: 我正在开发一个跨平台应用程序(Linux / Android),并且我坚持将我的SQLite数据库部署到Android - 它非常适合Linux。 我设法通过我的.pro文件中的以下代码将我的db文件添加到资源
$anu = DB::table('subscribes')->select('email')->get();
$emails=[];
foreach($anu as $a){
$emails[]=$a->email;
}
Mail::send('emails.news', $emails, function ($message) use ($request, $emails) {
$message->from('stevanajja@gmail.com',$request->email);
$message->to($emails)->subject($request->posisi);;
});
现在在我处理数据库连接的DbManager C ++文件中,我无法运行SQLite数据库:(
deployment.files += rako.db
deployment.path = /assets
INSTALLS += deployment
我错过了什么吗?
谢谢你们,
最高
答案 0 :(得分:0)
我错过了什么吗?
实际上,是的。
假设您的assets
文件夹位于android
文件夹下,您应该在pro
文件的下一行添加:
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
android
文件夹的所有内容都将复制到apk
。
接下来就是Android上的assests
是只读文件夹。因此,在使用数据库之前,您应该将其从assets
复制到另一个位置。
答案 1 :(得分:0)
QFile dfile("assets:/db/database-last.db3");
if (dfile.exists())
{
dfile.copy("./database-last.db3");
QFile::setPermissions("./database-last.db3",QFile::WriteOwner | QFile::ReadOwner);
}
...
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("./database-last.db3");
db.open();
...
<。>文件中的
deployment.files += database-last.db3
deployment.path = /assets/db
INSTALLS += deployment
它适用于Android,但如何在iOS和Winphone上执行相同操作?
答案 2 :(得分:0)
在dbmanager cpp文件中
VALUE
.pro文件
VALUE