Ver mensagens sem resposta | Ver tópicos ativos Hoje é 20 Nov 2019, 05:49



Responder Tópico  [ 154 Mensagens ]  Ir para a página Anterior  1, 2, 3, 4  Próximo
 [ARTIGO] Webservice com jSON completo. 
Autor Mensagem
Anatomy of an App
Anatomy of an App

Data de registro: 12 Mar 2011, 13:32
Mensagens: 109
Mensagem Re: [ARTIGO] Webservice com jSON completo.
É desse jeito que eu acabei fazendo.
Antunes, você é 10.
Muito, muito, muito, muito obrigado mesmo.
Uma pergunta: por acaso vai participar do Google Developer Day 2011, em São Paulo?

_________________
Marcos Roberto da Fonseca
Desenvolvimento de software

Maiores informações:
http://zipersoft.com.br e tem também nosso blog: http://zipersoft.com.br/blog


29 Ago 2011, 23:48
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Rapaz,

To querendo ir, mas ainda não sei, sou do RJ.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


30 Ago 2011, 04:51
Perfil WWW
Anatomy of an App
Anatomy of an App

Data de registro: 12 Mar 2011, 13:32
Mensagens: 109
Mensagem Re: [ARTIGO] Webservice com jSON completo.

Recuperar essa String, sem problemas.
O problema começa no Android, se eu for convertê-la usando o Gson, assim:



public static boolean enviaItem(List<Itens> listaItens){
   Gson gson = new Gson();
   String retorno = gson.toJson(listaItens);
   String linha = "";
           
   GetHttp getHttp;
       
   String endereco = "";
           
   endereco = Urls.webserviceEnviaItem + retorno;
   
   getHttp = new GetHttp(endereco);
           
   linha = getHttp.page;
}
 


E em "retorno" ele coloca:[{"impresso":"N","codigoProduto":13,"codigo":1,"numeroMesa":1,"quantidade":1}]
Com as [ ]
E pra passar, não está aceitando... volta Erro 500 no navegador.
Independente de ter um único ítem no Array ou não.
"Só lembrando que esse "endereço" é o caminho do WS, http://IP:porta/WS/produto/envia/ + o que foi convertido.
Alguém pode me ajudar? /vv

_________________
Marcos Roberto da Fonseca
Desenvolvimento de software

Maiores informações:
http://zipersoft.com.br e tem também nosso blog: http://zipersoft.com.br/blog


31 Ago 2011, 18:53
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Tá dando mole!!!

Dá uma olha como eu falei pra vc usar no meu post anterior!!

Vc tem que criar um StringEntity com o seu JSON e dar um set dele no seu HttpPost. Vc não pode simplesmente enviar isso na URL!!


StringEntity sEntity = new StringEntity(jsonLista, "UTF-8"); //aqui vc cria a sua StringEntity pra ser colocada no seu httpPost

DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://suaURL");

httpPost.setEntity(sEntity); //aqui vc coloca o seu objeto no httpPost

HttpResponse response = httpclient.execute(httpPost);
 


Pra passar parâmetros pela URL, vc deve fazer assim no seu WS:


@POST
@Path("/atualizador/{id}")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String getAtualizador(@Context HttpHeaders headers, @PathParam("id") int idCliente, String inAppList) {
 //seu código aqui
}
 


Onde o id vem na URL e o inAppList é o JSON no HttpPost.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


31 Ago 2011, 19:41
Perfil WWW
What is Android?
What is Android?

Data de registro: 01 Set 2011, 05:54
Mensagens: 7
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Por favor pessoal me salvem!!!!
Estou com o seguinte problema:

String s = "";  
            while (null != ((s = br.readLine()))) {  
                newData.append(s);  
            }  
           
            br.close();    
           
            String result = newData.toString();
            JSONObject ob = new JSONObject(result);

            tv.setText(ob.get("nome2").toString());


Meu webservice retorna: {"nome1":"JULIANA","nome2":"PRISCILA GESCHONKE","nome3":"PRISCILA","nome4":"THETE","nome5":"BRUNA"}

mas sempre da o erro 09-01 07:17:13.136: WARN/System.err(2082): org.json.JSONException: Value ? of type java.lang.String cannot be converted to JSONObject

o que estou fazendo errado???? se eu apenas imprimo o result no meu "textview" ele mostra exatamento o que vem do webservice...

Aguardo resposta... muito obrigado


01 Set 2011, 06:20
Perfil
Anatomy of an App
Anatomy of an App

Data de registro: 12 Mar 2011, 13:32
Mensagens: 109
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Bom dia.
Tá, implementei, mas estranho que nem chamar o método do WS chega.
Acionei o tomcat como debug, pra acompanhar a evolução do código, mas não chega nem a chamar.
Tem alguma coisa que pode ser?

_________________
Marcos Roberto da Fonseca
Desenvolvimento de software

Maiores informações:
http://zipersoft.com.br e tem também nosso blog: http://zipersoft.com.br/blog


01 Set 2011, 10:30
Perfil
Anatomy of an App
Anatomy of an App

Data de registro: 12 Mar 2011, 13:32
Mensagens: 109
Mensagem Re: [ARTIGO] Webservice com jSON completo.

