Flutter Get Random Image из галереиIOS

Программируем под IOS
Ответить
Anonymous
 Flutter Get Random Image из галереи

Сообщение Anonymous »

Я разрабатываю приложение с использованием Flutterflow и должен случайным образом выбрать изображение из галереи пользователя без пользовательского действия (как в iOS, так и в Android). Очевидно, что это пользовательская функция, которую я думал о написании ее в Dart.
Я уже создал эту функцию, и она очень хорошо работает в Android, но не в iOS. p>
// Automatic FlutterFlow imports
import '/backend/backend.dart';
import '/backend/schema/structs/index.dart';
import '/backend/schema/enums/enums.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/custom_code/actions/index.dart'; // Imports other custom actions
import '/flutter_flow/custom_functions.dart'; // Imports custom functions
import 'package:flutter/material.dart';
// Begin custom action code
// DO NOT REMOVE OR MODIFY THE CODE ABOVE!

import 'dart:io';
import 'dart:math';

Future getRandomImagePath() async {
final directories = [
Directory('/storage/emulated/0/DCIM'),
Directory('/storage/emulated/0/Pictures'),
Directory('/DCIM'),
Directory('/Pictures'),
Directory('/storage/emulated/0/DCIM/Camera'),
];

List imageFiles = [];
Iterable newDirectories = [];

//search album inside folder
for (var directory in directories) {
if (await directory.exists()) {
final elements = await directory.list().toList();
print(elements);
newDirectories = elements.where((dir) => dir is Directory);
}
}

for (var directory in newDirectories) {
if (await directory.exists() && directory is Directory) {
directories.add(directory);
}
}

//search images inside folder
for (var directory in directories) {
if (await directory.exists()) {
final files = await directory.list().toList();
print('In questa $directory io vedo questi $files');

for (var file in files) {
if (file is File &&
(file.path.endsWith('.jpg') ||
file.path.endsWith('.jpeg') ||
file.path.endsWith('.png'))) {
imageFiles.add(file);
}
}
}
}

if (imageFiles.isNotEmpty) {
final random = Random();
final randomIndex = random.nextInt(imageFiles.length);
return imageFiles.elementAt(randomIndex).path;
}

return ""; // No image found
}

< /code>
Что мне нужно: < /p>

Опция 1: Измените это, чтобы заставить его работать как для iOS, так и для Android < / li>
Вариант 2: Иметь еще одну функцию, чтобы сделать то же самое на iOS < /li>
< /ul>
Я пробовал разные вещи, но не были способен найти способ заставить его работать.

Подробнее здесь: https://stackoverflow.com/questions/793 ... om-gallery
Ответить

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

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

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

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

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