Qt Android создает файлы в папке content:// URI [закрыто]Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Qt Android создает файлы в папке content:// URI [закрыто]

Сообщение Anonymous »

Я хочу создать приложение для Android с помощью Qt. Приложение должно иметь возможность запрашивать у пользователя целевой каталог (который может быть предоставлен приложением облачного хранилища), а затем создавать файлы в этой папке.
Пока я не узнаю, что нашел QDir , который позволяет получить доступ к каталогам и QFile, который можно использовать для чтения и записи существующих файлов, но я понятия не имею, как создавать новые файлы в папке, которая указана в качестве URI conten://.
Кто-нибудь знает, как этого можно достичь?
РЕДАКТИРОВАТЬ:
Это код, который показывает мою явно нерабочую попытку:
#include
#include
#include
#include

int main(int argc, char *argv[]) {
QApplication a(argc, argv);

auto dir = QFileDialog::getExistingDirectory(nullptr, "Path search");

QString results;

for (const auto &x: QDir(dir).entryInfoList())
if (x.fileName() == "t.save") {
auto f = QFile(x.canonicalFilePath());
f.open(QFile::WriteOnly);
results += "Existing File path: " + x.canonicalFilePath() + "\n";

results += "Open1 " + std::to_string(f.isOpen()) + "\n";
auto rc = f.write("Hallo Welt 2\n");
results += "Write1 " + std::to_string(rc) + "\n";
}

QFile f(QDir(dir).absoluteFilePath("text.txt"));
f.open(QFile::WriteOnly);
results += "New File path: " + QDir(dir).absoluteFilePath("text.txt") + "\n";
results += "Open2 " + std::to_string(f.isOpen()) + "\n";
auto rc = f.write("New File\n");
results += "Write2 " + std::to_string(rc) + "\n";

QTextEdit text;
text.setText(results);
text.show();

return QApplication::exec();
}

с создает этот вывод:
Existing File path: content://org.nextcloud.documents/tree/87ce9de8191bc01881198ccaeab3a015%2F3311/document/87ce9de8191bc01881198ccaeab3a015%2F11465
Open1 1
Write1 13
New File path: content:/org.nextcloud.documents/tree/87ce9de8191bc01881198ccaeab3a015%2F3311/document/87ce9de8191bc01881198ccaeab3a015%2F3311/text.txt
Open2 0
Write2 -1


Подробнее здесь: https://stackoverflow.com/questions/787 ... uri-folder
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»