Implementei conforme sujerido.
Mas o problema é que nem chega a "chamar" o Webservice.
O que será que pode ser?

_________________
Marcos Roberto da Fonseca
Desenvolvimento de software

Maiores informações:
http://zipersoft.com.br e tem também nosso blog: http://zipersoft.com.br/blog


01 Set 2011, 11:21
Perfil
Anatomy of an App
Anatomy of an App

Data de registro: 06 Nov 2010, 15:32
Mensagens: 150
Localização: Rio Preto - MG - Brazil
Mensagem Re: [ARTIGO] Webservice com jSON completo.
experimente


tv.setText(ob.getString("nome2").toString());

_________________
App: Minha Saúde (Acompanhamento de peso e saúde)
App: EncomenDEX. Rastreie sedex, cartas registradas, etc...
App: Caça Palavras
App: Caça Palavras Bíblico


01 Set 2011, 11:55
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Felipe,

Usa a api GSON que vai funcionar!!

Convertendo um JSON direto para o seu objeto. Tipo esse exemplo:


Gson gson = new Gson();
Cidade cidade = gson.fromJson(jsonInput, Cidade.class);
 


Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


01 Set 2011, 13:29
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
marquinhofonceka escreveu:

Implementei conforme sujerido.
Mas o problema é que nem chega a "chamar" o Webservice.
O que será que pode ser?


O problema deve ser sua URL, dá uma verificada!!

Usa o Poster do firefox ou chrome pra testar!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


01 Set 2011, 13:30
Perfil WWW
What is Android?
What is Android?

Data de registro: 01 Set 2011, 05:54
Mensagens: 7
Mensagem Re: [ARTIGO] Webservice com jSON completo.
antunes escreveu:
Felipe,

Usa a api GSON que vai funcionar!!

Convertendo um JSON direto para o seu objeto. Tipo esse exemplo:


Gson gson = new Gson();
Cidade cidade = gson.fromJson(jsonInput, Cidade.class);
 


Abraços!



antunes sou meio leigo no assunto... pode explicar melhor de onde vem o jsonInput?

String result = newData.toString();

Gson gson = new Gson();
funcionario func = gson.fromJson(result, funcionario.class);

tv.setText(func.getNome());

eu queria fazer isso, mas como colocar {"nome1":"JULIANA","nome2":"PRISCILA GESCHONKE","nome3":"PRISCILA","nome4":"THETE","nome5":"BRUNA"} cada nome e codigo desses em 1 objeto??? estou meio confuso...


01 Set 2011, 15:39
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Felipe,

De onde vem esse seu JSON??

Esse seu JSON é uma classe que vc serializa o objeto??

Como vc gera esse JSON??

Posta aqui pra gente dar uma olhada.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


01 Set 2011, 16:10
Perfil WWW
What is Android?
What is Android?

Data de registro: 01 Set 2011, 05:54
Mensagens: 7
Mensagem Re: [ARTIGO] Webservice com jSON completo.
antunes escreveu:
Felipe,

De onde vem esse seu JSON??

Esse seu JSON é uma classe que vc serializa o objeto??

Como vc gera esse JSON??

Posta aqui pra gente dar uma olhada.

Abraços!



$sql = "SELECT nome FROM funcionario";
   
    $rs = mssql_query($sql);
    $array = array();
    $i = 0;
    while ($row = mssql_fetch_array($rs)){
        $i++;
        $array["nome".$i]=$row['nome'];
       
    }
    $json = $array;
    echo json_encode($json);


01 Set 2011, 18:31
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Faz o seguinte: Tenta fazer exatamente como o Gerson ensina no primeiro post desse tópico!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


01 Set 2011, 19:25
Perfil WWW
What is Android?
What is Android?

Data de registro: 01 Set 2011, 05:54
Mensagens: 7
Mensagem Re: [ARTIGO] Webservice com jSON completo.
vamos esquecer o meu código entao...
como eu faço para pegar essa string passada pelo ws php
{"nome1":"JULIANA","nome2":"PRISCILA GESCHONKE","nome3":"PRISCILA","nome4":"THETE","nome5":"BRUNA"}

como transformar ela em um jsonObject?

se eu coloco assim: JSONObject json = new JSONObject("{\"nome1\":\"JULIANA\",\"nome2\":\"PRISCILA GESCHONKE\",\"nome3\":\"PRISCILA\",\"nome4\":\"THETE\",\"nome5\":\"BRUNA\"}");

FUNCIONA... mas...

TextView tv = (TextView) findViewById(R.id.TextView01);
String urlString = "http://192.168.1.2/ws";
StringBuffer newData = new StringBuffer();

