Como iniciar um áudio automaticamente na inicialização de uma aplicação Java?

estou com dificuldade para iniciar essa aplicação juntamente com um áudio “mixx.mp3”. Não tenho erros, mas o som não reproduz.

public class MostrarLuta {      URL som = MostrarLuta.class.getResource("mixx.mp3");     AudioClip Som = Applet.newAudioClip(som);      public static void main(String[] args) {         TelaInicial telaInicial = new TelaInicial();         telaInicial.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         //telaInicial.setSize(1366, 768); // tamanho da tela         telaInicial.setLocationRelativeTo(null); // centraliza o JFrame         telaInicial.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );         telaInicial.setVisible(true);          MostrarLuta music = new MostrarLuta();         System.out.println(music.som);         System.out.println("\n"+music.Som);         music.Som.play();     } } 

Exibir o nome do usuário logado em todas páginas da minha aplicação (template)

Bom, a autenticação do login esta funcionando perfeitamente, agora eu pretendo botar o nome do funcionário logado no canto superior da tela, mas pesquisei e não achei ainda nada que funcione no meu sistema. Segue as classes

Funcionario

import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.validation.constraints.Size;  import org.hibernate.validator.constraints.NotEmpty; import org.hibernate.validator.constraints.br.CPF;  @Entity @Table(name = "tb_funcionarios") @NamedQueries({ @NamedQuery(name = "Funcionario.listar", query = "SELECT funcionario FROM Funcionario funcionario" ), @NamedQuery(name = "Funcionario.buscarPorCodigo", query = "SELECT funcionario FROM Funcionario funcionario WHERE funcionario.codigo = :codigo" ), @NamedQuery(name = "Funcionario.logar", query = "SELECT funcionario FROM Funcionario funcionario WHERE funcionario.cpf = :cpf AND funcionario.senha = :senha"), @NamedQuery(name = "Funcionario.buscarPorNome", query = "SELECT funcionario FROM Funcionario funcionario WHERE funcionario.nome = :nome" ) }) public class Funcionario {      @GeneratedValue(strategy = GenerationType.AUTO)     @Id     @Column(name = "fun_codigo")     private Long codigo;      @NotEmpty(message = "Insira o Nome")     @Column(name = "fun_nome", length = 50, nullable = false)     private String nome;       @CPF(message = "CPF Incorreto")     @Column(name = "fun_cpf", length = 14, nullable = false, unique = true)     private String cpf;      @NotEmpty(message = "Insira a Senha")     @Size(min = 5, max = 15, message = "Sua senha deve conter de 5 a 15 caracteres")     @Column(name = "fun_senha", length = 50, nullable = false)     private String senha;      @NotEmpty(message = "Insira um cargo")     @Column(name = "fun_funcao", length = 50, nullable = false)     private String funcao;      public Long getCodigo() {         return codigo;     }      public void setCodigo(Long codigo) {         this.codigo = codigo;     }      public String getNome() {         return nome;     }      public void setNome(String nome) {         this.nome = nome;     }      public String getCpf() {         return cpf;     }      public void setCpf(String cpf) {         this.cpf = cpf;     }      public String getSenha() {         return senha;     }      public void setSenha(String senha) {         this.senha = senha;     }      public String getFuncao() {         return funcao;     }      public void setFuncao(String funcao) {         this.funcao = funcao;     }      @Override     public String toString() {         return "Funcionario [codigo=" + codigo + ", nome=" + nome + ", cpf=" + cpf + ", senha=" + senha + ", funcao="                 + funcao + "]";     }      @Override     public int hashCode() {         final int prime = 31;         int result = 1;         result = prime * result + ((codigo == null) ? 0 : codigo.hashCode());         return result;     }      @Override     public boolean equals(Object obj) {         if (this == obj)             return true;         if (obj == null)             return false;         if (getClass() != obj.getClass())             return false;         Funcionario other = (Funcionario) obj;         if (codigo == null) {             if (other.codigo != null)                 return false;         } else if (!codigo.equals(other.codigo))             return false;         return true;     } } 

FuncionarioDAO

import java.util.List;  import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction;  import br.com.Vendas.domain.Funcionario; import br.com.Vendas.util.HibernateUtil;  public class FuncionariosDAO {      public void salvar(Funcionario funcionario) {         Session sessao = HibernateUtil.getSessionFactory().openSession();          Transaction transacao = null;          try {             transacao = sessao.beginTransaction(); // abrindo a transação             sessao.save(funcionario);             transacao.commit(); // confirmando a transação          } catch (RuntimeException ex) {             if (transacao != null) {                 transacao.rollback(); // desfaz a transação             }          }          finally {             sessao.close();         }      }      @SuppressWarnings("unchecked")     public List<Funcionario> listar() {         Session sessao = HibernateUtil.getSessionFactory().openSession();          List<Funcionario> funcionario = null;          try {              Query consulta = sessao.getNamedQuery("Funcionario.listar");             funcionario = consulta.list();          } catch (RuntimeException ex) {             throw ex;         }          finally {             sessao.close();         }          return funcionario;     }      public Funcionario buscarPorCodigo(Long codigo) {         Session sessao = HibernateUtil.getSessionFactory().openSession();          Funcionario funcionario = null;          try {              Query consulta = sessao.getNamedQuery("Funcionario.buscarPorCodigo");             consulta.setLong("codigo", codigo);             funcionario = (Funcionario) consulta.uniqueResult();          } catch (RuntimeException ex) {             throw ex;         }          finally {             sessao.close();         }          return funcionario;     }      public Funcionario buscarPorNome(String nome) {         Session sessao = HibernateUtil.getSessionFactory().openSession();          Funcionario funcionario = null;          try {              Query consulta = sessao.getNamedQuery("Funcionario.buscarPorNome");             consulta.setString("nome", nome);             funcionario = (Funcionario) consulta.uniqueResult();          } catch (RuntimeException ex) {             throw ex;         }          finally {             sessao.close();         }          return funcionario;     }      public void excluir(Funcionario funcionario) {         Session sessao = HibernateUtil.getSessionFactory().openSession();          Transaction transacao = null;          try {             transacao = sessao.beginTransaction(); // abrindo a transação             sessao.delete(funcionario);             transacao.commit(); // confirmando a transação          } catch (RuntimeException ex) {             if (transacao != null) {                 transacao.rollback(); // desfaz a transação             }          }          finally {             sessao.close();         }      }      public Funcionario autenticar(String cpf, String senha) {         Session sessao = HibernateUtil.getSessionFactory().openSession();         Funcionario funcionario = null;          try {             // Executa a query de consulta             Query consulta = sessao.getNamedQuery("Funcionario.logar");             // Recebe os dados informados             consulta.setString("cpf", cpf);             consulta.setString("senha", senha);             // Cria consulta do funcionário             funcionario = (Funcionario) consulta.uniqueResult();         } catch (RuntimeException ex) {             throw ex;         } finally {             sessao.close();         }         return funcionario;     }      public void editar(Funcionario funcionario) {         Session sessao = HibernateUtil.getSessionFactory().openSession();          Transaction transacao = null;          try {             transacao = sessao.beginTransaction(); // abrindo a transação              sessao.update(funcionario);             transacao.commit(); // confirmando a transação          } catch (RuntimeException ex) {             if (transacao != null) {                 transacao.rollback(); // desfaz a transação             }          }          finally {             sessao.close();         }      } } 

FuncionarioBean

import java.io.IOException; import java.util.ArrayList;  import org.hibernate.Session; import org.omnifaces.util.Faces; import org.omnifaces.util.Messages;  import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext;  import br.com.Vendas.DAO.FuncionariosDAO;  import br.com.Vendas.domain.Funcionario; import br.com.Vendas.util.JSFUtil;  @ManagedBean(name = "MBFuncionarios") @ViewScoped public class FuncionariosBean {     private Funcionario funcionario = new Funcionario();     private FuncionariosDAO fdao = new FuncionariosDAO();      private ArrayList<Funcionario> itens;     private ArrayList<Funcionario> itensFiltrados;     private String acao;     private String nome;     private Long codigo;      public Long getCodigo() {         return codigo;     }      public void setCodigo(Long codigo) {         this.codigo = codigo;     }      public String getAcao() {         return acao;     }      public void setAcao(String acao) {         this.acao = acao;     }      public Funcionario getFuncionario() {          return funcionario;     }      //     public void setFuncionario(Funcionario funcionario) {         this.funcionario = funcionario;     }      public ArrayList<Funcionario> getItens() {         return itens;     }      public void setItens(ArrayList<Funcionario> itens) {         this.itens = itens;     }      public ArrayList<Funcionario> getItensFiltrados() {         return itensFiltrados;     }      public void setItensFiltrados(ArrayList<Funcionario> itensFiltrados) {         this.itensFiltrados = itensFiltrados;     }      // @PostConstruct     public void prepararPesquisa() {          try {             FuncionariosDAO fdao = new FuncionariosDAO();             itens = (ArrayList<Funcionario>) fdao.listar();          } catch (RuntimeException e) {             JSFUtil.adicionarMensagemErro("ex.getMessage()");             e.printStackTrace();         }      }      public void carregarCadastro() {          try {              if (codigo != null) {                  FuncionariosDAO fdao = new FuncionariosDAO();                  funcionario = fdao.buscarPorCodigo(codigo);              } else {                 funcionario = new Funcionario();              }          } catch (RuntimeException e) {             JSFUtil.adicionarMensagemErro("ex.getMessage()");             e.printStackTrace();         }      }      public void carregarNome() {          try {              if (nome != null) {                  FuncionariosDAO fdao = new FuncionariosDAO();                  funcionario = fdao.buscarPorNome(nome);              } else {                 funcionario = new Funcionario();              }          } catch (RuntimeException e) {             JSFUtil.adicionarMensagemErro("ex.getMessage()");             e.printStackTrace();         }      }      public void novo() {         funcionario = new Funcionario();     }      public void salvar() {          try {             FuncionariosDAO fdao = new FuncionariosDAO();             fdao.salvar(funcionario);              funcionario = new Funcionario();              JSFUtil.adicionarMensagemSucesso("Funcionário salvo com sucesso!");          } catch (RuntimeException e) {             JSFUtil.adicionarMensagemErro("ex.getMessage()");             e.printStackTrace();         }     }      public void excluir() {         try {             fdao.excluir(funcionario);              JSFUtil.adicionarMensagemSucesso("Funcionário excluido com sucesso!");          } catch (RuntimeException e) {             JSFUtil.adicionarMensagemErro("Não é possível excluir um funcionário que tenha uma venda associado!");             e.printStackTrace();         }     }      public void autenticar() {         try {             // Recebe login e senha do usuário e chama método DAO para autenticar             funcionario = fdao.autenticar(funcionario.getCpf(), (funcionario.getSenha()));             // Verifica se o funcionário é nulo ou diferente             if (funcionario == null) {                 JSFUtil.adicionarMensagemErro("Usuário ou senha invalida");             } else {                 // Redireciona para página principal após autenticar o funcionário.                 FacesContext.getCurrentInstance().getExternalContext().redirect("principal.xhtml");             }         } catch (IOException erro) {             erro.printStackTrace();             Messages.addGlobalError(erro.getMessage());         }     }      public void editar() {         try {             FuncionariosDAO fdao = new FuncionariosDAO();             fdao.editar(funcionario);              JSFUtil.adicionarMensagemSucesso("Funcionário editado com sucesso!");          } catch (RuntimeException e) {             JSFUtil.adicionarMensagemErro("ex.getMessage()");             e.printStackTrace();         }     } } 

Template

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"     xmlns:h="http://java.sun.com/jsf/html"     xmlns:f="http://java.sun.com/jsf/core"     xmlns:p="http://primefaces.org/ui"     xmlns:ui="http://java.sun.com/jsf/facelets">  <ui:insert name="metadata" />  <h:head>     <link rel="shortcut icon" href="../resources/images/favicon.ico" />     <h:outputStylesheet library="css" name="style.css" />     <h:outputScript library="js" name="scripts.js" />       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />     <title>Cronus - Software de gestão</title> </h:head> <h:body>     <p:growl id="msgGlobal" />      <h:body>          <p:layout fullPage="true">              <p:layoutUnit header="Sistema de Vendas" position="north"                  resizable="false" closable="false" collapsible="false">                 <h:graphicImage url="../resources/images/sistema.jpg"/>                     <p:toolbar style="height:39px;">                     <f:facet name="left">                         <p:outputLabel value="Colocar o nome do Funcionario Logado"                             style="position: relative;left: 1360px;" />                         <p:commandButton action="/pages/autenticacao.xhtml" value="Sair"                             style="height:39px;width:90px; text-align:center;position: relative;left: 1370px;"/>                     </f:facet>                 </p:toolbar>             </p:layoutUnit>              <p:layoutUnit header="Copyright 2019 - Todos os direitos reservados. Feito por Jackson F. Magnabosco"                 position="south" resizable="false" closable="false"  collapsible="false">             </p:layoutUnit>              <p:layoutUnit header="Menu Inicial" size="200" position="west"                 resizable="false" closable="false" collapsible="false">                 <h:form>                      <p:panelMenu                         style="background-image: url('../images/sistema.jpg');">                         <p:submenu label="Arquivo">                             <p:menuitem value="Página Principal"                                 outcome="/pages/principal.xhtml" />                             <p:menuitem value="Sobre"                             outcome="/pages/sobre.xhtml" />                             <p:menuitem value="Sair"                             outcome="/pages/autenticacao.xhtml" />                         </p:submenu>                          <p:submenu label="Cadastros">                             <p:menuitem value="Produtos"                                 outcome="/pages/produtoPesquisa.xhtml" />                             <p:menuitem value="Fornecedores"                                 outcome="/pages/fornecedorPesquisa.xhtml" />                             <p:menuitem value="Funcionários"                                 outcome="/pages/funcionarioPesquisa.xhtml" />                         </p:submenu>                          <p:submenu label="Vendas">                             <p:menuitem value="Nova Venda"                                 outcome="/pages/vendaCadastro.xhtml" />                         </p:submenu>                         <p:submenu label="Relatórios"></p:submenu>                      </p:panelMenu>                  </h:form>              </p:layoutUnit>              <p:layoutUnit position="east" size="200" header="Mensagens"                 style="text-align:center;" resizable="false" closable="false "                 collapsible="true" effect="drop">             </p:layoutUnit>              <p:layoutUnit position="center" resizable="false" closable="false"                 collapsible="false">                 <ui:insert name="conteudo" />                 <h:panelGrid>                     <p:graphicImage library="images" name=".jpg" />                 </h:panelGrid>              </p:layoutUnit>         </p:layout>      </h:body> </h:body> </html> 

inserir a descrição da imagem aqui

Como pegar um erro do backend e não deixar logar na aplicação?

Galera, boa noite, pesquisei por diversos tópicos e tentei diversas soluções e infelizmente não consegui ajustar o erro. Estou desenvolvendo uma aplicação com Angular e meu backend em Python, no momento estou fazendo a autenticação de login (sem token por enquanto), ao enviar uma requisição HTTP com username e password para o meu servidor ele checa se há registro no banco e caso exista deverá redirecionar para a rota ‘/dashboard’, mas independente do username exisitir ou não no banco ele redireciona. Segue abaixo linhas de código:

Meu Componente:

  userLogin(){ // Pegando os valores do HTML INPUT e jogando nas constantes     const username = this.loginForm.get('username').value;     const password = this.loginForm.get('password').value;      this.authService         .authenticate(username, password)     .subscribe(       () => this.router.navigate(['dashboard']),             err => {         console.log(this.loginForm.value)                 console.log(err);         this.loginForm.reset();         alert('Erro')             }         )     } 

Meu Service:

  constructor(private http: HttpClient) { }      authenticate(username: string, password: string) {           return this.http.post(API_URL, {"username":username, "password":password})   } 

Meu backend em python:

class Login(Resource):     def post(self):         parser.add_argument('username', type=str)         parser.add_argument('password', type=str)         args = parser.parse_args()         print(args)         password = hashlib.md5(args['password'].encode('utf-8')).hexdigest()         sql = "SELECT * FROM usuarios WHERE username = (%s) and password = (%s)"         value = (args['username'], password)         dbcursor.execute(sql, value)         result = dbcursor.fetchall()         print(result)         if len(result) > 0:             return {"message": "user valido"}         else:             return {"message": "user invalido"} 

No meu navegador eu recebo o return se o user é valido ou não e mesmo assim, independente de estar válido ou não o meu usuario é redirecionado pra rota dashboard

Como limpar os dados armazenados na memória, no cache ou então resetar uma aplicação (App) no android studio?

Estou desenvolvendo um aplicativo em android studio e preciso resolver esse problema.

Eu estou usando um banco de dados interno em SqlOpenHelper para armazenar os produtos escolhidos pelo usuário e mostrar em um carrinho de compras. São no máximo três produtos que o usuário pode comprar por entrega.

Mas o que está acontecendo é que, da primeira vez que o usuário loga no app ele funciona perfeitamente e só permite que o usuário adicione no máximo três produtos no carrinho de compras. Entretanto, se por eventualidade o usuário já tiver com seu carrinho cheio e apertar o botão “Home” do aparelho e voltar no app novamente, ele automaticamente permite ao usuário acrescentar mais três produtos além do limite e eu não quero isso.

O que eu quero é saber o que eu preciso fazer para “resetar” o app, se por eventualidade, o usuário clicar no botão Home do aparelho e não no botão certo para ele sair?

Exite algum método específico que ao finalizar o app ele resete toda memória?

Eu já ouvi falar no onDestroy(){…}, mas eu acho que ele é só para detruir a activity e não é isso que eu quero. Eu quero que independente da activity que o usuário esteja, se o app fechar, ele reseta.

GoogleMap não redenriza o mapa em aplicação Ionic3 nas plataformas Android e iOS

Desenvolvi uma aplicação Ionic 3 e implementei a API do GoogleMaps, quando executo o comando ionic Cordova run browser o mapa funciona perfeitamente, porém quando vou realizar o teste no Android ou no IOs o mapa não aparece, mostra somente a tela com o logotipo da Google no canto inferior. Já segui o manual no site do Ionic Framework, porém a falha continua ocorrendo. Segue abaixo o código do método que forma o mapa.

carregarMapa() {     let element: HTMLElement = document.getElementById('map_canvas');     let map: GoogleMap = this.googleMaps.create(element);      Environment.setEnv({       'API_KEY_FOR_BROWSER_RELEASE': CONF_API.apiKeyGoogle,       'API_KEY_FOR_BROWSER_DEBUG': CONF_API.apiKeyGoogle     });      map.one(GoogleMapsEvent.MAP_READY).then(()=>{       console.log('Map is ready!');        let posicao: LatLng = new LatLng(this.posicao.lat, this.posicao.lng);        let posicaoCam:  CameraPosition<LatLng> = {         target: posicao,         zoom: 15,         tilt: 30       }        map.moveCamera(posicaoCam);        //inserir um marcador       let marcadorConfig: MarkerOptions = {         position: posicao,         title: 'Cliente'       }       map.addMarker(marcadorConfig).then((marcacao:Marker) =>{         marcacao.showInfoWindow();       });     })   } 

Na plataforma da GoogleAPIs a Chave esta sem nenhuma restrição, as APIs estão ativas. Estou precisando de apoio para fazer funcionar no Android e no iOS.

Desenvolvendo aplicação para comunicar com Scanner utilizando Windows image acquisition (WIA)

Estou tentando desenvolver uma aplicação que comunique com uma Scanner. Em minhas pesquisas, encontrei na documentação da Microsoft um Serviço chamado Windows image acquisition que permite esta comunicação de uma aplicação com uma Scanner:

https://docs.microsoft.com/en-us/windows/desktop/wia/-wia-startpage

Nesta documentação possui um tutorial de como comunicar com a Scanner através de codificação em C:

https://docs.microsoft.com/en-us/windows/desktop/wia/-wia-creating-a-wia-device-manager

Como eu não tenho muito conhecimento em C eu tentei dar um Ctrl C Ctrl V, do código em minha IDE code blocks e tentei complilar para testar, mas sempre dá o mesmo erro: error: unknown type name ‘HRESULT’ Já tentei corrigir o erro buscando soluções na web, porém sem sucesso. Na verdade eu estou meio perdido, não sei muito o conceito da programação e não sei se está faltando alguma configuração ou algo similar para que o código rode.

Alguém poderia me auxiliar por gentileza? Me dar um horizonte por onde eu começo? ou como faço para rodar este código?

Desde já agradeço 🙂

Pegar URL direta de uma imagem da minha aplicação ASP NET MVC

Boa tarde, estou tentando fazer uma API para retornar a URL de uma lista de imagens mas não sei como fazer isso. Achei coisas com server.mapPatch mas esses retornam o endereço físico do arquivo. Queria retornar a URL tipo assim www.meusite.com.br/conteudo/categoria/foto.jpg

Fiz assim mas me retorna o caminho físico, queria a minha URL

  public JsonResult Fotos()     {         DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("~/Content/imagens/categoria"));         var lista = new List<string>();         foreach (var item in dirInfo.GetFiles())         {             lista.Add(item.FullName);         }         return Json(lista, JsonRequestBehavior.AllowGet);     } 

Consegui fazer desse jeito mas ficou feião, parece gambiarra :C

 var dominio = "http://localhost:53592";         DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("~/Content/imagens/categoria"));         var lista = new List<string>();         foreach (var item in dirInfo.GetFiles())         {             lista.Add(dominio + "/Content/imagens/categoria/" + item.Name);         }         return Json(lista, JsonRequestBehavior.AllowGet);