Rajapandian
Rajapandian

Reputation: 7079

Connecting to a webserver with android

I have to connect to a webserver from android and I have to access a webservice and a webpage from the webserver. Can anybody help me? Please give step by step process with some code snippets because I am new to android and I don't know anything in connecting to a webserver.

Upvotes: 2

Views: 4247

Answers (3)

Paul Gregoire
Paul Gregoire

Reputation: 9793

If you don't want to use an additional library, here is a means for sending an "id" and "name" to a server:


    URL url = null;
    try {
        String registrationUrl = String.format("http://myserver/register?id=%s&name=%s", myId, URLEncoder.encode(myName,"UTF-8"));
        url = new URL(registrationUrl);
        URLConnection connection = url.openConnection();
        HttpURLConnection httpConnection = (HttpURLConnection) connection;
        int responseCode = httpConnection.getResponseCode();
        if (responseCode == HttpURLConnection.HTTP_OK) {
            Log.d("MyApp", "Registration success");
        } else {
            Log.w("MyApp", "Registration failed for: " + registrationUrl);              
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

You could just as easily send other data via this URI "GET" style, but if you need to send something more detailed a POST will be required.

Note: Originally posted to answer a similar question here: How to connect android to server

Upvotes: 0

Josef Pfleger
Josef Pfleger

Reputation: 74557

You can use an HttpClient:

HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(uri);
HttpResponse httpResponse = httpClient.execute(httpGet);
BufferedReader reader = new BufferedReader(
    new InputStreamReader(httpResponse.getEntity().getContent()));
// user reader to read & parse response 
reader.close();

Parsing the response obviously depends on the format (e.g. SOAP, JSON, etc.)

Upvotes: 1

Matthew Flaschen
Matthew Flaschen

Reputation: 285027

You haven't given very much info (what kind of web page, XML/JSON/HTML/etc. ?). But the basic principles of regular Java apply. Using URL and InputStream:

URL url = new URL(...);
InputStream is = url.openStream();

And from there it depends what kind of data you're dealing with.

Upvotes: 0

Related Questions