try {
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("Request-Method", "GET");
connection.setDoInput(true);
connection.setDoOutput(false);
connection.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String s = "";
while (null != ((s = br.readLine()))) {
newData.append(s);
}

br.close();

String result = newData.toString();

JSONObject json = new JSONObject(result);

NÃO FUNCIONA...
sendo que é a mesma string... o que pode estar ocorrendo?
por mim eu troco todo o meu código, se poder me passar um que funcione, o do primeiro topico eu copiei, mas nao deu, achei muito grande alem de tudo...


01 Set 2011, 20:57
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Então Felipe, é só usar o mesmo código que o Gerson postou, onde "page" é a sua String "result"!!

Aí vc vai usar o getJSONArray para tranformar esse JSON num array!!


//nativo do SDK  da o parse da string json
            JSONObject object = (JSONObject) new JSONTokener(page).nextValue();
           
            // monta o array do retorno do json, lembrando que retorno é o PAI do json impresso em page.
            //{"retorno":[ {"campo1":"valor1"},{"campo2":"valor2"},{"campo3":"valor3"} ]}
            JSONArray message = object.getJSONArray("retorno");
           
            //Percorre o array retornado
            //campo1, 2 e 3 são os nós da string json {"campo1":"valor1"},{"campo2":"valor2"},{"campo3":"valor3"}
            for(int i=0;i<message.length();i++){
                JSONObject lines = (JSONObject) new JSONTokener(message.getString(i)).nextValue();
                Log.d("WS", "[Retorno do WS]");
                Log.d("WS", "Retorno: "+ lines.getString("campo1") );
                Log.d("WS", "Retorno: "+ lines.getString("campo2") );
                Log.d("WS", "Retorno: "+ lines.getString("campo3") );
                Log.d("WS", "[/Retorno do WS]");
            }
 


Se não conseguir, posta o erro que aparece pra vc no logcat com esse código!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


01 Set 2011, 21:18
Perfil WWW
What is Android?
What is Android?

Data de registro: 01 Set 2011, 05:54
Mensagens: 7
Mensagem Re: [ARTIGO] Webservice com jSON completo.
fiz assim agora usando no java normal sem android sdk, mas acho que nao faz diferença....

try {
           
            String urlString = "http://192.168.1.2/ws";
            StringBuffer newData = new StringBuffer();
            URL url = new URL(urlString);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestProperty("Request-Method", "GET");
            connection.setDoInput(true);
            connection.setDoOutput(false);
            connection.connect();
            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));

            String s = "";
            while (null != ((s = br.readLine()))) {
            newData.append(s);
            }
           
            String result = newData.toString();
           
            JSONObject json1 = (JSONObject)new JSONParser().parse(result);
           
            System.out.println(result);
            System.out.println(json1.get("1"));
            System.out.println(json1.get("3"));
           
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


    }


funcionou perfeito com a biblioteca http://code.google.com/p/json-simple/do ... le-1.1.jar
vou chegar em casa e testar... se nao funcionar dai testo com o codigo que tu me mandou antunes... valeu mesmo


01 Set 2011, 22:23
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Pois é, mas no seu código ainda faltou converter o seu JSONObject em array!!

Agora que eu reparei que o seu nome é Filipe e eu te chamando de Felipe há um tempão e vc não fala nada!! hahaha

Tenta ae e me fala!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


01 Set 2011, 23:52
Perfil WWW
What is Android?
What is Android?

Data de registro: 01 Set 2011, 05:54
Mensagens: 7
Mensagem Re: [ARTIGO] Webservice com jSON completo.
RESOLVIDO!!!!!!!!

O problema pelo visto é só aqui no meu pc, pois fiz na aula o outro código que mandei e deu tudo certo, aqui deu o seguinte problema:

O problema é que a string vem com uma sujeira la do WS não sei o pq...
dai eu corto assim e funciona perfeitamente:

           String result = newData.toString();
            String string = result;
            String substring = string.substring(1);
           
            System.out.println(substring);
            JSONObject json1 = (JSONObject)new JSONParser().parse(substring);
           
            txtv.setText(json1.get("nome").toString());


Muito obrigado mesmo antunes.... não faz mal me chamar de felipe sahuashushusa ja to acostumado....

Abração


02 Set 2011, 01:07
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
É isso ae rapaz.. o importante é não desistir nunca!!!

Boa sorte ae no resto do seu app.

Qualquer coisa é só postar!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


02 Set 2011, 02:14
Perfil WWW
What is Android?
What is Android?

Data de registro: 01 Set 2011, 05:54
Mensagens: 7
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Boa noite... tenho uma dúvida... como enviar via post um usuario e senha...

            String urlString = "http://192.168.1.2/ws/?user=user&senha=1234";
            StringBuffer newData = new StringBuffer();
            URL url = new URL(urlString);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestProperty("Request-Method", "GET");
            connection.setDoInput(true);
            connection.setDoOutput(false);
            connection.connect();
 


tenho esse código e queria adaptá-lo para post... obrigado


05 Set 2011, 21:22
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Dá uma olhada nesses sites!!

http://hc.apache.org/httpcomponents-cli ... mples.html
http://stackoverflow.com/questions/6220 ... st-in-java
http://stackoverflow.com/questions/4470 ... in-android

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


05 Set 2011, 22:55
Perfil WWW
What is Android?
What is Android?

Data de registro: 25 Mar 2011, 02:35
Mensagens: 3
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Fala galera!

Estou implementando um sisteminha ... e quando precisei fazer uma classe util para json tive alguns problemas com genericos.
Este tópico acabou me ajudando um pouco , então resolvi compartilhar a solução!

