rebuildar lista flutter – Stack Overflow em Português

Boa noite!
Estou tendo problemas para listar categorias em uma pagina específica.
Por exemplo, se estou logado com um usuário, a minha lista funciona normalmente, mas se saio desse usuário e logo com outro, quando entro nessa tela que possui a lista ela mostra a lista do meu usuário anterior, para que essa tela mostre a lista do meu usuário atual tenho que sair completamente do aplicativo, tirar ele de segundo plano e abri-lo novamente, não preciso logar novamente, só abrir o aplicativo novamente, ai a lista e “atualizada” e então mostra a lista correta.

essa é a categoryScreen.dart

import 'package:flutter/material.dart';
import 'package:note_study/model/category/category_manager.dart';
import 'package:note_study/screen/category/components/category_list_tile.dart';
import 'package:provider/provider.dart';

class CategoryScreen extends StatefulWidget {
  @override
  _CategoryScreenState createState() => _CategoryScreenState();
}

class _CategoryScreenState extends State<CategoryScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        elevation: 0,
      ),
      body: Consumer<CategoryManager>(
        builder: (_, categoryManager, __) {
          return ListView.builder(
            itemCount: categoryManager.allCategory.length,
            itemBuilder: (context, index) {
              return CategoryListTile(categoryManager.allCategory(index));
            },
          );
        },
      ),
    );
  }
}

essa é a categoryTile.dart

import 'package:flutter/material.dart';
import 'package:note_study/model/category/category_model.dart';

class CategoryListTile extends StatefulWidget {
  CategoryListTile(this.categoryModel);
  final CategoryModel categoryModel;

  @override
  _CategoryListTileState createState() => _CategoryListTileState();
}

class _CategoryListTileState extends State<CategoryListTile> {
  @override
  Widget build(BuildContext context) {
    return Container(
      decoration: BoxDecoration(
          borderRadius: BorderRadius.circular(16),
          color: Theme.of(context).cursorColor),
      height: 50,
      margin: const EdgeInsets.symmetric(vertical: 10, horizontal: 8),
      child: Center(
        child: Text(
          widget.categoryModel.name,
          style: TextStyle(
              fontSize: 15, fontWeight: FontWeight.bold, color: Colors.white),
        ),
      ),
    );
  }
}

E essa é minha homeScreen.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:note_study/model/category/category_manager.dart';
import 'package:note_study/model/category/category_model.dart';
import 'package:note_study/model/user/user_manager.dart';
import 'package:note_study/screen/category/category_screen.dart';
import 'package:note_study/screen/login/login_screen.dart';
import 'package:provider/provider.dart';

