Вопросы с тегами [flutter]

1

голосов
3

ответ
648

Просмотры

Несет ли трепетание заботиться о всех размерах экрана

У меня была идея приложения и я хочу, чтобы развить его в любом флаттере или реагировать родные. Я выбрал флаттера, потому что я хочу, чтобы выучить новый язык (Dart) и я знаю, что это все еще в бета-версии, но мне не нужно заботиться о большом количестве пользователей, по крайней мере, 2-3 месяцев, так как я буду учиться дротик первый и затем развивать его. Так что мой вопрос я должен заботиться о различных размерах экрана так же, как в Android или же флаттер ручки для меня? Должен ли я заботиться о уровне API, как Android или же флаттер заботиться о том, что? Спасибо.
Syed Muhammad Oan
1

голосов
1

ответ
923

Просмотры

Make AppBar transparent and show background image which is set to whole scrren

I have added appBar in my flutter application. My screen already have a background image, where i don't want to set appBar color or don't want set separate background image to appBar. I want show same screen background image to appBar also. I already tried by setting appBar color as transparent but it shows color like gray. My code: appBar: new AppBar( centerTitle: true, // backgroundColor: Color(0xFF0077ED), elevation: 0.0, title: new Text( "DASHBOARD", style: const TextStyle( color: const Color(0xffffffff), fontWeight: FontWeight.w500, fontFamily: "Roboto", fontStyle: FontStyle.normal, fontSize: 19.0 )), )
Rahul Mahadik
1

голосов
1

ответ
134

Просмотры

Как не правильно ждать, пока будущее будет завершена в дротиком

Существует небольшая ошибка в моем приложении сделано с флаттером, что, когда пользователь вошел в системе, он получает информацию о пользователе из моей базы данных, но не достаточно быстро и вызывает визуальную ошибку на моем переднем конце приложения. Приложение имеет макеты, которые используют информацию о пользователе (имя, расположение и изображения) и не загружается достаточно быстро. Мне было интересно, если есть способ, чтобы ждать, пока мое будущее, чтобы закончить и, как только это будет сделано, он может перемещаться пользователем к переднему концу без проблем.
user3152311
1

голосов
2

ответ
66

Просмотры

Как запустить несколько асинхронных функций, чтобы они назывались (FIFO?)

Я провел много часов в поисках решения, но так как я Dart Начинающим, я не мог найти его самостоятельно. То, что я хочу добиться того, чтобы создать что-то вроде очереди для некоторых функций асинхронных, которые называются случайным образом (скажем, когда пользователь нажав кнопку в моем приложении) с разных точек в коде, а приложение работает. Я хочу, чтобы они были выполнены в порядке их называли, поэтому в основном у меня есть асинхронные такие методы, как updateDate () и updatePoints (), и когда пользователь постукивание кнопки X updateDate () будут называться (добавлено в очередь) и аналогично с Y и updatePoints (). Когда отводы пользователя, т.е. X, X, YI хочет запустить updateDate (), updateDate (), updatePoints () в указанном порядке. Когда одна задача завершена, еще одна начинается. Я предполагаю, что я не могу использовать ждать, чтобы достичь этого. Любые намеки будут оценены!
vespi
1

голосов
1

ответ
87

Просмотры

How to test flutter url_launcher that email app opens?

У меня есть закусочная с SnackbarAction, который должен открыть приложение электронной почты по умолчанию с темой по умолчанию и тела на кране. Я интересно, если есть какой-то образом возможность проверить, если это действительно происходит с некоторыми модульными тестами. Мой Snackbar код выглядит следующим образом: закусочная получить закусочную => закусочная (содержание: текст (сообщение), действие: SnackBarAction (ключ: Const Key ( 'ErrorSnackbarAction'), метка: AppLocalizations .of (_context) .report, onPressed: () асинхронный => жду запуска ( 'MAILTO: [email protected] предмет = TestSubject и тело = TestBody'))); Я уже проверяя внешний вид, который отлично работает: группа ( «ErrorSnackbar», () {testWidgets ( «внешнего вида тест», (WidgetTester тестер) асинхр {ждать тестер. pumpWidget (_generateSnackbarApp ()); ждут _showSnackbar (тестер); ожидать (find.text (userMessage), findsOneWidget); ожидать (find.byWidgetPredicate ((Widget виджет) => виджет SnackBarAction && widget.label == 'Report'), findsOneWidget); }); testWidgets ( 'тест сообщить об ошибке', (WidgetTester тестер) асинхронной {ждут tester.pumpWidget (_generateSnackbarApp ()); AWAIT _showSnackbar (тестер); tester.tap (find.byKey (errorSnackbarAction)) ждут tester.pump (); / / как проверить, что приложение электронной почты по умолчанию было открыто // с ожидаемым субъектом и телом}); }); findsOneWidget); }); testWidgets ( 'тест сообщить об ошибке', (WidgetTester тестер) асинхронной {ждут tester.pumpWidget (_generateSnackbarApp ()); AWAIT _showSnackbar (тестер); tester.tap (find.byKey (errorSnackbarAction)) ждут tester.pump (); / / как проверить, что приложение электронной почты по умолчанию было открыто // с ожидаемым субъектом и телом}); }); findsOneWidget); }); testWidgets ( 'тест сообщить об ошибке', (WidgetTester тестер) асинхронной {ждут tester.pumpWidget (_generateSnackbarApp ()); AWAIT _showSnackbar (тестер); tester.tap (find.byKey (errorSnackbarAction)) ждут tester.pump (); / / как проверить, что приложение электронной почты по умолчанию было открыто // с ожидаемым субъектом и телом}); });
fezu54
1

голосов
0

ответ
17

Просмотры

Детонация: экранная клавиатура не открывается, когда TextView ориентирован

Я пытаюсь создать простой логин и экран регистрации для приложения с помощью Firebase аутентификации (адрес электронной почты / пароль). При тестировании на оба физических устройствах и эмуляторе, экранная клавиатура не выскакивает, когда TextView сфокусирован. В некоторых случаях, другой экран, который я не могу определить щелчки вскоре после запуска на долю секунды, но не каждый раз. Он работал сразу после того, как я понял, что я забыл импортировать асинхра и, казалось, на работу. После возобновления работы на нем позже, вдруг клавиатура была не открывать снова. Я попытался удалить довольно много всего моего кода и оставляя только интерфейс, но экранная клавиатура не показывает. Код недействительным основной () => runApp (MaterialApp (название: 'Войти Test', дом: LoginScreen ())); Окончательный FirebaseAuth _auth = FirebaseAuth.instance; Класс LoginScreen расширяет StatelessWidget {TextEditingController _uname = TextEditingController (); TextEditingController _pword = TextEditingController (); Будущее _handleSignIn (вар контекст, String электронной почты, String пароль) асинхронной {Диалог AlertDialog = новый AlertDialog (содержание: новый текст ( "Загрузка ...")); ShowDialog (контекст: контекст, строитель: (BuildContext контекст) => диалог); _auth.signInWithEmailAndPassword (электронная почта: электронная почта, пароль: пароль) .then ((пользователь FirebaseUser) {Print ( "Успех");}) catchError ((е) => Печать (е));. Navigator.pop (контекст); вернуться _auth.currentUser; } @Override виджет сборки (BuildContext контекст) {Контейнер loginScreen; TextField имя пользователя = TextField (контроллер: _uname, украшения: InputDecoration (LabelText: "Электронная почта",), keyboardType: TextInputType.emailAddress,); TextField пароль = TextField (контроллер: _pword, отделка: InputDecoration (LabelText: "Пароль",), keyboardType: TextInputType.text, obscureText: правда,); RaisedButton Войти = RaisedButton (ребенок: Текст ( "Войти"), onPressed: () {_handleSignIn (контекст, _uname.text.toString (), _pword.text.toString ());}); loginScreen = Контейнер (ребенок: Колонка (дети: [имя пользователя, пароль, Логин]), утеплитель: EdgeInsets.all (16)); вернуться (AppBar Леса: AppBar (название: "Войти Screen"), тело: loginScreen); }} По большей части документации, которую я читал, клавиатура должна открываться, когда TextView сфокусирована / выбран, но это ISN» т открытие по причине я не могу показаться, чтобы придавить. Как решить эту проблему?
Lauryn Brough
0

голосов
0

ответ
3

Просмотры

Как отслеживать изменения в TabController

Я хочу, чтобы слушать индекс TabController в. Я могу получить только первое значение 0 по прямой печати. Есть ли способ, чтобы получить TabController.index нажав TabBar?
user10510483
1

голосов
1

ответ
2.1k

Просмотры

Как иметь Элементы из ListView имеют разные отступы в флаттере?

У меня есть простой ListView строитель, который возвращает ItemsItem с контейнером в нем. Я хотел бы последний пункт, чтобы иметь нижний отступы. Я мог бы проверить, если индекс из пунктов является последним, и дать, что к ItemsItem, но проблема в том, что обивка на контейнере должна быть константными какими-либо идеи? ... новый ListView.builder (itemBuilder: (BuildContext контекст, INT индекс) => новый ItemsItem (пункт: пункты [индекс]), ITEMCOUNT: items.length,) ... // если это последний элемент, добавить заполняющего к классу Container ItemsItem простирается StatefulWidget {... вернуться новый контейнер ();
Patrioticcow
1

голосов
1

ответ
792

Просмотры

Flutter how to use ListTile Threeline

Flutter when I used ListTile ThreeLines, I don't know how to use ThreeLine import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: Scaffold( appBar: AppBar( title: Text('ddd'), ), body:Container( child: Column( children: [ ListTile( isThreeLine: true, leading: Icon(Icons.event_note), title: Text('Title 1'), // subtitle: Text('Title2'), subtitle: Column( children: [ Text('Titile2'), Text('Title 3'), Text('Title 4'), Text('and so on') ], ), ) ], ), ) , ), ); } } When i delete isThreeLines, the code is Ok ListTile Thanks
zhiyuanbuqi
1

голосов
1

ответ
909

Просмотры

Как анимировать цвет RaisedButton в флаттере?

У меня есть RaisedButton. Я хочу, чтобы оживить его цвет от зеленого до красного, и наоборот, каждый раз, когда пользователь нажимает на нее. Как это можно сделать?
Daniel Oliveira
1

голосов
3

ответ
252

Просмотры

how do i create a copy of List in dart when T is object see below code

в редакторе https://dartpad.dartlang.org/ я напечатал ниже, чтобы проверить мой вопрос. на основе моего тестирования, по-видимому list.from функция только создать новую копию, когда T не является объектом / класс я тестировал list.from для списка он работает как шарм, но не класс / объект. пожалуйста, дайте мне знать, как создать новую копию списка Т ниже кода, так что, когда мы изменяем список в одном месте, то другое место, не разменять. благодаря аннулируются основной () {Список статусы = [Status (имя: 'Подтверждено', isCheck: истинно), Status (имя: 'Отменено', isCheck: правда),]; печать ( 'статусы = $ {. statuses.toList () отображение ((х) => x.name + '=' + x.isCheck.toString ())}'); // это должно создать новый список T, но, очевидно, работает только для списка необъектных otherStatuses = новые List.from (статусы); печать ( 'otherStatuses = $ {otherStatuses.toList (). отображение ((х) => x.name + '=' + x.isCheck.toString ())} '); otherStatuses.singleWhere ((х) => x.name == 'Отменено') isCheck = ложь. печать ( «после изменения только на otherStatuses»); печать ( 'статусы = $ {. statuses.toList () отображение ((х) => x.name + '=' + x.isCheck.toString ())}'); печать ( 'statuses2 = $ {. otherStatuses.toList () отображение ((х) => x.name + '=' + x.isCheck.toString ())}'); печать ( «почему первоначальный статус (отменен) равен ложно?»); } Класс состояния {имя строки; BOOL isCheck; Статус ({this.name, this.isCheck,}); } отображение ((х) => x.name + '=' + x.isCheck.toString ())} '); печать ( 'statuses2 = $ {. otherStatuses.toList () отображение ((х) => x.name + '=' + x.isCheck.toString ())}'); печать ( «почему первоначальный статус (отменен) равен ложно?»); } Класс состояния {имя строки; BOOL isCheck; Статус ({this.name, this.isCheck,}); } отображение ((х) => x.name + '=' + x.isCheck.toString ())} '); печать ( 'statuses2 = $ {. otherStatuses.toList () отображение ((х) => x.name + '=' + x.isCheck.toString ())}'); печать ( «почему первоначальный статус (отменен) равен ложно?»); } Класс состояния {имя строки; BOOL isCheck; Статус ({this.name, this.isCheck,}); }
Hendra
1

голосов
2

ответ
1.3k

Просмотры

Детонация: Как добавить маркер на Google Maps с новым Marker API?

mapController.addMarker (MarkerOptions (позиция: LatLng (37,4219999, -122,0862462),),); Я видел этот фрагмент кода в блоге, и я пытаюсь добавить маркеры Google Maps. Метод «addMarker» не определен для класса «GoogleMapController». Я думаю, что библиотека изменилась, и я хочу знать, что это новый способ сделать это, я посмотрел в controller.dart и апите ссылки, но не мог понять. Я был бы рад видеть некоторые учебники и сообщения в блоге об этом, не стесняйтесь делиться.
mirkancal
1

голосов
2

ответ
25

Просмотры

Разработка для различных размеров экрана с использованием флаттера?

У меня есть приложение, которое я собираюсь загрузить в AppStore и playstore довольно скоро, но я боюсь, что это может выглядеть смешно на разных экранах телефонов, которые различаются по размерам (приложение не для мобильных телефонов только не таблетки), что это лучший способ код для различных размеров экрана с использованием флаттера?
Dead Pool
0

голосов
0

ответ
6

Просмотры

Детонация приложение подписание с key.jks же не работает

Я разработал мое приложение флаттер Android на Windows 10 и выпустил его внутри на Google Play. Теперь я перешел с Windows 10 для Mac и пытаюсь обновить мою приложение Google Play, но получаю сообщение об ошибке follwing. Вы загрузили APK, не подписанный сертификат загрузки. Вы должны использовать один и тот же сертификат. Сертификат загрузки имеет отпечаток пальца: [SHA1: 11: AF: 0B: 9E: B5: 34: 92: Е7: 2B: 3A: 53: 62: C1: D5: 2F: 4D: 81: 7D: 9A: 95] и сертификат, используемый для подписи APK вы загрузили есть отпечатки пальцев: [SHA1: 00: DE: 7Б: 1A: 1E: FC: C4: 5A: 05: 15: 3C: 1E: 03: 63: BB: 34: 13: 0F : 67: 32] Я использовал тот же файл key.jks подписать приложение на Mac OS. Что мне не хватает? Поблагодарив за ваше время
Sam
3

голосов
0

ответ
22

Просмотры

При создании нового пользователя в моем флаттере приложении, которое я получил firebase_auth createUserWithEmailAndPassword ошибки

Я создаю приложение блог, при создании нового пользователя, я получил следующее сообщение об ошибке. I / трепетание (1603): 'Файл: /// C: /flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.8.4+5/lib/src/firebase_auth.dart': Failed утверждение : линия 103 поз 12: '! = NULL электронная почта': это не так. Данное сообщение отображается в терминале, когда я когда-либо хотел, чтобы создать новый пользователь в моем флаттере приложении. Ниже приведен код для моей создать страницу аккаунта, где я использовал UserManagement функции () для хранения пользовательских данных в FireStore. Перетяжка (обивка: Const EdgeInsets.fromLTRB (25,0, 10,0, 25,0, 10,0), ребенок: TextFormField (украшение: InputDecoration (LabelText: "Электронная почта", граница: OutlineInputBorder (gapPadding: 10.0, borderRadius: BorderRadius.circular (30,0))), onSaved: (значение) {SetState (() {_email = значение;}); },),), Перетяжка (обивка: Const EdgeInsets.fromLTRB (25,0, 10,0, 25,0, 10,0), ребенок: TextFormField (obscureText: правда, украшения: InputDecoration (LabelText: "Пароль", граница: OutlineInputBorder (gapPadding: 10,0, borderRadius: BorderRadius.circular (30,0))), onSaved: (значение) {SetState (() {_password = значение;}); },),), Контейнер (ребенок: Колонка (mainAxisAlignment: MainAxisAlignment.center, дети: [StreamBuilder (поток: нулевой, строитель: (контекст, снимок) {вернуться SizedBox (ширина: 367,0, высота: 60,0, // отступ ( // обивка: Const EdgeInsets.all (8.0), storeNewUser (signedInUser, контекст); }) CatchError ((е) {печать (е);.}); Вот код для UserManagement () функция класса UserManagement {storeNewUser (пользователь, контекст) {Firestore.instance.collection ( '/ пользователей') добавить ({ '' по электронной почте:. User.email, 'UID': user.uid, }), то (значение () {StreamBuilder (поток: нуль, строитель: (контекст, снимок) {Navigator.of (контекст) .pop (); Navigator.push (контекст, MaterialPageRoute (строитель:. (контекст) => Описание изделия ()));});}) catchError ((е) {печать (е);.}); }} catchError ((е) {печать (е);}); Вот код для UserManagement () функция класса UserManagement {storeNewUser (пользователь, контекст) {Firestore.instance.collection ( '/ пользователей') добавить ({ '' по электронной почте:. User.email, 'UID': user.uid, }), то (значение () {StreamBuilder (поток: нуль, строитель: (контекст, снимок) {Navigator.of (контекст) .pop (); Navigator.push (контекст, MaterialPageRoute (строитель:. (контекст) => Описание изделия ()));});}) catchError ((е) {печать (е);.}); }} catchError ((е) {печать (е);}); Вот код для UserManagement () функция класса UserManagement {storeNewUser (пользователь, контекст) {Firestore.instance.collection ( '/ пользователей') добавить ({ '' по электронной почте:. User.email, 'UID': user.uid, }), то (значение () {StreamBuilder (поток: нуль, строитель: (контекст, снимок) {Navigator.of (контекст) .pop (); Navigator.push (контекст, MaterialPageRoute (строитель:. (контекст) => Описание изделия ()));});}) catchError ((е) {печать (е);.}); }} Коллекция добавить ( '/') пользователей. ({ '' по электронной почте: user.email, 'UID': user.uid,}), то ((значение) {StreamBuilder (поток:. нулевой, строитель: (контекст, снимок) { Navigator.of (контекст) .pop (); Navigator.push (контекст, MaterialPageRoute (строитель: (контекст) => Описание изделия ()));.});}) catchError ((е) {печать (е);} ); }} Коллекция добавить ( '/') пользователей. ({ '' по электронной почте: user.email, 'UID': user.uid,}), то ((значение) {StreamBuilder (поток:. нулевой, строитель: (контекст, снимок) { Navigator.of (контекст) .pop (); Navigator.push (контекст, MaterialPageRoute (строитель: (контекст) => Описание изделия ()));.});}) catchError ((е) {печать (е);} ); }}
inzamam mallik
0

голосов
0

ответ
13

Просмотры

Исключение Firebase Auth на флаттер, используя vccode

Я разрабатываю систему входа в систему, используя firebase, трепетание и vscode. Я хотел бы знать, как обрабатывать исключения, сгенерированные Firebase. Если EMAIL уже зарегистрирован. В настоящее время генерируется ошибка: Исключение произошло. PlatformException (PlatformException (ERROR_EMAIL_ALREADY_IN_USE, адрес электронной почты уже используется другой учетной записи., NULL)) Если адрес электронной почты уже зарегистрирован, я хочу сообщить пользователю. КОД: Future Новенькие ({@ требуется карта USERDATA, @ требуется Струнный проход, @ требуется VoidCallback OnSuccess, @ требуется VoidCallback onFail}) {асинхронная isLoading = истина; notifyListeners (); _auth.createUserWithEmailAndPassword (электронная почта: USERDATA [ "электронная почта"], пароль: передача) .then ((пользователь) асинхронная {firebaseUser = пользователь, ждет _saveUserData (USERDATA); OnSuccess (); isLoading = ложь; notifyListeners (); }) catchError ((е) {печать (е);. onFail (); isLoading = false; notifyListeners ();}); }
2kbit
0

голосов
0

ответ
2

Просмотры

Duplicate form key when trying to use across multiple pages

У меня есть 3 разных страниц в моем приложении флаттера дела с формами. Одним из них является Логин, один является регистрация, и один для запроса маршрутов. Я положил все свои вспомогательные функции в 4-файле с именем authentication.dart. Я только создал окончательный formkey = GlobalKey () в authentication.dart и при попытке переключения экранов, я получаю сообщение: «GlobalKey может быть указан только один виджет в то время в дереве виджетов» Казалось, я получил это работает при переключении с экрана входа обратно на домашний экран с помощью Navigator.pushReplacement (контекст, MaterialPageRoute (строитель: (контекст) => MyApp (1))); Тем не менее, используя ту же технику, чтобы переключиться на экран подписаться выбрасывает ошибку Вот куски кода: authentication.dart: конечная formkey = GlobalKey (); // все другие вспомогательные функции, не имеющие отношения login_screen.dart: ключ: formkey, emailField (),
Mike1982
0

голосов
0

ответ
6

Просмотры

Google и Apple - In-App покупки - для групп

Я новичок в покупке в приложении. Я пишу мобильное приложение, которое позволит пользователям создавать группы (как WhatsApp групп). Каждый пользователь в этих группах может выполнить действие один раз, для каждого такого действия, которые они должны будут использовать монету. Эти монеты будут куплены членом группы для этой всей группы (одна монеты для каждого пользователя). Теперь в этом случае, что я могу сказать, каждая покупка будет в каждой группе не одного пользователя один пользователь будет покупать от имени других пользователей. Один пользователь может быть во многих группах, а также он может сделать покупку более чем одной группе. основанный на мои мало знаниях, пользователь не сможет купить больше, если они не потребляли предыдущие покупки. Так как же я позволить им сделать покупку для нескольких групп, даже прежде, чем они потребляют его? Я не уверен, если я могу реализовать их с, Google / Apple, в приложении покупки или нет. Также, можно использовать шлюзы оплаты от третьего лица (не считая его как в приложении покупки), чтобы сделать пользователей к оплате, так что я могу сделать это настроить в соответствии с нашими потребностями? Пожалуйста, порекомендуйте?
Pavan Jaju
1

голосов
1

ответ
346

Просмотры

Карта Google Android - не может установить иконку карты из BitmapDescriptorFactory.fromAsset

Я пытаюсь использовать пользовательский маркер с помощью маркеров изображения, предоставленные в качестве .bmp файла. Я строю приложение кросс платформы с помощью Flutter и это нативный код для Android. Изображение из активов в pubspec.yaml в флаттере проекта. маркер = карта .addMarker (MarkerOptions () .position (annotation.coordinate) .title (annotation.title) .Icon (BitmapDescriptorFactory.fromAsset ( "Библиотека / green_circle.bmp"))) Я получил сообщение об ошибке в коде выше: com.google.maps.api.android.lib6.common.apiexception.b: Не удалось декодировать изображение. При условии, изображение должно быть растровыми изображениями. Я проверил изображение, и это ВМР
grepLines
1

голосов
2

ответ
182

Просмотры

Детонация - Добавить Lib Flutter для проекта Android

Я занимаюсь разработкой проекта Android (размер около 600 МБ) на IDE Android Studio. Теперь я хочу, чтобы добавить библиотеку Flutter к моему проекту. Но я не нашел способ. Пожалуйста, помогите мне с этой проблемой.
Anh Vinh Huỳnh
1

голосов
0

ответ
314

Просмотры

Детонация ListView замерзает во время загрузки уменьшенных изображений с помощью FutureBuilder

Я создаю файловый менеджер в флаттере для учебных целей. Я только начал изучать флаттер, так что я не очень много знаний о нем. Моя проблема заключается в том, что я хочу, чтобы отобразить эскизы для изображений в папке, для этого я звоню функции, написанные на андроид машинный код, используя FutureBuilder в ListView. Она работает нормально, но когда я открываю папку с большим количеством изображений, он замораживает пользовательский интерфейс на некоторое время и я не могу прокручивать его для того времени, хотя эскизы называются асинхронно. Me код Listview: - @Override Widget сборки (BuildContext контекст) {вернуть новый ListView.builder (itemBuilder: (ItemContext, I) {если (_filesList = NULL && я <_filesList.length) {Строка currDir = _filesList [я]! [ 'путь']; возвратить новый ListTile (название: новый текст (_filesList [я] [» имя ']), ведущий: (_filesList [я] [' isDir '] == "ложно")? новый FutureBuilder (будущее: _getThumbnail (currDir), строитель: (BuildContext контекст, AsyncSnapshot снимок) {переключатель (snapshot.connectionState) {случай ConnectionState.waiting: возвращение нового контейнера (украшение: новый BoxDecoration (цвета: Colors.brown, borderRadius: новый BorderRadius.circular (20,0),), ширина: 30,0, высота: 30,0,); по умолчанию: если (снимок. hasError) возвращает новый контейнер (украшение: новый BoxDecoration (цвет: Colors.brown, borderRadius: новый BorderRadius.circular (20,0),), ширина: 30,0, высота: 30,0,); еще {возвратить новый Image.memory (snapshot.data); }}}): Новый контейнер (украшение: новый BoxDecoration (цвет: (_filesList [я] [ 'isDir'] == "истина") Colors.yellow: Colors.brown, borderRadius: новый BorderRadius.circular (20,0),), ширина: 30,0, высота: 30,0), OnTap: () {SetState (() {_currentDir = currDir;}); _getFilesList (currDir); },); } Еще {возвращать нуль; }},); } Код для _getThumbnail (): - Будущее _getThumbnail (путь) асинхронной {попробуйте {Строка thumbnailString = ждать channel.invokeMethod ( "getThumbnail", { "путь": путь}); thumbnailString = thumbnailString.replaceAll ( '\ п', ''); Uint8List байт = BASE64.decode (thumbnailString); возвращать байт; } На PlatformException улове (е) {Print ( "Файлы не найдены $ х {e.message}"); возвращать нуль; }}
Manish Yadav
1

голосов
0

ответ
182

Просмотры

как избежать другой версии, используя различные пакеты в флаттера?

Я хотел бы импортировать плагин: location_picker: ^ 0.0.12 место: ^ 1.2.0 Но я получил эту ошибку: Android зависимости «com.android.support:appcompat-v7» имеет другую версию для компиляции (26.1.0) и среда выполнения (27.1.1) путь к классам. Как я могу решить это?
Daniel Mana
1

голосов
1

ответ
500

Просмотры

Использование постоянного фонового изображения с флаттером

Я работаю над приложением, с точкой зрения 2 вкладки и хочу постоянно фоновое изображение, находясь в состоянии красть или перемещаться между 2 вкладками. Вот код для виджета: класс MyTabs расширяет StatefulWidget {@Override MyTabsState createState () => новый MyTabsState (); } Класс MyTabsState расширяет Штат с SingleTickerProviderStateMixin {контроллером TabController; @Override недействительный initState () {super.initState (); Контроллер = новый TabController (длина: 2, VSync: это); } @Override пустот Dispose () {controller.dispose (); super.dispose (); } @Override Widget сборки (BuildContext контекст) {вернуть новый эшафот (AppBar: новый AppBar (название: новый текст ( 'Divot', стиль: новый TextStyle (FontFamily: 'Pacifico')), centerTitle: правда, BackgroundColor: Colors.green , низ: новый TabBar (контроллер: контроллер, вкладки: [Новая вкладка (иконка: новая иконка (Icons.golf_course)), новая вкладка (иконка: новая иконка (Icons.account_circle))]),), тело: новый стек (дети: [новый контейнер (украшение: новый BoxDecoration (изображение: новый DecorationImage (изображение: новый AssetImage ( "образ"), подходит: BoxFit.fill,),),), новый TabBarView (контроллер: контроллер, дети: [новый second.GameMenu (), новый third.MyProfilePage (),],)],)); }} Я не получаю ошибки, но я получаю белый фон на первой вкладке, и мой AssetImage фон на второй вкладке. Что мне не хватает? вкладки: [Новая вкладка (иконка: новая иконка (Icons.golf_course)), новая вкладка (иконка: новая иконка (Icons.account_circle))]),), тело: новый стек (дети: [новый контейнер (украшение: новое BoxDecoration (изображение: новый DecorationImage (изображение: новый AssetImage ( "образ"), подходят: BoxFit.fill,),),), новый TabBarView (контроллер: контроллер, дети: [новый second.GameMenu (), новый third.MyProfilePage (),],)],)); }} Я не получаю ошибки, но я получаю белый фон на первой вкладке, и мой AssetImage фон на второй вкладке. Что мне не хватает? вкладки: [Новая вкладка (иконка: новая иконка (Icons.golf_course)), новая вкладка (иконка: новая иконка (Icons.account_circle))]),), тело: новый стек (дети: [новый контейнер (украшение: новое BoxDecoration (изображение: новый DecorationImage (изображение: новый AssetImage ( "образ"), подходят: BoxFit.fill,),),), новый TabBarView (контроллер: контроллер, дети: [новый second.GameMenu (), новый third.MyProfilePage (),],)],)); }} Я не получаю ошибки, но я получаю белый фон на первой вкладке, и мой AssetImage фон на второй вкладке. Что мне не хватает? Новая вкладка (иконка: новая иконка (Icons.account_circle))]),), тело: новый стек (дети: [новый контейнер (украшение: новый BoxDecoration (изображение: новый DecorationImage (изображение: новый AssetImage ( "образ"), подходят: BoxFit.fill,),),), новый TabBarView (контроллер: контроллер, дети: [новый second.GameMenu (), новый third.MyProfilePage (),])])); }} Я не получаю ошибки, но я получаю белый фон на первой вкладке, и мой AssetImage фон на второй вкладке. Что мне не хватает? Новая вкладка (иконка: новая иконка (Icons.account_circle))]),), тело: новый стек (дети: [новый контейнер (украшение: новый BoxDecoration (изображение: новый DecorationImage (изображение: новый AssetImage ( "образ"), подходят: BoxFit.fill,),),), новый TabBarView (контроллер: контроллер, дети: [новый second.GameMenu (), новый third.MyProfilePage (),])])); }} Я не получаю ошибки, но я получаю белый фон на первой вкладке, и мой AssetImage фон на второй вкладке. Что мне не хватает? новый BoxDecoration (изображение: новый DecorationImage (изображение: новый AssetImage ( "образ"), подходит: BoxFit.fill,),),), новый TabBarView (контроллер: контроллер, дети: [новый second.GameMenu (), новое третье. MyProfilePage (),],)],)); }} Я не получаю ошибки, но я получаю белый фон на первой вкладке, и мой AssetImage фон на второй вкладке. Что мне не хватает? новый BoxDecoration (изображение: новый DecorationImage (изображение: новый AssetImage ( "образ"), подходит: BoxFit.fill,),),), новый TabBarView (контроллер: контроллер, дети: [новый second.GameMenu (), новое третье. MyProfilePage (),],)],)); }} Я не получаю ошибки, но я получаю белый фон на первой вкладке, и мой AssetImage фон на второй вкладке. Что мне не хватает? )],)); }} Я не получаю ошибки, но я получаю белый фон на первой вкладке, и мой AssetImage фон на второй вкладке. Что мне не хватает? )],)); }} Я не получаю ошибки, но я получаю белый фон на первой вкладке, и мой AssetImage фон на второй вкладке. Что мне не хватает?
Alex East
1