Falta tratar melhor as exception ... mas ta funcionando!

To gerando o json no webservice usando o Gson tambem!

tentei usar o JSON nativo do android, funciona , mas não de forma genérica... e não queria ter que implementar o mesmo método alterando só os atributos várias vezes... e pensei nessa maneira!


public static <T> List<T> getAll(Class<T> clazz , String url) {
        String result = getRESTFileContent(url);
        if (result == null) {
            Log.e("CBL", "Falha ao acessar Web Service");
            return null;
        }

        try {

            // se retornar null a consulta , ele nem faz nada!
            if (result != null) {
                Gson gson = new Gson();
                ArrayList<T> perfis = new ArrayList<T>();
                try {
                    // IllegalStateException - Se tiver apenas 1 elemento... ai
                    // ele não consegue montar o array!
                    JsonArray array = new JsonParser().parse(result)
                            .getAsJsonArray();

                    for (int i = 0; i < array.size(); i++) {
                        perfis.add(gson.fromJson(array.get(i), clazz));
                    }
                    return perfis;
                } catch (IllegalStateException e) {
                    Log.i("CBL", "Só tem um registro");
                }

                // Só chega aqui se der exception lá em cima montando o array.
                perfis.add(gson.fromJson(result, clazz));
                return perfis;
            }

        } catch (Exception e) {
            Log.i("CBL", "Erro geral", e);
        }
        return null;
    }
 

_________________
Site - http://carlosbezerralopes.com
Blog - http://carlosbezerralopes.com/blog
Meus aplicativos no Android Market - https://market.android.com/developer?pub=Carlos+Lopes+IT+Services
Meus aplicativos no Windows Phone 7 Marketplace - http://www.windowsphone.com/pt-BR/publishers/carloslopes


07 Set 2011, 11:52
Perfil WWW
What is Android?
What is Android?

Data de registro: 09 Set 2011, 10:51
Mensagens: 2
Mensagem Re: [ARTIGO] Webservice com jSON completo.
alguém conseguiu implementar? eu to implementando utilizando o json, mas não to conseguindo enviar do servidor pro celular.
minha aplicação precisa que tanto o cliente quanto o servidor enviem e recebam dados. é uma consulta ao servidor.
o cliente envia a consulta, o servidor retorna a consulta.
inicialmente tentei via socket, mas obveamente, não deu certo.


09 Set 2011, 12:24
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Ricardo,

Dá uma lida nesse tópico inteiro que tem vários exemplos que eu passei!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


09 Set 2011, 14:05
Perfil WWW
What is a Activity?
What is a Activity?

Data de registro: 20 Set 2011, 12:28
Mensagens: 15
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Achei muito bom o Artigo, tentem implementar no meu codigo, pois queria um progress enquanto carrega a listview com meu consumo de dados.
Até ai fiz as modificações e obeservo pelo log que o método run() não é iniciado.
Então fica o progressbar na tela e a consulta não é disparada.

Veja:

public class ClasseListarMedicamentos extends ListActivity implements Runnable {
   
    private ProgressDialog pd;
    private String page;
    private ArrayList<String> resultado;

    private String URL_WS = "http://minhapage";

    public void onCreate(Bundle icicle) {

        super.onCreate(icicle);
        //setContentView(R.layout.layout_list_medicamentos);
        pd = null;
        pd = ProgressDialog.show(this, "Aguarde",
                "Sincronizando com WebService", true, false);

        Intent it = getIntent();
        Bundle param = it.getExtras();
        msg = param.getString("Variavel");

        // GetDadosMed(msg);
        // names = Retorno.split(";");
        // this.setListAdapter(new ArrayAdapter<String>(this,
        // R.layout.layout_list_medicamentos, R.id.label,
        // names));
        URL_WS = "http://minhapage?id="
                + msg;
        Log.e("WS", URL_WS);
           
       

        try {
            Log.e("WS", "Thread..");
            Thread thread = new Thread();
            thread.start();
            Log.e("WS", "Saiu Thread..");
        } catch (Exception e) {
            pd.dismiss();
            Log.e("WS", e.toString());
        }
        Log.e("WS","Final try");
       
    }