class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  @override
  void initState() {
    super.initState();

    SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);
    //Muda a cor da barra de menu no android
    SystemChrome.setSystemUIOverlayStyle(
      SystemUiOverlayStyle(
        //systemNavigationBarIconBrightness: Brightness.light,
        systemNavigationBarColor: Colors.deepPurpleAccent,
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Consumer<UserManager>(
      builder: (_, userManager, __) {
        return Scaffold(
          appBar: AppBar(
            title: Text('Bem vindo ${userManager.userModel?.name ?? ''}'),
            centerTitle: true,
            actions: (
              IconButton(
                icon: Icon(Icons.exit_to_app),
                onPressed: () {
                  userManager.signOut();
                  Navigator.of(context).pushAndRemoveUntil(
                      MaterialPageRoute(builder: (context) => LoginScreen()),
                      (Route<dynamic> route) => false);
                },
              ),
            ),
          ),
          floatingActionButton: SpeedDial(
            animatedIcon: AnimatedIcons.menu_close,
            backgroundColor: Theme.of(context).cursorColor,
            overlayColor: Colors.black87,
            overlayOpacity: 0.3,
            children: (
              SpeedDialChild(
                  onTap: () {
                    createAlertDialog(context);
                  },
                  child: Icon(Icons.category),
                  label: 'Add Categoria',
                  backgroundColor: Theme.of(context).cursorColor),
              SpeedDialChild(
                  onTap: () {},
                  label: 'Add Nota',
                  child: Icon(Icons.note_add),
                  backgroundColor: Theme.of(context).cursorColor),
            ),
          ),
        );
      },
    );
  }

  createAlertDialog(BuildContext context) {
    //final _categoryController = TextEditingController();
    final _formKey = GlobalKey<FormState>();
    CategoryModel categoryModel = CategoryModel();

    return showDialog(
      context: context,
      builder: (context) {
        return Consumer<CategoryManager>(
          builder: (_, categoryManager, __) {
            return AlertDialog(
              shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(16)),
              title: Text('Nova categoria'),
              content: Form(
                key: _formKey,
                child: TextFormField(
                  //controller: _categoryController,
                  decoration: InputDecoration(
                    //hintText: 'Nome',
                    border: OutlineInputBorder(
                      borderRadius: BorderRadius.circular(16),
                    ),
                    labelText: 'Categoria',
                    filled: true,
                    prefixIcon: Icon(Icons.category),
                  ),
                  autofocus: true,
                  validator: (name) {
                    if (name.isEmpty) return 'Campo obrigatório';
                    return null;
                  },
                  onSaved: (name) => categoryModel.name = name,
                ),
              ),
              actions: (
                MaterialButton(
                  elevation: 5,
                  child: Text('Editar categoria'),
                  onPressed: () {
                    Navigator.of(context).pop();
                    Navigator.of(context).push(
                      MaterialPageRoute(builder: (context) => CategoryScreen()),
                    );
                  },
                ),
                MaterialButton(
                  elevation: 5,
                  child: Text('Cancelar'),
                  onPressed: () {
                    Navigator.of(context).pop();
                  },
                ),
                MaterialButton(
                  elevation: 5,
                  child: Text('Salvar'),
                  onPressed: () {
                    if (_formKey.currentState.validate()) {
                      _formKey.currentState.save();
                      categoryManager.saveDataCategory(
                        categoryModel: categoryModel,
                        onSuccess: () {
                          Navigator.of(context).pop();
                        },
                      );
                    }
                  },
                )
              ),
            );
          },
        );
      },
    );
  }
}

Como posso rebuildar ou atualizar essa lista quando meu usuario é trocado?

java – Exercícios Vetor – Stack Overflow em Português

Pessoal estou tentando resolver esse exercicio

Desenvolver um programa para receber o nome de um aluno com suas
respectivas 2 notas, em seguida calcular a média do aluno e apresentar
ao final a média calculada e a situação de aprovação do aluno.
(aprovado com média >= 6).

  • Utilizar o código para uma turma de 30 alunos.
  • Calcular e mostrar a média geral da turma
  • Mostrar a maior média da turma
  • Mostrar a menor média da turma

Já tentei

public static void main(String() args) {

    Scanner teclado = new Scanner(System.in);
    String() aluno;
    float nota1(), nota2(), media(), mediaTurma;
    aluno = new String(30);
    nota1 = new float(30);
    nota2 = new float(30);
    media = new float(30);
    mediaTurma = 0;
    for (int i = 0; i < 30; i++) {
        System.out.println("Digite o nome do Aluno: ");
        aluno(30) = teclado.nextLine();
        System.out.println("Digite o valor da primeira nota: ");
        nota1(30) = teclado.nextFloat();
        System.out.println("Digite o valor da segunda  nota: ");
        nota2(30) = teclado.nextFloat();
        media(30) = (nota1(30) + nota2(30) / 2);
        //mediaTurma += media(i);
        mediaTurma = i / 30;
        System.out.printf("A media do Aluno é %.2fn", media(30));

        if (media(30) >= 6) {
            System.out.println("Aluno aprovado Parabens!");
        } else {

            System.out.println("Reprovado, Estude mais!");
        }


    }

}

ao compilar recebo esse erro:

