Ir para conteúdo

manoelps

Members
  • Total de itens

    17
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre manoelps

  1. manoelps

    Post request com Retrofit + Android

    Resolvido! [ANTES]: @FormUrlEncoded @POST("index.php") Call<User> validateUser( @Field("username") String username, @Field("password") String password ); [DEPOIS]: @FormUrlEncoded @POST("index.php") Call<List<User>> validateUser( @Field("username") String username, @Field("password") String password ); Então no callback response.body() irá dar-lhe uma lista de objetos Usuário, depois só interagir com a lista. Link da solução completa: http://stackoverflow.com/questions/39724751/how-get-list-of-objects-with-post-request-to-retrofit-2-1-0-with-android/39725105#39725105
  2. manoelps

    Voz para texto

    Eu já fiz isso usando o app inventor, usando o componente Speech Recognizer, veja no video como usar, é super simples, funciona offline se instalar o pacote offline de idiomas no celular. Link do video: No video está lento, mas aí vai de cada celular e conexão com a internet, no meu por exemplo funciona relativamente rápido, com pacote offline de idiomas instalado.
  3. manoelps

    Post request com Retrofit + Android

    Olá pessoal, estou estudando android, e estou tentando usar a biblioteca retrofit com android. Após ler a documentação consegui fazer envio de dados de um formulario via POST para uma página escrita em php, e receber o retorno (em formato JSON), porém não consigo receber todos os dados, recebo só o primeiro, e eu gostaria de receber toda a lista de usuários que eu colocar na pagina, segue meu codigo abaixo: Dependências: compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' MainActivity (dentro de um botão): Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://192.168.101.36/json/") .addConverterFactory(GsonConverterFactory.create()) .build(); ApiService apiService = retrofit.create(ApiService.class); Call<User> call = apiService.validateUser(inputEmail.getText().toString(), inputSenha.getText().toString()); call.enqueue(new Callback<User>() { @Override public void onResponse(Call<User> call, Response<User> response) { //Verifica se houve a conexão com sucesso ao webservice if (!response.isSuccessful()) { textView.setText("ERROR onResponde: " + response.code()); } else { //requisição retona os dados com sucesso String email = response.body().getEmail(); String senha = response.body().getPassword(); textView.append("email: " + email + " - senha: " + senha + "\n"); } } @Override public void onFailure(Call<User> call, Throwable t) { t.printStackTrace(); textView.setText(t.getMessage()); } }); Interface: public interface ApiService { @FormUrlEncoded @POST("index.php") Call<User> validateUser( @Field("username") String username, @Field("password") String password ); } Classe User: public class User { private int id; private String error, error_msg, username, email, password; public String getError(){ return this.error; } public String getError_msg(){ return this.error_msg; } public int getId(){ return this.id; } public String getUsername(){ return this.username; } public String getPassword(){ return this.password; } public String getEmail(){ return this.email; } } Index.php $email = $_POST['username']; $senha = $_POST['password']; echo ' { "email":"'.$email.'", "password":"'.$senha.'" }, { "email":"'.$email.'", "password":"'.$senha.'" }, { "email":"joselito@joselito.com", "password":"123456" } '; Att. Manoel Pereira dos Santos
  4. Olá pessoal! Estou desenvolvendo um sistema que precisa ser aberto um formulário fsMDIChild assim que chegar algum registro no banco de dados. 1- Fiz uma verificação se a quantidade de registros na tabela é diferente de zero 2- Fiz um laço FOR varrer todo a tabela. 3- Verifico se a quantidade de Forms MDIChild criados é menor que a quantidade de registros localizado na tabela 4- Verifico se a quantidade de forms criado é maior que 1, se for eu crio o formulário, dou um next na query da tabela e crio o formulário passando os parâmetros para o mesmo, se não crio o formulário passando os parâmetros (primeiro registro 1 formulário). Funciona lindamente, desde que todos sejam criados de uma única vez, se os formulários estiverem abertos e chegar um novo registro, o formulário é criado, mas é passado os dados do primeiro registro na tabela. Tentei colocar o ID de cada registro no caption do formulário e usar um laço for para percorrer as janelas MDIs e comparar com os IDs do banco e só fazer os que não estiverem abertos, mas não rolou. Tentei criando um array também, onde cada ID da tabela era armazenado no array e feito uma pesquisa e se não tiver no array cria o formulário, mas não deu. Alguém já precisou fazer ago assim ou tem alguma dica que possa me ajudar? O codigo abaixo está dentro de um Timer, se alguém conhecer outra forma seria interessante. if( QueryEventos.RecordCount <> 0) then begin for i := 0 to QueryEventos.RecordCount - 1 do begin if (MDIChildCount <QueryEventos> 0)then begin Application.CreateForm(TFormEventos,FormEventos); FormEventos.Caption := IntToStr(QueryEventos.FieldValues['id']); FormEventos.Show; QueryEventos.Next; end//if(MDIChildCount > 1)then else begin Application.CreateForm(TFormEventos,FormEventos); FormEventos.Caption := IntToStr(QueryEventos.FieldValues['id']); FormEventos.Show; QueryEventos.Next; end;//FIM ELSE - if(MDIChildCount > 1)then end;//FIM if (MDIChildCount < QueryEventos.RecordCount) then end;// FIM for i := 0 to QueryEventos.RecordCount - 1 do end;// FIM if( QueryEventos.RecordCount <> 0) then
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.