    public void run() {
        try {
            Log.d("WS", "[Entrou Run]");
            this.JSONFile(URL_WS);
            Log.d("WS", "[Saiu Run]");
           
             this.setListAdapter(new ArrayAdapter<String>(this,
             R.layout.layout_list_medicamentos, R.id.label,
             resultado));
            pd.dismiss();
        } catch (Exception e) {
            Log.e("WS", e.toString());
        }
    }

 


21 Set 2011, 15:03
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Tenta instanciar a thread assim:

Thread thread = new Thread(this);


Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


21 Set 2011, 15:42
Perfil WWW
What is a Activity?
What is a Activity?

Data de registro: 20 Set 2011, 12:28
Mensagens: 15
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Com essa mudança o progress aparece e sai. porem não continua não entrado no metodo Run()
coloquei um log no inicio do Run e monitorei, mesmo assim ele dá no log:

09-21 19:52:57.502: ERROR/WS(464): java.lang.ClassCastException: org.json.JSONArray


21 Set 2011, 19:17
Perfil
What is a Activity?
What is a Activity?

Data de registro: 20 Set 2011, 12:28
Mensagens: 15
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Conseguir fazê-lo retornar os dados. pelo log consigo vê-los, agora não sei se fiz corretamente meu código de retorno para o listview..
veja:

public void run() {
        try {
            Log.d("WS", "[Entrou Run]");
            // Chama o método que fará o trabalho com o Json passando o endereço
            // do webservice.
            this.JSONFile(URL_WS);
            Log.d("WS", "[Saiu Run]");
        [color=#0000FF]  this.setListAdapter(new ArrayAdapter<String>(this,
             R.layout.layout_list_medicamentos, R.id.label,
             resultado));[/color] //Essa linha eu adicionei para apresentar o conteudo do array resultado na tela. mas não funciona.
            pd.dismiss();
        } catch (Exception e) {
            Log.e("WS", "1 "+e.toString());
        }
 


21 Set 2011, 19:19
Perfil
Application Life Cycle
Application Life Cycle
Avatar de usuário

Data de registro: 08 Ago 2011, 16:21
Mensagens: 226
Localização: Ponta Grossa - PR / Blumenau - SC
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Caso alguem queira um link da web que retorne um JSON,
aqui vai um da google para teste que retorna um endereço com o seu georeferenciamento tbm.
http://maps.google.com/maps/api/geocode ... ensor=true

_________________
Eu te ajudei? Quer agradecer? Não precisa nem postar no tópico agradecendo, você me ajudaria muito entrando em um dos meus blogs, comentando e compartilhando os posts nas redes sociais.
Blog: Cedulio Cezar- Tutoriais e dicas voltados para o desenvolvimento de softwares em Java e Android.
Blog: Pedreiros do Software - Tutoriais sobre Java, Android, Banco de dados, Arquitetura, JSF.

App: ThinkTwice - Aplicativo que auxilia no aprendizado de outros idiomas.
App: InstantGilGomes- Aplicativo de humor com bordões clássicos do ilustre Gil Gomes.


21 Set 2011, 22:15
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
cahue escreveu:
Conseguir fazê-lo retornar os dados. pelo log consigo vê-los, agora não sei se fiz corretamente meu código de retorno para o listview..
veja:

public void run() {
        try {
            Log.d("WS", "[Entrou Run]");
            // Chama o método que fará o trabalho com o Json passando o endereço
            // do webservice.
            this.JSONFile(URL_WS);
            Log.d("WS", "[Saiu Run]");
        [color=#0000FF]  this.setListAdapter(new ArrayAdapter<String>(this,
             R.layout.layout_list_medicamentos, R.id.label,
             resultado));[/color] //Essa linha eu adicionei para apresentar o conteudo do array resultado na tela. mas não funciona.
            pd.dismiss();
        } catch (Exception e) {
            Log.e("WS", "1 "+e.toString());
        }
 


Crie um tópico, poste o seu código para tratar do ListView!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


21 Set 2011, 22:40
Perfil WWW
Android application
Android application

Data de registro: 04 Mai 2010, 13:28
Mensagens: 55
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Olá! pessoal sou iniciante em programação de webservices, já li e reli esse tópico várias vezes e mesmo assim não estou tendo exito, vou mostrar como é minha situação.
Meu problema é que não estou conseguindo fazer um POST do android para o webservice.

Tenho o seguinte método que faz o POST no Android

protected void enviaPessoa() {
       
        Pessoa pessoa = new Pessoa(1, "fulano de tal");
       
        Gson gson = new Gson();
        String jsonPessoa = gson.toJson(pessoa, Pessoa.class); //aqui vc cria o seu JSON

        StringEntity sEntity = null;
       
        try {
            sEntity = new StringEntity(jsonPessoa, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            Log.e("NGVL", e.toString());
        }
       
        //aqui vc cria a sua StringEntity pra ser colocada no seu httpPost
        DefaultHttpClient httpclient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost("minha url");

        httpPost.setEntity(sEntity); //aqui vc coloca o seu objeto no httpPost

        try {
            HttpResponse response = httpclient.execute(httpPost);
        } catch (ClientProtocolException e) {
            Log.e("NGVL", e.toString());
        } catch (IOException e) {
            Log.e("NGVL", e.toString());
        }
    }



Aqui o meu método que recebe o POST do Android no Webservice

@POST
  @Consumes({MediaType.APPLICATION_JSON})
  @Produces({MediaType.APPLICATION_JSON})
  public List<Pessoa>  adicionaPessoa(JsonArray jasonInput) {
     
      Gson novoGson = new Gson();
      Pessoa pessoa = novoGson.fromJson(jasonInput, Pessoa.class);
     
      pessoas.add(new Pessoa(pessoa.getId(), pessoa.getNome()));
     
    return pessoas;
  }


A classe Pessoa é a mesma tando no Webservice quanto no Android.

O POST é supostamente (pelo menos não apresenta nenhum erro ou exception) enviado do Android para o webservice, só que o metodo do webservice nunca é executado. Alguém sabe o que eu estou fazendo de errado?

_________________
http://n3t0l0b0.blogspot.com/
http://twitter.com/netolobo


05 Out 2011, 03:12
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Vc pode receber o objeto pessoa direto, faz parte da abstração de usar a api Jersey.

]
  @POST
  @Consumes({MediaType.APPLICATION_JSON})
  @Produces({MediaType.APPLICATION_JSON})
  public List<Pessoa>  adicionaPessoa(Pessoa pessoa) {
     
      pessoas.add(pessoa);
     
    return pessoas;
  }


Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


05 Out 2011, 13:14
Perfil WWW
Android application
Android application

Data de registro: 04 Mai 2010, 13:28
Mensagens: 55
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Obrigado pela resposta Antunes, mudei meu método aqui e continua na mesma, o POST não executa de jeito nenhum no webservice.

_________________
http://n3t0l0b0.blogspot.com/
http://twitter.com/netolobo


05 Out 2011, 15:17
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Tenta trocar isso:

