#include "widget.h"
#include "ui_widget.h"
bool checkPermission_write() {
QtAndroid::PermissionResult r = QtAndroid::checkPermission("android.permission.WRITE_EXTERNAL_STORAGE");
if(r == QtAndroid::PermissionResult::Denied) {
QtAndroid::requestPermissionsSync( QStringList() << "android.permission.WRITE_EXTERNAL_STORAGE" );
r = QtAndroid::checkPermission("android.permission.WRITE_EXTERNAL_STORAGE");
if(r == QtAndroid::PermissionResult::Denied) {
return false;
}
}
return true;
}
#define ConfigFile "/storage/emulated/0/xl_config/test.txt"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//申请权限
checkPermission_write();
//创建FFMPEG_IMAGE文件夹
QDir *folder = new QDir;
bool exist = folder->exists("/storage/emulated/0/xl_config");
if(exist)
{
Log_Text_Display("缓存目录存在\r\n");
}
else
{
//创建文件夹
bool ok = folder->mkdir("/storage/emulated/0/xl_config");
if(ok)
Log_Text_Display("缓存目录创建成功\r\n");
else
Log_Text_Display("缓存目录创建失败\r\n");
}
}
/*日志显示*/
void Widget::Log_Text_Display(QString text)
{
QPlainTextEdit *plainTextEdit_log=ui->plainTextEdit;
//设置光标到文本末尾
plainTextEdit_log->moveCursor(QTextCursor::End, QTextCursor::MoveAnchor);
plainTextEdit_log->insertPlainText(text);
}
//将数据保存到文件
void Widget::SaveDataToFile(QString text)
{
/*保存数据到文件,方便下次加载*/
QFile filesrc(ConfigFile);
filesrc.open(QIODevice::WriteOnly);
QDataStream out(&filesrc);
out << text; //序列化写字符串
filesrc.flush();
filesrc.close();
}
//从文件读取数据
void Widget::ReadDataFile(void)
{
QString data;
//读取配置文件
//判断文件是否存在
if(QFile::exists(ConfigFile))
{
QFile filenew(ConfigFile);
filenew.open(QIODevice::ReadOnly);
QDataStream in(&filenew); // 从文件读取序列化数据
in >> data; //提取写入的数据
ui->plainTextEdit->clear();
Log_Text_Display(data);
filenew.close();
}
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
SaveDataToFile(ui->plainTextEdit->toPlainText());
}
void Widget::on_pushButton_2_clicked()
{
ReadDataFile();
}
Qt移动开发-Android上实现本地文件读写.zip
版权申诉
5星 · 超过95%的资源 161 浏览量
2023-09-12
18:07:34
上传
评论 2
收藏 9.32MB ZIP 举报
DS小龙哥
- 粉丝: 4w+
- 资源: 522
最新资源
- 3122080306 邹子轩 实验报告二.docx
- 基于STM32 NUCLEO板设计彩色LED照明灯(纯cubeMX开发)(大赛作品,文档完整,可直接运行)
- 发那科工业机器人保养大全
- Sphere.h
- REMD固有时间尺度分解信号分量可视化(Matlab完整源码和数据)
- 嵌入式系统双单片机STC89C52+STC15W104多功能学习板电路图可扩展 适用于单片机初学者和教学
- 基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)大赛作品
- XILINXFPGA源码基于Spartan3火龙刀系列FPGA开发板VGA测试例程
- Java聊天室的设计与实现【尚学堂·百战程序员】
- python中matplotlib教程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