голосов
1

ответ
48

Просмотры

Разница между центром и дополненной в этом случае?

Я хотел, чтобы все после AppBar по центру. Однако это не по центру. Это то, что мой код выглядит следующим образом. Я был бы признателен, если кто-то может сказать мне, почему мой текущий код не центрирование Входа в пункты Пароля. Это то, что мой текущий макет выглядит Это мой код класса MyScaffold расширяет StatelessWidget {@Override Widget сборки (BuildContext контекст) {// Материал представляет собой концептуальную часть бумаги, на котором отображается пользовательский интерфейс. . Вернуть новый материал (// Колонка представляет собой вертикальный, линейный нижестоящего макета: новый Column (дети: [новый MyAppBar (название: новый текст ( «Пример название», стиль: Тема .of (контекст). новый TextField (украшение: новый InputDecoration (граница: новый OutlineInputBorder (), hintText: --- ')),]))])); }} Я хотел бы, чтобы это выглядело, как это я знаю, что могу добиться того, чтобы искать замену центр с расширенным. Почему это работает? Какая разница между двумя. Может кто-нибудь, пожалуйста, уточнить, что Expanded действительно? )])); }} Я хотел бы, чтобы это выглядело, как это я знаю, что могу добиться того, чтобы искать замену центр с расширенным. Почему это работает? Какая разница между двумя. Может кто-нибудь, пожалуйста, уточнить, что Expanded действительно? )])); }} Я хотел бы, чтобы это выглядело, как это я знаю, что могу добиться того, чтобы искать замену центр с расширенным. Почему это работает? Какая разница между двумя. Может кто-нибудь, пожалуйста, уточнить, что Expanded действительно?
MistyD
1

голосов
0

ответ
883

Просмотры

Dart - NoSuchMethodError: Class 'Module' has no instance getter 'String'

Может некоторые объяснить, что это не так? Я стараюсь, чтобы получить элемент по ключу HashMap: Если бы я сделать это таким образом: вар stringProvider = providersHolder [String] Я получаю ошибку: NoSuchMethodError: «Модуль» класс не имеет инстанс добытчика "Струнный. Если я делаю это следующим способом: вар stringProvider = providersHolder [providersHolder.keys.last], где providersHolder.keys.last == Строка Я получаю успех. Вот полный список: модуль класса {HashMap providersHolder = новый HashMap (); аннулированию addProvider (ItemCreator itemCreator) {providersHolder [Т] = itemCreator; }} Класс испытаний {Test () {вар модуль = Модуль (); module.addProvider ((модуль) => новый Тикер ()); module.addProvider ((модуль) => "Привет"); вар ticketProvider = module.providersHolder [Код]; // успех вар stringProvider = модуль. providersHolder [String]; // ошибка}} Вот наблюдатель:
Eldar Miensutov
1

голосов
1

ответ
415

Просмотры

Как размыть BottomNavigationBar в флаттере?

Я хочу, чтобы размыть фон BottomNavigationBar лески, так что она может дать прохладное эффект размытия элементов позади него. Как я могу это сделать? Дополнительная информация: Я пытался добавить непрозрачность canvasColor путем создания новой темы в BottomNaviagtionBar. Это мой код: bottomNavigationBar: новая Тема (данные: Theme.of (контекст) .copyWith (canvasColor: Цвет (0xff424242) .withOpacity (0,5),), ребенок: новый BottomNavigationBar (OnTap: navigationTapped, currentIndex: _page, пункты: [новый BottomNavigationBarItem (иконка: новая иконка (Icons.home), название: новый текст ( 'Home')), новый BottomNavigationBarItem (иконка: новая иконка (Icons.dashboard), название: новый текст ( 'Menu')), новая BottomNavigationBarItem (иконка: Новая иконка (Icons.date_range), название: новый текст ( «Даты»))],),) И это вывод я получаю: Изображение Удивительно, как вы можете видеть, непрозрачность вообще не применяется. Я на самом деле не хочу BottomNavigationBar быть непрозрачными. Я хочу, чтобы быть размыты, так что содержание позади него можно рассматривать как размытое на BottomNaviagtionBar. Я попытался также обернуть BottomNavigationBar внутри ImageFilter.blur (), но это тоже не сработало. Я хочу, чтобы быть размыты, так что содержание позади него можно рассматривать как размытое на BottomNaviagtionBar. Я попытался также обернуть BottomNavigationBar внутри ImageFilter.blur (), но это тоже не сработало. Я хочу, чтобы быть размыты, так что содержание позади него можно рассматривать как размытое на BottomNaviagtionBar. Я попытался также обернуть BottomNavigationBar внутри ImageFilter.blur (), но это тоже не сработало.
Prasanth Kanna
1

голосов
0

ответ
161

Просмотры

не в состоянии использовать firebase и местоположение плагин через флаттер и андроид

Я работаю над этим вопросом в течение 2 целых дней, и теперь не являюсь ближе к решению этого. Я использую флаттер, и после выполнения codelabs учебника для firebase, я попытался добавить местоположение в микс. Моя зависимость в pubspec.yaml, build.gradle, и приложение / build.gradle выглядеть следующим образом. pubspec.yaml зависимости: флаттер: СДК: флаттер # image_picker: 0.1.1 # новый # google_sign_in: 0.3.1 # новый # firebase_analytics: 0.0.4 # новый # firebase_auth: 0.2.0 # новый firebase_database: 0.0.12 # старый firebase_storage : 0.0.5 # старый # firebase_database: 0,4. ), Если (localPropertiesFile.exists ()) {localPropertiesFile.withReader ( 'UTF-8') {читатель -> localProperties.load (считыватель)}} Защиту flutterRoot = localProperties.getProperty ( 'flutter.sdk'), если (flutterRoot == NULL) {певд GradleException ( "флаттер SDK не найден Определение местоположения с flutter.sdk в файле local.properties..")} применить плагин: 'com.android.application' применяются с: «$ flutterRoot / пакетов / flutter_tools / Gradle / flutter.gradle»андроид {compileSdkVersion 27 lintOptions {отключить 'InvalidPackage'} defaultConfig {// TODO: Укажите свой собственный уникальный идентификатор приложения (https://developer.android.com/studio/build/application-id.html) , ApplicationID "com.takaoandrew.flutteralight" minSdkVersion 21 targetSdkVersion 27 VersionCode 1 versionName "1,0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" // multiDexEnabled истинные} {buildTypes выпуск {// TODO: Добавьте свой собственный конфиг подписи для сборки релиза. // Подписание с отладочных ключами на данный момент, так `флаттера перспективе --release` работает. signingConfig signingConfigs.debug}}} {флаттера источник '../ ..'} зависимостей {testImplementation 'JUnit: JUnit: 4.12' 'androidTestImplementation com.android.support.test: бегун: 1.0.1' com.android androidTestImplementation». support.test.espresso: эспрессо-ядро: 3.0.1' // компилировать ( "com.google.android.gms: играть-сервисы базы: 10.0.1" ) {// сила = истина; //} // компилировать ( "com.google.android.gms: плей-сервис-задачи: 10.0.1") {// сила = истина; //} // компилировать ( "com.google.android.gms: играть-сервисы подвал: 10.0.1") {// сила = истина; //}} применить плагин: «com.google.gms.google-сервисы» Я получаю ошибку делают это выполнение Сбой задачи «: приложение: preDebugBuild». Android зависимостей «com.google.android.gms: игры-сервисы база» имеет другую версию для компиляции (11.0.4) и выполнения (11.8.0) классов. Вы должны вручную установить ту же версию с помощью DependencyResolution я попытался вручную изменить свои плей-услуги, но я не знаю, как сделать это с флаттера. Назад, когда все это было андроид, я выбрал номер версии сам. Раскомментировать следующие строки из приложения / сборки. Gradle // компилировать ( "com.google.android.gms: играть-сервисов база: 10.0.1") {// сила = истина; //} // компилировать ( "com.google.android.gms: плей-сервис-задачи: 10.0.1") {// сила = истина; //} // компилировать ( "com.google.android.gms: играть-сервисы подвал: 10.0.1") {// сила = истина; //} дает мне выполнение Ошибки для задачи «: приложение: transformDexArchiveWithExternalLibsDexMergerForDebug». java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Невозможно объединить Dex - это классическая ошибка для меня. Раскомментировать строку // multiDexEnabled верно в приложении / build.gradle не меняется с не в состоянии объединить DEX ошибки. Зависимости кажется бардаком мне, так что я пытался смотреть на дереве зависимостей. Я хочу, чтобы мои Gradle зависимостей, чтобы попытаться выровнять все. Когда я бегу ./gradlew: приложения / зависимостей я получаю FAILURE: Строить неудачу с исключением. Что пошло не так: не удалось определить версию Java от '10 .0.1. Если кто-нибудь знает, что мои вопросы, или кто-то есть полезные ссылки, чтобы помочь мне понять Gradle зависимости, и как они связаны с флаттера зависимости, или как решить проблемы с «DEX», или какие-либо советы на все ... Я был бы весьма признателен это потому, что я сейчас стучал головой о стену. Я пробовал другие решения, я видел в StackOverflow и ничего не работает. И версия IOS прекрасно работает до сих пор. Не удалось определить версию Java от '10 .0.1. Если кто-нибудь знает, что мои вопросы, или кто-то есть полезные ссылки, чтобы помочь мне понять Gradle зависимости, и как они связаны с флаттера зависимости, или как решить проблемы с «DEX», или какие-либо советы на все ... Я был бы весьма признателен это потому, что я сейчас стучал головой о стену. Я пробовал другие решения, я видел в StackOverflow и ничего не работает. И версия IOS прекрасно работает до сих пор. Не удалось определить версию Java от '10 .0.1. Если кто-нибудь знает, что мои вопросы, или кто-то есть полезные ссылки, чтобы помочь мне понять Gradle зависимости, и как они связаны с флаттера зависимости, или как решить проблемы с «DEX», или какие-либо советы на все ... Я был бы весьма признателен это потому, что я сейчас стучал головой о стену. Я пробовал другие решения, я видел в StackOverflow и ничего не работает. И версия IOS прекрасно работает до сих пор. Я пробовал другие решения, я видел в StackOverflow и ничего не работает. И версия IOS прекрасно работает до сих пор. Я пробовал другие решения, я видел в StackOverflow и ничего не работает. И версия IOS прекрасно работает до сих пор.
Andrew Takao
1

голосов
1

ответ
302

Просмотры

мы можем отправить изображение толчка уведомление с использованием ТСМА в флаттере?

Я не могу отправить изображения как толчок уведомления в трепетание я использую пакет firebase_messaging. это может быть сделано с помощью флаттера
praveen Dp
1

голосов
0

ответ
22

Просмотры

Как я могу получить все изображения и видео, присутствующие в моей памяти в Futter. Так же, как галерея приложение

Я просто делаю некоторую практику в трепетании и не знаю, как получить URI всех изображений и видео, присутствующего в моей памяти в флаттере. Вот мой код, класс Галерея расширяет StatefulWidget {@Override _GalleryState createState () => новый _GalleryState (); } Класс _GalleryState расширяет State {List _uriList = новый список (); @Override недействительный initState () {super.initState (); SetState (() {_uriList.add ( "Что вводить здесь ??");}); } @Override Widget сборки (BuildContext контекст) {вернуть новый MaterialApp (название: "Галерея", дом: новый эшафот (AppBar: новый AppBar (название: новый текст ( "Галерея"),), корпус: новый ListView.builder (ITEMCOUNT : _uriList.length, itemBuilder: (BuildContext контекст, INT индекс) {},),),); }}
1

голосов
1

ответ
1.8k

Просмотры

Как обеспечить путь в флаттера

Я создаю приложение викторины в флаттере, для которого я собрал некоторые вопросы в CSV-файле. Я хочу, чтобы сохранить файл CSV в firebase и отображения вопросов в приложение путем чтения из файла CSV. Но только, чтобы проверить, если файл чтения так же просто, как это должно быть, я пытался читать фиктивный файл следующим образом:. Новый файл ( «file.txt») readAsString (), то ((содержимое String) {Print (. содержание);}); от main.dart до возвращения Widget. Но я получаю эту ошибку: `FileSystemException: Не удается открыть файл, путь =«file.txt»(OS Ошибка: Нет такого файла или каталога, ERRNO = 2)`, хотя я сделал файл фиктивного file.txt 'в тот же каталог, как «main.dart». Я пытался делать «./file.txt» и даже абсолютный путь из окна проводника, но никто не похоже на работу. Как это исправить?
Bipin
1

голосов
1

ответ
689

Просмотры

Высота флаттер Контейнер Анимация начинается с середины

Высота флаттер Контейнер Анимация начинается с середины, но мне нужно начинать с нижней вот мой код импорта «дротик: математика»; импорт 'пакет: трепетание / material.dart'; Класс CorrectWrongOverlay расширяет StatefulWidget {окончательного Ий _isCorrect; Окончательный VoidCallback _onTap; Окончательные двойные percentR; Окончательный двойной percentW; CorrectWrongOverlay (this._isCorrect, this.percentR, this.percentW, this._onTap); @Override государственный createState () => новый CorrectWrongOverlayState (); } Класс CorrectWrongOverlayState расширяет государство с SingleTickerProviderStateMixin {Animation _iconAnimation; AnimationController _iconAnimationController; @Override недействительный initState () {super.initState (); _iconAnimationController = новый AnimationController (продолжительность: новая Длительность (секунды: 3), VSync: это); _iconAnimation = новый CurvedAnimation (родитель: _iconAnimationController, кривая: Curves.fastOutSlowIn); _iconAnimation.addListener (() => this.setState (() {})); _iconAnimationController.forward (); } @Override недействительными Dispose () {_iconAnimationController.dispose (); super.dispose (); } @Override Widget сборка (BuildContext контекст) {вернуть новый материал (цвет: Colors.black54, ребенок: новая чернильница (OnTap: () => widget._onTap (), ребенок: новая Перетяжка (обивка: Const EdgeInsets.all (18,0 ), ребенок: новый центр (ребенок: новый ряд (mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, mainAxisSize: MainAxisSize.min, дети: [Новая Перетяжка (обивка: Const EdgeInsets.all (8.0), ребенок: новый контейнер (ширина: 80,0, высота: 200,0 * _iconAnimation.value, цвет: Colors.green,),), новая Перетяжка (обивка: Const EdgeInsets.all (8.0), ребенок: новый контейнер (ширина: 80,0, высота: 200,0, цвет: Colors.green,),)],),),),),); }} Я пытаюсь добиться подобного интерфейса с высотой расти анимации в флаттере я хочу анимацию, чтобы начать с нижним, но она начинается от центра контейнера и анимированного его как сторона. Const EdgeInsets.all (8,0), ребенок: новый контейнер (ширина: 80,0, высота: 200,0 * _iconAnimation.value, цвет: Colors.green,),), новая Перетяжка (обивка: Const EdgeInsets.all (8,0), ребенок: новый контейнер (ширина: 80,0, высота: 200,0, цвет: Colors.green,),)],),),),),); }} Я пытаюсь добиться подобного интерфейса с высотой расти анимации в флаттере я хочу анимацию, чтобы начать с нижним, но она начинается от центра контейнера и анимированного его как сторона. Const EdgeInsets.all (8,0), ребенок: новый контейнер (ширина: 80,0, высота: 200,0 * _iconAnimation.value, цвет: Colors.green,),), новая Перетяжка (обивка: Const EdgeInsets.all (8,0), ребенок: новый контейнер (ширина: 80,0, высота: 200,0, цвет: Colors.green,),)],),),),),); }} Я пытаюсь добиться подобного интерфейса с высотой расти анимации в флаттере я хочу анимацию, чтобы начать с нижним, но она начинается от центра контейнера и анимированного его как сторона. новый контейнер (ширина: 80,0, высота: 200,0 * _iconAnimation.value, цвет: Colors.green,),), новая Перетяжка (обивка: Const EdgeInsets.all (8,0), ребенок: новый контейнер (ширина: 80,0, высота: 200,0 , цвет: Colors.green,),)],),),),),); }} Я пытаюсь добиться подобного интерфейса с высотой расти анимации в флаттере я хочу анимацию, чтобы начать с нижним, но она начинается от центра контейнера и анимированного его как сторона. новый контейнер (ширина: 80,0, высота: 200,0 * _iconAnimation.value, цвет: Colors.green,),), новая Перетяжка (обивка: Const EdgeInsets.all (8,0), ребенок: новый контейнер (ширина: 80,0, высота: 200,0 , цвет: Colors.green,),)],),),),),); }} Я пытаюсь добиться подобного интерфейса с высотой расти анимации в флаттере я хочу анимацию, чтобы начать с нижним, но она начинается от центра контейнера и анимированного его как сторона. ),), Новая Перетяжка (обивка: Const EdgeInsets.all (8.0), ребенок: новый контейнер (ширина: 80,0, высота: 200,0, цвет: Colors.green,),)],),),),),) ; }} Я пытаюсь добиться подобного интерфейса с высотой расти анимации в флаттере я хочу анимацию, чтобы начать с нижним, но она начинается от центра контейнера и анимированного его как сторона. ),), Новая Перетяжка (обивка: Const EdgeInsets.all (8.0), ребенок: новый контейнер (ширина: 80,0, высота: 200,0, цвет: Colors.green,),)],),),),),) ; }} Я пытаюсь добиться подобного интерфейса с высотой расти анимации в флаттере я хочу анимацию, чтобы начать с нижним, но она начинается от центра контейнера и анимированного его как сторона. зеленый,),)],),),),),); }} Я пытаюсь добиться подобного интерфейса с высотой расти анимации в флаттере я хочу анимацию, чтобы начать с нижним, но она начинается от центра контейнера и анимированного его как сторона. зеленый,),)],),),),),); }} Я пытаюсь добиться подобного интерфейса с высотой расти анимации в флаттере я хочу анимацию, чтобы начать с нижним, но она начинается от центра контейнера и анимированного его как сторона.
devmer
1

голосов
0

ответ
68

Просмотры

Детонация Ошибка установки на Windows,

У меня ударил проблему очень рано в официальном руководстве по использованию Flutter. Specifcally, когда я бегу флаттера Доктор я получаю сообщение об ошибке: X Загруженные исполняемые файлы не могут выполняться на хосте. См https://github.com/flutter/flutter/issues/6207 для получения дополнительной информации Когда я по этой ссылке там нет ничего, что выглядит актуальным. (Это в основном о проблемах LINUX) Может кто-нибудь посоветовать мне, что я должен делать?
Adam Burr
1

голосов
0

ответ
109

Просмотры

Как получить доступ к детям собственности на снимке в флаттере?

Я писал snapshot.children.allObjects в стрижа. Как я пишу этот код в флаттера с firebase? Если я использую snapshot.value как! [String: Любой] узлы снимка, которые не извлекаются в порядке из базы данных. Есть ли другой вариант для извлечения объектов в порядке Firebase консоли? query.observeSingleEvent (из: .value, с: {(снимок) в охранник пусть снимок = snapshot.children.allObjects, как [DataSnapshot] еще {завершение возврата (ноль, [])} snapshot.forEach ({(postSnapshot) в? печать (postSnapshot)})})
Michael Cube
1

голосов
0