  @Consumes({MediaType.APPLICATION_JSON})
  @Produces({MediaType.APPLICATION_JSON})
 


Por isso:

@Consumes("application/json")
@Produces("application/json")
 


Ou isso:

@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
 


Vc está com o path correto na sua url, tem que ser o mesmo que vai no seu método.
@Path("/adicionaPessoa")


Com esse path sua url seria: http://seuIP/NomeDoProjetoWebService/adicionaPessoa

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


05 Out 2011, 16:37
Perfil WWW
Android application
Android application

Data de registro: 04 Mai 2010, 13:28
Mensagens: 55
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Antunes mais uma vez obrigado pela resposta mudei o @consumese @procudes como você indicou e nada (continua na mesma). Quanto ao @Path eu não estava usando no meu método post do webservice, porém adicionei ele e alterei a url do post do android para se adequar ao novo path, mas não deu em nada o método post do webservice continua sem executar.

_________________
http://n3t0l0b0.blogspot.com/
http://twitter.com/netolobo


05 Out 2011, 18:02
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Tentou testar o seu WS??

Usa o aplicativo "Poster" do chrome ou firefox!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


05 Out 2011, 19:41
Perfil WWW
Android application
Android application

Data de registro: 04 Mai 2010, 13:28
Mensagens: 55
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Antunes eu tinha tentado fazer alguns testes antes com o Curl mas não tinha obtido muito sucesso. Fiz uns testes com o Poster mandei um json no seguinte formato {"pessoa":{"id":"1","nome":"neto"}} para o webservice e dessa vez o método post foi executado, mas imprimi o conteúdo do objeto pessoa lá no método e ele está recebendo null. Já pelo cliente do Android continua na mesma, o método post do webservice nem executa.

_________________
http://n3t0l0b0.blogspot.com/
http://twitter.com/netolobo


05 Out 2011, 21:57
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Por acaso vc colocou "@XmlRootElement" na sua classe Pessoa??

Outra coisa é que vc está devolvendo uma lista de Pessoas (List<Pessoa>), é isso mesmo que vc tem que devolver??

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


05 Out 2011, 23:42
Perfil WWW
Android application
Android application

Data de registro: 04 Mai 2010, 13:28
Mensagens: 55
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Por acaso vc colocou "@XmlRootElement" na sua classe Pessoa??

Outra coisa é que vc está devolvendo uma lista de Pessoas (List<Pessoa>), é isso mesmo que vc tem que devolver??

Declarei o "@XmlRootElement" na classe Pessoa do Webservice, mas não declarei na classe Pessoa do cliente, tem que declarar?

Quando ao retorno da lista de Pessosa só estou fazendo isso para ver se está inserindo algo mesmo ou não.

Mais um vez obrigado pela ajuda Antunes.

_________________
http://n3t0l0b0.blogspot.com/
http://twitter.com/netolobo


06 Out 2011, 01:04
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
netolobo escreveu:
Por acaso vc colocou "@XmlRootElement" na sua classe Pessoa??

Outra coisa é que vc está devolvendo uma lista de Pessoas (List<Pessoa>), é isso mesmo que vc tem que devolver??

Declarei o "@XmlRootElement" na classe Pessoa do Webservice, mas não declarei na classe Pessoa do cliente, tem que declarar?

Quando ao retorno da lista de Pessosa só estou fazendo isso para ver se está inserindo algo mesmo ou não.

Mais um vez obrigado pela ajuda Antunes.


Acho que não precisa, basta ter no WS.

Vc sabe que com o método que vc fez no android, não receberá a resposta desse post, neh??

O objeto pessoa está chegando no WS???

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


06 Out 2011, 02:33
Perfil WWW
Android application
Android application

Data de registro: 04 Mai 2010, 13:28
Mensagens: 55
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Sei que meu método do Android não está recebendo a resposta do POST. Pois é acho que o objeto pessoa não está chegando no webservice não pois não executa o método POST no servidor. Mas como já falei anteriormente o método post teoricamente é mandado do Android já que não apresenta erro ou exception.

Outra curiosidade é que nos testes que fiz com o Poster quando eu passo um json o método POST do webservice só recebe null, mas se eu passo um xml ele recebe o objeto corretamente.

_________________
http://n3t0l0b0.blogspot.com/
http://twitter.com/netolobo


06 Out 2011, 10:38
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
No código do android, faltou vc dizer que está enviando um JSON!!

httpPost.setHeader("Content-type", "application/json");


Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


06 Out 2011, 23:12
Perfil WWW
Android application
Android application

Data de registro: 04 Mai 2010, 13:28
Mensagens: 55
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Era isso mesmo Antunes, muito obrigado pela ajuda tinha descobrido agora a pouco e vim aqui no post relatar a solução e você já tinha chegado aqui com a solução. Ao invés de que você postou aqui eu usei isso
sEntity.setContentType("application/json");
o que dá no mesmo que você mandou. Mais um vez obrigado pela ajuda e fica aí a minha classe agora funcionando para quem tiver o mesmo problema.



protected void enviaPessoa() {
       
        Pessoa pessoa = new Pessoa(1, "fulano de tal");
       
        Gson gson = new Gson();
        String jsonPessoa = gson.toJson(pessoa, Pessoa.class); //aqui vc cria o seu JSON

        StringEntity sEntity;
       
       
        try {
            sEntity = new StringEntity(jsonPessoa, "UTF-8");
            sEntity.setContentType("application/json");
        } catch (UnsupportedEncodingException e) {
            sEntity = null;
            Log.i("NGVL", e.toString()+"no sEntity");
        }
       
        //aqui vc cria a sua StringEntity pra ser colocada no seu httpPost
        DefaultHttpClient httpclient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost("url do webservice");

        httpPost.setEntity(sEntity); //aqui vc coloca o seu objeto no httpPost

        try {
            HttpResponse response = httpclient.execute(httpPost);
        } catch (ClientProtocolException e) {
            Log.d("NGVL", e.toString());
        } catch (IOException e) {
            Log.w("NGVL", e.toString());
        }
    }

_________________
http://n3t0l0b0.blogspot.com/
http://twitter.com/netolobo


06 Out 2011, 23:44
Perfil
Android application
Android application

Data de registro: 04 Mai 2010, 13:28
Mensagens: 55
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Fale galera estou com problema agora em fazer o PUT do Android para o webservice. No webservice tenho o seguinte método

@Path("{id}")
  @PUT
  @Consumes(MediaType.APPLICATION_JSON)
  public String atualizaBanda(Pessoa pessoa ,@PathParam("id") int id) {
    Pessoa atual = pessoasMap.get(id);
    atual.setNome(pessoa.getNome());
    System.out.println("executou put");
    return pessoa.getNome() + " atualizada.";
  }


Passar a Pessoa do Android para o webservice eu sei, eu não sei é como eu passo o parametro (no meu caso o id) que é necessário para o método PUT do webservice. Alguém sabe como fazer?

_________________
http://n3t0l0b0.blogspot.com/
http://twitter.com/netolobo


09 Out 2011, 15:56
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
É exatamente isso que vc fez e sua URL será mais ou menos assim "http://localhost:8080/WS_REST/pessoa/1"

No final será o id do seu objeto pessoa.

O que deve estar acontecendo é que o índice do seu ArrayList não é o mesmo número do id da pessoa.

Por exemplo:

Assim vc pega a pessoa que tem o índice igual a 1:
Pessoa atual = pessoasMap.get(id);


Se vc estivesse consultando em um banco de dados, bastaria buscar uma pessoa com o id igual a 1:
select * from pessoa where id = 1


Mas como vc tem uma lista de pessoas, terá que fazer um "for" pra pegar a pessoa com o id que vc recebe.

Assim vc pegará a pessoa com o id igual a 1(se vc criou o atributo id e seus get/set na classe Pessoa):


for(i=0, i<pessoaMap.size(); i++) {
  if(pessoasMap.get(id).getId() == id) {
     Pessoa atual = pessoasMap.get(id);
  }
}
 


Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


09 Out 2011, 20:56
Perfil WWW
Android application
Android application

Data de registro: 04 Mai 2010, 13:28
Mensagens: 55
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Obrigado mais uma vez Antunes, seguinte o meu problema não é com indice do array, o problema era a url do webservice que eu não estava colocando com o id que eu queria alterar, mas agora tá funcionando graças a sua ajuda.
Mas agora estou com uma dúvida, toda vez que eu for fazer um update ou delete eu tenho que passar a url com o id do item que quero atualizar o deletar tipo assim "http://localhost:8080/WS_REST/pessoa/1" e caso eu fosse passar o id dinamicamente seria assim "http://localhost:8080/WS_REST/pessoa/"+id, é assim mesmo que devo fazer ou tem outra forma mais eficiente?

_________________
http://n3t0l0b0.blogspot.com/
http://twitter.com/netolobo


09 Out 2011, 23:00
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
É isso mesmo!!

Se vc populou o seu objeto pessoa, lá no android, pode usar também: "http://localhost:8080/WS_REST/pessoa/"+pessoa.getId()

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


10 Out 2011, 14:35
Perfil WWW
Android Guru
Android Guru
Avatar de usuário

Data de registro: 29 Ago 2011, 16:18
Mensagens: 789
Localização: Blumenau - SC
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Boa tarde pessoa, li o Tópico inteiro, fiz exatamente como vocês disseram, o cliente e o servidor certinho...

Fiz um teste mandando informações do android para o webservice, o webservice recebe os parâmentros que o android manda,

olha so
@POST
    @Consumes("application/json")
    @Produces("text/plain")
    @Path("/insert")
    public void insert(String jsonNewContato){
        ArrayList<Contato> newContatos = new ArrayList<Contato>();
        System.out.println(jsonNewContato);
       
       
        Gson gson = new Gson();    
        JsonParser parser = new JsonParser();   
        JsonArray array = parser.parse(jsonNewContato).getAsJsonArray();
       
        for (int i = 0 ; i<array.size() ; i++){
            newContatos.add(gson.fromJson(array.get(i), Contato.class));
        }
       
        System.out.println(newContatos.get(0).getNome());
       
        ContatoDAO contatodao = new ContatoDAO();
        contatodao.insertContato(newContatos.get(0).getNome(), newContatos.get(0).getEndereco(), newContatos.get(0).getEmail());
    }


não reparem na bagunça do meu método pq é um teste...
mas enfim

ele me retorna isso no System.out.println: {"email":"teste","endereco":"teste","nome":"teste"}
exatamente o Json que tem q retornar para mim... mas diz que não é um Array Json oO

java.lang.IllegalStateException: This is not a JSON Array.
at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:99)
at TesteWS.testeResources.insert(testeResources.java:45)


