Я разрабатываю приложение с использованием 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
Flutter Get Random Image из галереи ⇐ IOS
Программируем под IOS
1738318553
Anonymous
Я разрабатываю приложение с использованием Flutterflow и должен случайным образом выбрать изображение из галереи пользователя [b] без пользовательского действия [/b] (как в 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>
Я пробовал разные вещи, но не были способен найти способ заставить его работать.
Подробнее здесь: [url]https://stackoverflow.com/questions/79399414/flutter-get-random-image-from-gallery[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия