Ajuda com :Android e Servlet (WebService)!

Ola gostaria de saber como faço para fazer uma conexao entre a minha aplicação android e um servlet ou webservice , pois tenho uma aplicação que se comunica com um server socket , porem acho que seria melhor com um servlet…Eu preciso que eles troquem variaveis entre si , isso é possivel ?
Estou deseperado atras da resposta , obrigado!

Supondo que o seu servlet/webservice já esteja recebendo requisições, na aplicação android vc pode executar um get ou post (Da mesma forma que eh feito com java tradicional).
Supondo que seu webservice retorne um json, segue um exemplo de uma requisição post para o Android que retorna um JSONObject:

[code]
public void executaRequisicaoAoServidor() {
//obtem post que será enviado
HttpPost post = obtenhaPost();
JSONObject jsonResposta = null;

    try {
        jsonResposta = executeChamadaComRespostaJSON(httpPost);
        //..faça o que quiser com o json aqui
    } catch (Exception e) {
    }
}

public HttpPost obtenhaPost() {
    //requisicao com a url do webservice
    HttpPost httpPost = new HttpPost("http://foo.bar");

    //parâmetros da requisição
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("username", usuario));
    nameValuePairs.add(new BasicNameValuePair("password", senha));

    try {
        httpPost.setHeader("Accept", "application/json");
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

    return httpPost;
}

public JSONObject executeChamadaComRespostaJSON(HttpPost httpPost) throws IOException, JSONException {
    JSONObject resposta = null;
    HttpResponse response = null;

    response = executePost(httpPost);
    resposta = new JSONObject(EntityUtils.toString(response.getEntity())); //se a resposta do webservice retornar um JSON ele é pego aqui

    return resposta;
}

public HttpResponse executePost(HttpPost httpPost) throws IOException, JSONException {
    DefaultHttpClient client = new DefaultHttpClient();
    return client.execute(httpPost); //retorna a resposta do webservice
}[/code]

Axo q seria + ou - isto.
Pelo google vc axa vários exemplos disto fácil :slight_smile:

[ ]'s

Pelo seu exemplo , quem faz o primeiro contato é o webservice não é ? Pelo que eu entendi…kk[
EU queria que quem fizesse o primeiro contato fosse o android e depois se fosse o caso o webservice retornava a resposta…Tem como ?
Obrigado pela resposta!

O primeiro contato ai neste exemplo quem faz é a aplicação android.
Note que no primeiro método a aplicação android faz uma requisição post a um webservice.
A requisição em si é montada no método obtenhaPost(), onde são definidos os parâmetros e a url do seu webservice. Este método retorna um objeto HttpPost, o qual eh utilizado para fazer a requisição.

O método executeChamadaComRespostaJSON(HttpPost httpPost) faz a requisição ao seu webservice e retorna a resposta do webservice na forma de um objeto JSONObject.

Aaa sim intendi , muito obrigado pela ajuda , vou estudar sobre o assunto!

Segue um documento do Fernando Esmaniotto que irá ajudar!

Abraço,