[ARTIGO] Webservice com jSON completo.
| Autor |
Mensagem |
|
marquinhofonceka
Anatomy of an App
Data de registro: 12 Mar 2011, 12:32 Mensagens: 106
|
 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 softwares
|
| 29 Ago 2011, 22:48 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 Re: [ARTIGO] Webservice com jSON completo.
Rapaz,
To querendo ir, mas ainda não sei, sou do RJ.
Abraços!
_________________Alexandre Antunes @a3b @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 03:51 |
|
 |
|
marquinhofonceka
Anatomy of an App
Data de registro: 12 Mar 2011, 12:32 Mensagens: 106
|
 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?
_________________ Marcos Roberto da Fonseca Desenvolvimento de softwares
|
| 31 Ago 2011, 17:53 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 18:41 |
|
 |
|
filipeleonardi
What is Android?
Data de registro: 01 Set 2011, 04:54 Mensagens: 7
|
 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, 05:20 |
|
 |
|
marquinhofonceka
Anatomy of an App
Data de registro: 12 Mar 2011, 12:32 Mensagens: 106
|
 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 softwares
|
| 01 Set 2011, 09:30 |
|
 |
|
marquinhofonceka
Anatomy of an App
Data de registro: 12 Mar 2011, 12:32 Mensagens: 106
|
 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 softwares
|
| 01 Set 2011, 10:21 |
|
 |
|
Edgard.Levy
Anatomy of an App
Data de registro: 06 Nov 2010, 14:32 Mensagens: 151 Localização: Rio Preto - MG - Brazil
|
 Re: [ARTIGO] Webservice com jSON completo.
experimente
tv.setText(ob.getString("nome2").toString());
|
| 01 Set 2011, 10:55 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 12:29 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 12:30 |
|
 |
|
filipeleonardi
What is Android?
Data de registro: 01 Set 2011, 04:54 Mensagens: 7
|
 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, 14:39 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 15:10 |
|
 |
|
filipeleonardi
What is Android?
Data de registro: 01 Set 2011, 04:54 Mensagens: 7
|
 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, 17:31 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 18:25 |
|
 |
|
filipeleonardi
What is Android?
Data de registro: 01 Set 2011, 04:54 Mensagens: 7
|
 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, 19:57 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 20:18 |
|
 |
|
filipeleonardi
What is Android?
Data de registro: 01 Set 2011, 04:54 Mensagens: 7
|
 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.jarvou chegar em casa e testar... se nao funcionar dai testo com o codigo que tu me mandou antunes... valeu mesmo
|
| 01 Set 2011, 21:23 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 22:52 |
|
 |
|
filipeleonardi
What is Android?
Data de registro: 01 Set 2011, 04:54 Mensagens: 7
|
 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, 00:07 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 01:14 |
|
 |
|
filipeleonardi
What is Android?
Data de registro: 01 Set 2011, 04:54 Mensagens: 7
|
 Re: [ARTIGO] Webservice com jSON completo.
Boa noite... tenho uma dúvida... como enviar via post um usuario e senha... tenho esse código e queria adaptá-lo para post... obrigado
|
| 05 Set 2011, 20:22 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 Re: [ARTIGO] Webservice com jSON completo.
_________________Alexandre Antunes @a3b @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 21:55 |
|
 |
|
carlosbezerralopes
What is Android?
Data de registro: 25 Mar 2011, 01:35 Mensagens: 3
|
 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; }
|
| 07 Set 2011, 10:52 |
|
 |
|
ricardosma
What is Android?
Data de registro: 09 Set 2011, 09:51 Mensagens: 2
|
 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, 11:24 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 13:05 |
|
 |
|
cahue
What is AVD?
Data de registro: 20 Set 2011, 11:28 Mensagens: 15
|
 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, 14:03 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 Re: [ARTIGO] Webservice com jSON completo.
Tenta instanciar a thread assim: Abraços!
_________________Alexandre Antunes @a3b @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 14:42 |
|
 |
|
cahue
What is AVD?
Data de registro: 20 Set 2011, 11:28 Mensagens: 15
|
 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, 18:17 |
|
 |
|
cahue
What is AVD?
Data de registro: 20 Set 2011, 11:28 Mensagens: 15
|
 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, 18:19 |
|
 |
|
ByddU
Anatomy of an App
Data de registro: 08 Ago 2011, 15:21 Mensagens: 105 Localização: Ponta Grossa - PR / Blumenau - SC
|
 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