ответ
605

Просмотры

Как я должен обрабатывать маркер доступа и API секреты в флаттера

Чисто андроид приложения используют Gradle обрабатывать защищенные маркеры доступа и API секреты. Где я должен хранить свои секреты в флаттере? Безопасно ли поставить их на текстовый файл ресурсов и просто его не совершают?
Andre Haueisen
1

голосов
1

ответ
172

Просмотры

Как следить за буфером обмена в флаттере?

Я ищу способ следить за буфером обмена в флаттере, все, что я мог бы найти, связанное с буфером взаимодействия на флаттере был: класс Clipboard, кто-нибудь знает, как я могу контролировать системный буфер обмен для новых элементов в флаттере, предпочтительно используя плагин?
dsilveira
1

голосов
1

ответ
89

Просмотры

Ошибка при Android Studio см мой Iphone подключен в режиме отладки

По какой-то причине, я получаю эту ошибку, когда Android студии обнаружить мой телефон подключен, так что я стараюсь, чтобы запустить его в режиме отладки. Отсутствует приложение для TargetPlatform.ios. Является ли ваш проект отсутствует ИОС / Runner / info.plist? Рассмотрите управление «флаттер создать.» создать. Любая помощь, пожалуйста? Заранее спасибо.
Heyab Redda
1