Digite o nome do Aluno: 
Bruno
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 30
    at ExercicioQuadro.main(ExercicioQuadro.java:18)

Process finished with exit code 1

Onde estou errando?

LINUX EM REDE CORPORATIVA – Stack Overflow em Português

Bom, sou um grande hobbysta de linux, amo esse kernel maravilhoso e os sistemas construídos em cima dele. Bom, recentemente entrei numa empresa onde trabalho no setor de engenharia e a rede dessa organização está baseada em Windows, e recentemente tenho introduzida a empresa ao mundo IoT, plataformas Web e tudo que a tecnologia atual tem trazido, porém me sinto muito limitado usando Windows, e cheguei a conversar com a minha supervisão sobre a possibilidade de usarmos linux, ou apenas eu no laboratório. Foi aprovado, porém a empresa responsável, ou no caso, o responsável direto pela rede desaprova a todo custo o uso de máquinas linux na rede, diz que é uma falha de segurança, e recentemente com a chegada de máquinas novas no lab, ele liberou o WSL do Windows com acesso SU(Sou dev, recorrentemente necessito desse privilégio), porém disse que por hora eu posso usar e em breve ele vai restringir pois temos que nos adequar a Família ISO 27000 e as politicas de rede da empresa.

Entendendo a atual situação volto ao ao meu endagamento: Como criar uma rede linux, ou introduzir uma máquina linux numa rede windows? Realmente é uma falha de segurança? Existe alguma outra ISO que possa solucionar essa situação?

Peço perdão se este não for o local correto para este tipo de dúvida.

Ordenar array em Python – Stack Overflow em Português

Olá.

tenho uma função que recebe um array’s de strings por exemplo: a = ["ab", "bb", "aa"]
preciso reordenar estes array’s em todas as combinações possíveis :

a = ["ab", "bb", "aa"]
a = ["ab", "aa", "bb"]
a = ["bb", "ab", "aa"]
a = ["bb", "aa", "ab"]
a = ["aa", "ab", "bb"]
a = ["aa", "bb", "ab"]

alguma dica de como fazer isso?
Agradeço antecipadamente qualquer ajuda

Bootstrap – d-flex between – Stack Overflow em Português

Olá, estou tendo dificuldades de usar uma propriedade do botstrap, que serve para alinhar itens dentro de um container. A propriedade é a d-flex / justify-content-between, meu layout não está ficando como o esperado. Logo abaixo deixarei o código para analise. Obrigado pela atenção desde ja.

        <div class="row">
            <div class="col-sm">
                <div class="card" style="width: 18rem;">
                    <img class="card-img-top" src="https://pt.stackoverflow.com/.100px180/" alt="Imagem de capa do card">
                    <div class="card-body">
                      <h5 class="card-title">Título do card</h5>
                      <p class="card-text">Um exemplo de texto rápido para construir o título do card e fazer preencher o conteúdo do card.</p>
                      <a href="#" class="btn btn-primary">Visitar</a>
                    </div>
                  </div>
            </div>

            <div class="col-sm">
                <div class="card" style="width: 18rem;">
                    <img class="card-img-top" src="https://pt.stackoverflow.com/.100px180/" alt="Imagem de capa do card">
                    <div class="card-body">
                      <h5 class="card-title">Título do card</h5>
                      <p class="card-text">Um exemplo de texto rápido para construir o título do card e fazer preencher o conteúdo do card.</p>
                      <a href="#" class="btn btn-primary">Visitar</a>
                    </div>
                  </div>
            </div>

            <div class="col-sm">
                <div class="card" style="width: 18rem;">
                    <img class="card-img-top" src="https://pt.stackoverflow.com/.100px180/" alt="Imagem de capa do card">
                    <div class="card-body">
                      <h5 class="card-title">Título do card</h5>
                      <p class="card-text">Um exemplo de texto rápido para construir o título do card e fazer preencher o conteúdo do card.</p>
                      <a href="#" class="btn btn-primary">Visitar</a>
                    </div>
                  </div>
                </div>
            </div>

        </div>
    </div>