|
| 21 Set 2011, 21:15 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 21:40 |
|
 |
|
netolobo
Android application
Data de registro: 04 Mai 2010, 12:28 Mensagens: 55
|
 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?
|
| 05 Out 2011, 02:12 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 12:14 |
|
 |
|
netolobo
Android application
Data de registro: 04 Mai 2010, 12:28 Mensagens: 55
|
 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.
|
| 05 Out 2011, 14:17 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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. Com esse path sua url seria: http://seuIP/NomeDoProjetoWebService/adicionaPessoaAbraços!
_________________Alexandre Antunes @a3b @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 15:37 |
|
 |
|
netolobo
Android application
Data de registro: 04 Mai 2010, 12:28 Mensagens: 55
|
 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.
|
| 05 Out 2011, 17:02 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 Re: [ARTIGO] Webservice com jSON completo.
Tentou testar o seu WS??
Usa o aplicativo "Poster" do chrome ou firefox!!
Abraços!
_________________Alexandre Antunes @a3b @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 18:41 |
|
 |
|
netolobo
Android application
Data de registro: 04 Mai 2010, 12:28 Mensagens: 55
|
 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.
|
| 05 Out 2011, 20:57 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 22:42 |
|
 |
|
netolobo
Android application
Data de registro: 04 Mai 2010, 12:28 Mensagens: 55
|
 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.
|
| 06 Out 2011, 00:04 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 01:33 |
|
 |
|
netolobo
Android application
Data de registro: 04 Mai 2010, 12:28 Mensagens: 55
|
 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.
|
| 06 Out 2011, 09:38 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 22:12 |
|
 |
|
netolobo
Android application
Data de registro: 04 Mai 2010, 12:28 Mensagens: 55
|
 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()); } }
|
| 06 Out 2011, 22:44 |
|
 |
|
netolobo
Android application
Data de registro: 04 Mai 2010, 12:28 Mensagens: 55
|
 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?
|
| 09 Out 2011, 14:56 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 19:56 |
|
 |
|
netolobo
Android application
Data de registro: 04 Mai 2010, 12:28 Mensagens: 55
|
 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?
|
| 09 Out 2011, 22:00 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 13:35 |
|
 |
|
maiconn
Debugging
Data de registro: 29 Ago 2011, 15:18 Mensagens: 671 Localização: Blumenau - SC
|
 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._____ Blog: http://tecmaicon.wordpress.com/LinkedIn: http://www.linkedin.com/pub/maicon-mach ... /64/a07/20
|
| 10 Out 2011, 14:54 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1846 Localização: Rio de Janeiro
|
 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 @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. 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, 15:40 |
|
|
Quem está online |
Usuários vendo este fórum: adautox, adolfo, agtavares, Alan Unger, alansousa, alex.abrantes, alexandrepom, am2net, Andreid, andrewort, Andrey, andrigo, Avelino Mateus Neto, axellsan, BloggerCaOS, bravus, caciara, Caique, careisjr, cesschneider, cleberkct, Costa, czambroni, dentimskol, Diego, diemesleno, digiwise, dirceuconte, Dorpho, edlinux, Eduardo - Brasil, emersonalencar, Eneias, erissi, Everton Moreira, fabrizior, Felipe Ferreira, felipedornelas, ffardo, fgalvão, flashking, fraga, francismarconcini, gedoor, Geovanne Duarte, grandebaro, Guilherme Cobain, hostdesigner, HyagoRules, ixian, jackstuard, jeanbr07, jefficojava, jpespindola, juniorfranca, kidush, leeeeooooooo, Lelinho, leofernandesmo, Leonardo333, lillian.brandao, lisbao, loferreira, luizcyber, maolveira, mapis, Moisés Souto, n3t0, nfaria, Nice, Nidio Dolfini, o-raposa, otpor, phobos, pyrobit, R2-D2, Rafael, Rafael Alencar, rafsantos, retardad0, rfrafael, rogeriokta, ronamore, rtodao, samuel.cavanieri, sephct, SERGIO RODRIGUES, shadow, soulmachine, Tangerina, ThiMatsu, tnarnold, tonylock, Transtago, valaszek, vandob, VIEIRIX, VILESOFT, vilmartr, viniciusllima, voliverio, wcaciano, wingdoido 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
|
|