голосов
0

ответ
677

Просмотры

Детонация плагиной firebase хранения, отнимающие много времени, чтобы загрузить файл

Я работаю на Android приложение, с помощью флаттера. В моем приложении есть функция, где пользователь может загружать изображения со своего устройства. Для хранения изображений я использую для хранения firebase облака и здесь является частью кода, я использую для загрузки файлов на firebase облако хранения. Строка FileName = "$ {this.userDetails [ 'ID']} _ $ {uuid.v1 ()}"; Строка FileExtension = p.extension (_imageFile.path); Строка newFileName = p.setExtension (имя_файл, FileExtension); печать ( "ШАГ 1: Новое имя файла изображения - 111: $ newFileName"); Окончательный StorageReference исх = FirebaseStorage.instance.ref () ребенок ( "изображения / пользователей / оригинал / $ newFileName"). Окончательный StorageUploadTask uploadTask = ref.put (_imageFile, Const StorageMetadata (contentLanguage: "ан")); печать ( "ШАГ 2: файл изображения загружено - 222"); Окончательный Ури downloadUrl = (ждут uploadTask.future) .downloadUrl; ( ': Полученные данные downloadUrl - 333: ШАГ 3 $ downloadUrl') печати; Окончательный http.Response downloadData = ждут http.get (downloadUrl); ( ': Получено Загрузка данных - 444: ШАГ 4 $ {downloadData.body}') печати; Вот три связанных флаттера плагин, который я использую, которые помогают выше код для загрузки файлов. импорт 'пакет: UUID / uuid.dart'; импорт «пакет: путь / path.dart» в р; импорт 'пакет: firebase_storage / firebase_storage.dart'; Все работает отлично. Кроме этого, загрузка файлов занимает много времени. Почти это занимает более 40-50 секунд, чтобы завершить STEP-3 (печать ( 'ШАГ 3: Данные downloadUrl получили - 333: $ downloadUrl');). Иногда 1 и половиной минуты тоже. О моей скорости интернета, это он почти 80Mbps загрузки и загрузки. Мой ср. загружаемый размер изображения 100Кб. Нужна помощь на рис. , что это проблема. Добавление (размер файла 2.8 MB) Скриншот из моего журнала Android Studio - I / трепетание (4451): cliked на кнопку загрузки изображения I / флаттера (4451): Загрузка анимации начала I / трепетание (4451): 2018-06-06 23: 15: 30,327722 - ШАГ 1: Новое имя файла получили - 111: KyvU5PFfLRPxYFwHaiKHuywilMV2_679b9ee0-4800-11e8-fe1b-7f6c98d5147d.png I / трепетание (4451): 2018-06-06 23: 15: 30.329420 - ШАГ 2: файл изображения загружено - 222 Вт / DynamiteModule (4451): Локальный класс модуля дескриптор com.google.android.gms.firebasestorage не найден. W / zygote64 (4451): погрузчик неподдерживаемого класса W / zygote64 (4451): Пропуск проверки дубликата класса из-за неподдерживаемый загрузчик классов I / DynamiteModule (4451): С учетом локального модулем com.google.android.gms.firebasestorage: 0 и удаленным модулем ком .google.android.gms.
Suresh
1