java – javax.servlet.ServletException: sun/security/ssl/HelloExtension – Stack Overflow em Português

Olá,

estou utilizando o glassfish 5.1.0 e ao executar o comando abaixo retorna o erro.

url = new URL("xxx");
request = url.openConnection();
request.connect();

tenho aseguinte saída do glassfish: javax.servlet.ServletException: sun/security/ssl/HelloExtension
Estou utilizando o jdk8. Testei com o openjdk e da o mesmo erro.

Asterisco no CSS – Stack Overflow em Português

Obrigado por contribuir com o Stack Overflow em Português!

  • Certifique-se de responder à pergunta. Entre em detalhes sobre a sua solução e compartilhe o que você descobriu.

Mas evite

  • Pedir esclarecimentos ou detalhes sobre outras respostas.
  • Fazer afirmações baseadas apenas na sua opinião; aponte referências ou experiências anteriores.

Para aprender mais, veja nossas dicas sobre como escrever boas respostas.

Ataque DDoS, como resolver? – Stack Overflow em Português

Olá, meu servidor vem sofrendo ataques DDoS regularmente, eu reparei que os pacotes tem sempre tamanho com 1024bytes, e que os ip’s são aleatorios.

Como eu posso me proteger desses ataques? Eles tem proporção entre 4~8 gb/s e me atingem sempre em horário de pico. Eu já contratei varios hosts e nenhum deles consegue barrar o ataque.

Print Wireshark

label invertido Vuetify – Stack Overflow em Português

Quando copio e colo qualquer código do vuetify fica invertido o Label porém no codepen funciona normal. Já tentei definir no Style para personalizar mas não dá certo. pois tem q ajeitar os fields também. Como faz para manter o label a esquerda?

https://codepen.io/pen/?&editable=true&editors=101=https%3A%2F%2Fvuetifyjs.com%2Fen%2Fcomponents%2Fgrids%2F

<template>

    <v-form v-model="valid">
      <v-container>
        <v-row>
          <v-col
            cols="12"
            md="4"
          >
            <v-text-field
              v-model="firstname"
              :rules="nameRules"
              :counter="10"
              label="First name"
              required
            ></v-text-field>
          </v-col>
  
          <v-col
            cols="12"
            md="4"
          >
            <v-text-field
              v-model="lastname"
              :rules="nameRules"
              :counter="10"
              label="Last name"
              required
              outlined
            ></v-text-field>
          </v-col>
  
          <v-col
            cols="12"
            md="4"
          >
            <v-text-field
              v-model="email"
              :rules="emailRules"
              label="E-mail"
              required
            ></v-text-field>
          </v-col>
        </v-row>
      </v-container>
    </v-form>

</template>

label trocados estão no lado direito, sendo o correto pelo esquerdo

<style scope>
    label{
        left: 0 !important;
        right: auto!important;
    }
    .v-label--active{
        transform: translateY(-25px)translateX(-12px) scale(.75)!important;
    }
</style>

LocalStorage, jquery e CSS – Stack Overflow em Português

Estou salvando o tamanho da fonte no localStorage e recuperando para setar após a página estar pronta, não estou conseguindo setar usando o valor recuperado no localstorage, para setar a fonte estou usando jquery, segue código

Assim não funciona
$( document ).ready(function() {
// font size
var $elemento = $(".verseTextP");
var fontSize = window.localStorage.getItem('fontSize');
alert(fontSize)
$elemento.css('font-size', fontSize);  
});
Assim funciona
$( document ).ready(function() {
// font size
var $elemento = $(".verseTextP");
var fontSize = window.localStorage.getItem('fontSize');
alert(fontSize)
$elemento.css('font-size', 25);  
});

O alert é pra mostrar que o valor está salvo no localStorage e consigo pegar o valor corretamente, qual o problema, porque não funciona se usar o valor vindo de um locaStorage.getItem?

inserir a descrição da imagem aqui