Ir para conteúdo

Bem vindo ao Fluttership

Fluttership

Pesquisar na Comunidade

Showing results for tags 'flutter'.



More search options

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Dúvidas e Suporte
    • Flutter Mobile
    • Flutter Desktop
    • Flutter Web
  • Eventos
    • Eventos e Meetups
  • Store
    • Templates
  • Quadro Oficial
    • Projeto Oficiais
    • Repositório Oficial
    • Releases Flutter
    • Desafios
    • Novidades da Comunidade
    • Faça parte da equipe
  • Material de Estudo
    • Exemplos
    • Didáticas em vídeos
    • Didática em Livros
    • Referências e Fontes
  • Flutter
    • Instalação do Ambiente desenvolvimento
    • Estrutura
    • Dicas Rápidas
  • Off-Topic
    • [OFF] Assuntos Diversos
    • Experiências Profissionais
    • Vagas de emprego
    • Lojas de Aplicativos

Categorias

  • Flutter Mobile
  • Flutter Web
  • Flutter desktop
  • Aplicações
  • Desafio Marvel
  • Template Store

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


About Me

Encontrado 15 registros

  1. 💻 OLÁ DEVS 💻 Estamos aqui novamente para compartilhar o conhecimento com vocês. Desta vez estamos desenvolvendo um clone da plataforma de stream Twitch.TV. Este app ainda esá em desenvolvimento, então se você quiser ajudar a nossa comunidade, esta é uma das oportunidades de compartilhar seu conhecimento com nos e nos ajudar no desenvolvimento deste projeto. DARK THEME LIGHT THEME Repositório: https://github.com/fluttership/Twitch-Clone-Flutter 😁 Comente o que você achou desta iniciativa 😁 Até a proxima XD
  2. ⚓ Ola Marinheiros ⚓, Uma das coisas mais legais no desenvolvimento mobile, é o uso de APIs para o desenvolvimento de nossas aplicações certo? Com elas tudo fica bem mais fácil, não necessitando ter os dados armazenados diretamente em nossos celulares. Hoje trago para vocês esta aplicação que ainda esta em desenvolvimento, é um app para consulta de CEP consumindo a API Via CEP. O nome do app é CEP BRASIL, como dito anteriormente, ele ainda está em desenvolvimento, e como ele está no GitHub qualquer um de vocês poderão contribuir para a melhoria dele. Em breve este mesmo app será feito para a plataforma Web e Desktop, tudo usando amigo Flutter. Nome do app: CEP Brasil Versão: 1.0.1 Repositório: https://github.com/shinoda-labs/cep-brasil API: https://viacep.com.br
  3. Alex Castro

    Api Consulta CEP

    Fala devs!! Estou compartilhando este novo link onde vai ter todas nossas api's, link único, novidade sempre!! esta disponível alem do login JWT, a consulta de CEP também! ilimitado para vocês https://app.swaggerhub.com/apis-docs/AlexcastroDev/Fluttership/1.0.0
  4. Crow

    flutter cpf_cnpj_validator

    Adiciona no pubspec.yaml dependencies: cpf_cnpj_validator: ^1.0.5 Pra usar CPF: // Import package import 'package:cpf_cnpj_validator/cpf_validator.dart'; CPFValidator.isValid("334.616.710-02") // true CPFValidator.isValid("334.616.710-01") // false CPFValidator.isValid("35999906032") // true CPFValidator.isValid("35999906031") // false CPFValidator.isValid("033461671002") // false // If you dont want the validation method to strip the values // Just use false in the second argument CPFValidator.isValid("334.616.710-02", false) // false CPFValidator.isValid("35999906032@mail", false) // false // Other utility methods CPFValidator.format("33461671002") // Result: 334.616.710-02 CPFValidator.strip("334.616.710-02") // Result: 33461671002 // Generate a raw CPF number, without format CPFValidator.generate() // Result: 33461671002 // Generate a formatted CPF number CPFValidator.generate(true) // Result: 334.616.710-02 Pra usar CNPJ: // Import package import 'package:cpf_cnpj_validator/cnpj_validator.dart'; CNPJValidator.isValid("12.175.094/0001-19") // true CNPJValidator.isValid("12.175.094/0001-18") // false CNPJValidator.isValid("17942159000128") // true CNPJValidator.isValid("17942159000127") // false CNPJValidator.isValid("017942159000128") // false // If you dont want the validation method to strip the values // Just use false in the second argument CNPJValidator.isValid("12.175.094/0001-19", false) // false CNPJValidator.isValid("17942159000128@mail", false) // false // Other utility methods CNPJValidator.format("85137090000110") // Result: 85.137.090/0001-10 CNPJValidator.strip("85.137.090/0001-10") // Result: 85137090000110 // Generate a raw CNPJ number, without format CNPJValidator.generate() // Result: 85137090000110 // Generate a formatted CNPJ number CNPJValidator.generate(true) // Result: 85.137.090/0001-10
  5. Fala galera! Primeiramente, agradeço pelo apoio de todos! Eu mencionei sobre uma API Rest para vocês consumirem gratuitamente em seus Apps Flutter, e está próximo de ser implantado!! 😍 A primeira que vou disponibilizar é um TO DO, e vou trazer um App consumindo esta API como exemplo. Minha pergunta é a seguinte: Quais funcionabilidade vocês gostariam de consumir? Exemplo: Login, Estoque. OBS: Quaisquer um, exceto Login, terá o CRUD ( Create, Read, Update e Delete ) Hey Devs!! What's up? First of all, i am very very happy 2be a part of this community and sorry for my english, LOL! I mention about build an API REST for u All in somes flutters groups and IT'S COMMING !!! My Question is: What kind of Rest API you'll want to consume? Even though, Our community Fluttership's a portuguese forum, you can post here or in our forum, this question. https://fluttership.com.br/index.php?/topic/48-fluttership-api-rest/ ( Maybe i'll not reply everybody, cuz i've been very busy with work and projects, BUT, i'll do my best 4u all.)
  6. void main() { DateTime hoje = DateTime.parse('2019-09-30'); DateTime ontem = DateTime.parse('2019-09-29'); if(hoje.difference(ontem).inDays > 0) { print('$hoje é maior que $ontem'); } } Este é um modo para comparar se uma data é maior que outra... Entre outras: 1. add() This adds the provided duration and returns a new DateTime instance: var berlinWallAdd10 = berlinWallFell.add(Duration(days: 10, hours: 5))); // 19th of November at 05:00 hrs print(berlinWallAdd10.day); // => 19 print(berlinWallAdd10.hour); // => 5 2. difference() This accepts another DateTime object, returning the difference as a Duration object. You can then extract the days, hours, minutes and so on. var diff = berlinWallFell.difference(moonLanding); diff.inDays; // => 7416 - log these out with print(diff.inDays); diff.inHours; // => 177987 diff.inMinutes; // => 10679261 3. isAfter(DateTime other) This checks that the given date is after other: moonLanding.isAfter(berlinWallFell); // => false 4. isBefore(DateTime other) This checks that the given date is before other: moonLanding.isBefore(berlinWallFell); // => true 5. compareTo(DateTime other) Checks to see that the date values are equal. Returns 0 if they are. berlinWallFell.compareTo(berlinWallFell); // => 0 (equal) moonLanding.compareTo(berlinWallFell); // => -1 (not equal) 6. subtract(Duration duration) Subtracts the given duration from the date. berlinWallFell.subtract( Duration(days: 7416, hours: 3, minutes: 41, seconds: 56)); // => 1969-07-20 20:18:04.000Z (about the day and time of the moon landing) 7. toLocal() Returns the date in the local time zone. Useful for i18n. moonLanding.toLocal(); // => 1969-07-20 21:18:04.000 8. toUtc() Returns the date in UTC time. moonLanding.toUtc(); // => 1969-07-20 20:18:04.000Z moonLanding.timeZoneName; // => UTC
  7. Fala Devs, beleza? sabia que agora você pode vender uma template??? Isso ae!! Com o sucesso que tivemos do Desafio Marvel valendo uma camisa da comunidade, decidimos que você pode criar uma template ou um app modelo e vender o source. é super simples!!! OBS: Para proteger você e seus clientes, deixamos umas dicas e termos para você fazer a venda, ou comprar de modo seguro. https://fluttership.com.br/index.php?/guidelines/ Passo a passo como vender templates 1° - Click na aba downloads 2° - Envie um arquivo (submit a file) 3° Faça upload do source 4° aguarde o upload 5° Adicione screenshots válidas 6° - Digite o nome do template e sua descrição 7° - Digite o valor e sua renovação. OBS: você pode optar por "no renewals", uma vez pago, pode baixar novas versões de melhorias ou como na foto abaixo, você ta,mbém pode dar um prazo de dias e valor.
  8. Ótima UI, usando firebase Código fonte https://github.com/Santos-Enoque/complete_flutter_ecommerce
  9. Crow

    flutter_webview

    pubspec.yaml dependencies: flutter: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 flutter_webview_plugin: ^0.2.1+2 pull_to_refresh: ^1.0.7 flutter_launcher_icons: ^0.7.3 main.dart import 'package:flutter/material.dart'; import 'package:flutter_webview_plugin/flutter_webview_plugin.dart'; import "package:pull_to_refresh/pull_to_refresh.dart"; RefreshController _refreshController = RefreshController(initialRefresh: false); void main() => runApp(MaterialApp( home: MyApp(), debugShowCheckedModeBanner: false, theme: ThemeData( primarySwatch: Colors.deepOrange, secondaryHeaderColor: Colors.white, ))); class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<MyApp> { String url; @override void initState() { super.initState(); url = "https://www.natura.com.br/login?redirect=%2Fc%2Ftudo-em-promocoes&consultoria=revistanatura"; } void _onRefresh() { setState(() { url = "https://www.natura.com.br/login?redirect=%2Fc%2Ftudo-em-promocoes&consultoria=revistanatura"; }); } @override Widget build(BuildContext context) { return Scaffold( body: FutureBuilder<String>( future: this.pagina(), builder: (context, snapshot) { switch (snapshot.connectionState) { case ConnectionState.none: case ConnectionState.waiting: return Center( child: CircularProgressIndicator() ); case ConnectionState.active: case ConnectionState.done: if (snapshot.hasData) { return WebviewScaffold( appBar: AppBar(title: Text("Revista Natura Online"), centerTitle: true, actions: <Widget>[ IconButton( icon: Icon(Icons.refresh), onPressed: () { setState(() { _onRefresh(); }); }, ), ], ), withJavascript: true, url: snapshot.data , withZoom: true, ); } else if (snapshot.hasError) { return Scaffold( body: Center( child: Text("${snapshot.error}"), ), ); } return Scaffold( body: Center(child: CircularProgressIndicator()), ); } return Center( child: CircularProgressIndicator() ); } ), ); } Future<String> pagina() async{ return url; } }
  10. Fala galera, Primeiramente me apresentando, Meu nome é Alexandro Castro, sou CEO do Fluttership, 23 anos, apaixonado por tecnologias, assim igual a todos vocês. Ontem 11/09, teria inaugurado o novo design do fórum, porém por um atraso do datacenter, ter feito um rollback, hoje estamos deixando o fórum com melhor visual, e com novidades!! Design Como comentado, o design foi pensado para ter uma identidade visual. Downloads Área de Downloads foi preparado para receber projetos de vocês, para divulgar suas experiências. Aproveitando, Responda a enquete sobre trabalhos remunerados que poderão ter no fórum. Que tal um lugar onde você não precisará pagar para divulgar seu trabalho? Legal né? Staff Neste Link Você pode ver como pode ajudar a comunidade crescer e receber Jobs remunerados ( Freelancer ) Por enquanto, essas são as novidades, espero que sempre que puder, eu consiga trazer conteúdo para vocês. Obrigado a todos por ser essa turma magnífica! Abraços
  11. Version 1.0.0

    9 downloads

    Home de aplicações Inspiração está no anexo

    Free

  12. Alex Castro

    Flutter v1.8.3

    Atualização referente as funções assíncronas #34545 In order to keep errors from getting inadvertently swallowed in FutureBuilder and StreamBuilder, the following changes were made to those APIs (announcement😞 AsyncSnapshot.data now throws an error if AsyncSnapshot.hasData is false. Callers can guard against this by consulting AsyncSnapshot.hasData before accessing the data property: Before builder: (BuildContext context, AsyncSnapshot<String> snapshot) { String data = snapshot.data ?? 'default_value'; ... }, After builder: (BuildContext context, AsyncSnapshot snapshot) { String data = snapshot.hasData ? snapshot.data : 'default_value'; ... }, AsyncSnapshot.requireData was removed. Callers who are using this can update their code by accessing AsyncSnapshot.data instead, which now behaves the way that requireDatadid. The initialData argument to the StreamBuilder() constructor is now a required argument. Callers who do not wish to pass initial data may use the newly added StreamBuilder.withoutInitialData() constructor. This should go in tandem with a change that checks for snapshot.hasData in your builder method: Before return StreamBuilder<String>( stream: myStream, builder: (BuildContext context, AsyncSnapshot<String> snapshot) { return Text(snapshot.data ?? 'default_value'); }, ); After return StreamBuilder<String>.withoutInitialData( stream: someStream, builder: (BuildContext context, AsyncSnapshot<String> snapshot) { return Text(snapshot.hasData ? snapshot.data : 'default_value'); }, ); The initialData argument to the FutureBuilder() constructor is now deprecated and will be removed in a future release. Callers who are using FutureBuilder.initialDatashould instead check the snapshot's connection state in their builder method: Before return FutureBuilder<String>( future: someFuture, initialData: 'initial_value', builder: (BuildContext context, AsyncSnapshot<String> snapshot) { return Text(snapshot.data); }, ); After return FutureBuilder<String>( future: someFuture, builder: (BuildContext context, AsyncSnapshot<String> snapshot) { return Text(snapshot.connectionState == ConnectionState.done ? snapshot.data : 'initial_value'); }, ); Fonte: https://github.com/flutter/flutter/wiki/Changelog
  13. felipebhz

    Artigo sobre Bloc (em inglês)

    Pessoal, encontrei esse artigo que explica sobre o padrão Bloc. Alguns tópicos: What is BLoC Pattern? Why BLoC? When to use BLoC? and, How to implement BLoC? Link: https://medium.com/flutterdevs/bloc-pattern-in-flutter-part-1-flutterdevs-128f90059f5c
  14. Alex Castro

    Dispose

    - Dispose - Usado quando você tem um objeto que não irá mais utilizar da árvore de chamadas permanentemente. Exemplo: Você cria um controller usado no animatedContainer, no login por exemplo, e você não irá usar mais esta animação permanentemente enquanto estiver logado, você precisa usar o dispose, para não ocorrer erros. Por exemplo: flutter: The following assertion was thrown while finalizing the widget tree: flutter: PimpedButtonState#0c8cd(ticker active) was disposed with an active Ticker. flutter: PimpedButtonState created a Ticker via its SingleTickerProviderStateMixin, but at the time dispose() flutter: was called on the mixin, that Ticker was still active. The Ticker must be disposed before calling flutter: super.dispose(). Tickers used by AnimationControllers should be disposed by calling dispose() on the flutter: AnimationController itself. Otherwise, the ticker will leak. então usamos @override void dispose() { logoController.dispose(); controller.dispose(); super.dispose(); } no caso, o controller usado na sua animação. Fonte: https://api.flutter.dev/flutter/widgets/State/dispose.html
  15. Fala Devs!!! Uma experiência que tive, referente ao uso armazenagem de dados, foi usar o flutter secure storage. Quando na empresa onde trabalho, eu estava fazendo armazenagem de dados, como Token, UserId ( Básico da autenticação em JWT ), o plugin Shared Preferences. Ele funcionava, mas notei um pequeno erro. Quando eu fazia o primeiro login, via ADB Shell, eu via que ele salvava um XML com esses tal dados, e quando eu removia, usando clear e remove, ele dava null, no console, mas quando eu dava hot reload, os dados voltavam !! Uma coisa que em produção não dava problema, mas o que me preocupou foi o fato do xml persistir com os mesmos dados. O funcionamento dele é parecido com o session do PHP, onde armazena localmente tais dados, porém continuei tendo o mesmo problema, onde optei usar o Flutter Secure Storage. https://github.com/mogol/flutter_secure_storage https://pub.dev/documentation/flutter_secure_storage/latest/ Ele é simplesmente perfeito, funcional e simples. Ainda mais para dados sensiveis, como estes... Não optei pelo SQLite, por motivos óbvios, não guardo dados em quantidade que necessite essa migração. Bom, fica a dica aí pra quem tem ou teve problemas com dados, e quem ainda não passou, e quem tem outras experiência, diga ai!
×
×
  • Criar Novo...