голосов
1

ответ
1.5k

Просмотры

Flutter POST with JSON Array

Мне нужно создать пост запрос с JSON, который содержит массив. Метод http.post принимает только карты. Из-за этого я не могу передать карту с типом, так как карта будет содержать список. Вот мой код для явного HttpClientRequest: String = jsonString json.encode (тело); // закодировать карту в JSon Список bodyBytes = utf8.encode (jsonString); // utf8 закодировать HttpClient клиент = новый HttpClient (); HttpClientRequest запрос = ждут client.postUrl (Uri); // это вежливо послать длину тела на сервер request.headers.set ( 'Content-Length', bodyBytes.length.toString ()); request.headers.set ( 'Authorization', '...'); request.headers.set ( 'X-авторизации', apiKey); request.headers.set ( "Принять", "приложения / JSON"); request.headers.set ( 'Content-Type', 'форм-данных'); запрос. (добавить bodyBytes); HttpClientResponse ответ = ждут request.close (); response.transform (utf8.decoder) .listen ((содержание) {// возвращает дескриптор данных jsonDecode (содержание);}); Проблема заключается в том, выше запрос не удается. EDIT: JSON, который создается является: { "субъект": "ПОЖАЛУЙСТА", "сообщение": "Просто работа..", "Фильтр": "[8]"} Но JSON-сервер ожидает, это: { " субъект «:» «,„сообщение PLEASE“:„просто работать“,„фильтр“:.. [8],} Моя главная забота как можно создать массив JSON ... субъект ":" " "сообщение PLEASE":" JUST. РАБОТА " "фильтр.":" [8] "} Но JSON-сервер ожидает, что это: { "субъект": "ПОЖАЛУЙСТА", "сообщение":" JUST. РАБОТА ",„фильтр“:. [8],} Моя главная забота как можно создать массив JSON ... субъект ":" " "сообщение PLEASE":" JUST. РАБОТА " "фильтр.":" [8] "} Но JSON-сервер ожидает, что это: { "субъект": "ПОЖАЛУЙСТА", "сообщение":" JUST. РАБОТА ",„фильтр“:. [8],} Моя главная забота как можно создать массив JSON ...
1

голосов
0

ответ
159

Просмотры

Е / трепетание (20289): RangeError (конец): Недействительное значение: Не в диапазоне 55277..58814 включительно: 59396

Список ListMyWidgets (ticketGroups) {список List = новый список (); list.add (новый CupertinoNavigationBar (BackgroundColor: Colors.blue, ведущий: // дети: [новая Перетяжка (обивка: новый EdgeInsets.all (8,0), ребенок: новый текст (ticketGroups [0] [ 'ticket_name'], стиль: Const TextStyle (FontSize: 20,0, FontFamily: 'Поппинс', цвет: Colors.white)),), трейлинг: новая Перетяжка (обивка: новый EdgeInsets.all (8.0), ребенок: новый текст ( '$ {ticketGroups.length} », стиль: Const TextStyle (FONTSIZE: 20,0, FontFamily: 'Поппинс', цвет: Colors.white))))); для (INT I = 0; I <ticketGroups.length, я ++) {list.add (новый GestureDetector (// OnTap: _try (ticketGroups [I]), OnTap: _try (ticketGroups [I]), // OnTap: _try (1), // ticketGroups [я] ребенок: новая карта (ребенок: новый ряд (mainAxisAlignment: MainAxisAlignment.spaceBetween, дети: [новая Перетяжка (обивка: новый EdgeInsets.all (8,0), ребенок: новый текст (ticketGroups [0] [ 'ticket_name'], стиль: Const TextStyle ( FONTSIZE: 15,0, FontFamily: 'Поппинс')),), новая Перетяжка (обивка: новый EdgeInsets.all (8,0), ребенок: новый текст (ticketGroups [я] [ "б"] ToString (), стиль:. Const TextStyle (FontSize: 15,0, FontFamily: 'Поппинс')))],),)),); } Возвращать список; } Я не знаю, почему я получаю эту ошибку, тихо трудно выяснить, где именно ошибка, так как, не говорит мне линию. Однако я считаю, было бы полезно, чтобы отправить это отрезала часть моего кода,
Heyab Redda
1

голосов
1

ответ
729

Просмотры

Создание Табличное в флаттера с помощью дротика

Я пытаюсь создать TableView в трепетание, но не могу найти какие-либо примеры, которые я могу понять. Может кто-то пожалуйста, предоставьте простой пример.
Sharafath Ali

Просмотр дополнительных вопросов