alguem tem ideia do que seja?

_________________
Sanou a sua dúvida ou resolveu o seu problema?
1º -> Compartilhe a solução postando-a, as pessoas com a mesma dúvida ou problema agradecem.
2º -> Adicione ao título do tópico "[RESOLVIDO]" para que os moderadores identifiquem que o seu tópico foi realmente resolvido.


_____
WordPress: http://tecmaicon.wordpress.com/
github: https://github.com/maiconn
LinkedIn: http://www.linkedin.com/pub/maicon-mach ... /64/a07/20


10 Out 2011, 15:54
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] Webservice com jSON completo.
Se ele retorna isso ({"email":"teste","endereco":"teste","nome":"teste"}) no "System.out.println(jsonNewContato);", então realmente não é um array, esse JSON é um contato apenas.

Um array seria assim:
[{"email":"teste","endereco":"teste","nome":"teste"},{"email":"teste1","endereco":"teste1","nome":"teste1"},{"email":"teste2","endereco":"teste2","nome":"teste2"}]


Vc está recebendo uma Lista de contatos??

Outra coisa é que seu método é "void", logo, não precisa do "@Produces("text/plain")", mas isso não impede de funcionar.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


10 Out 2011, 16:40
Perfil WWW
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 154 Mensagens ]  Ir para a página Anterior  1, 2, 3, 4  Próximo

Quem está online

Usuários vendo este fórum: ademilson, Alessandro Tavares, alexandrepom, alexvbh, aluclinux, americano, anaguerra, ANDRE FELIX DE ASSIS, andre.hebeler, Andreid, Aniquiler, arilsonm, arnaldo.miranda, arquivo51, Ask Jeeves, Avelino Mateus Neto, axellsan, beeshop, Berbert, Blackstorm, bravus, brazucx, brian15, Bruto_JPO, btminzon, caciara, camilodev, Carlos Almeida, Catapan, charly, Chefe Nass, Chewbacca, chunga, cosmotheoro, Cristranus, culumin, Cynthia, dariosena, Darth Maul, dbispo, deborazb, dikiloco, dudu795, e-azuos, EduardoYC, eloilton, Emanuella, estratecnologia, euguns, Everton Moreira, fabielp, felipedsilva, FelipeOliveira, Fernando Cardia, fracon, furlanrapha, Gabriel, garretereis, Geovanne Duarte, Governador Wilhuff Tarkin, gphonemania, guilhermesmo, heliopassos, hellbest, HyagoRules, italoraony, jackdaniel, jcorreajr, JeffCF, jefficojava, jhhm_2008, joaquimfoto, jonasminas, jpespindola, juliaojunior, Ki-Adi-Mundi, kristopher, Lelinho, leoadias, Leonardo, lucastgomes, Lucious, luiz.lago, Luna, Machado000, malucouto, mapis, marceloaragao, marcelocastellani, marcosandreao, marianatallas, Marini, MauNunes, maurosilva, Mayron Cimardi, mikasjau, monteirojp, msmdark, MSN NewsBlogs, nglaubervasc, Nidio Dolfini, nina.rm, Paulo Bizzo, paulo.esantos, pfsmorigo, phobos, piantino, rafsantos, ramonsiebra, raninhofernandes, rbenatti, regeriob2br, ricdigital, Robson Florentino, robsonrg, rogeriopgomes, Rogério, romuloigor, rotilho, samuel.cavanieri, sandro, SEO Crawler, SidneiCP, siker C3PO, Stryder, tChAnDy, tchou, Thelemita, thosjanas, tiago, tnarnold, tonylock, Velhinho, Wendel Carvalho, wesley.messias, weverton, Wookiees, yeltsinlima e 1 visitante


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi