1

Sorry I'm new in the world java and android. I would like to understand why it always responds error. Thank you!

try {
            HttpClient client = new DefaultHttpClient();  
            String getURL = "http://www.google.com";
            HttpGet get = new HttpGet(getURL);
            HttpResponse responseGet = client.execute(get);  
            HttpEntity resEntityGet = responseGet.getEntity();  
            if (resEntityGet != null) {  
            Toast.makeText(getApplicationContext(), "ok", Toast.LENGTH_LONG).show();
             }
    } catch (Exception e) {
        //e.printStackTrace();
        Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_LONG).show();
    }

Import

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

and yes and I entered permission internet

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.testhttp"
    android:versionCode="1"
    android:versionName="1.0" >

        <uses-permission android:name="android.permission.INTERNET" />

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
3
  • Use LogCat to examine the Java stack trace associated with your "error". If you do not understand the stack trace, edit your question and post it here. Commented Jul 14, 2013 at 16:57
  • uncomment the e.printStackTrace() and see what is the exception in logcat Commented Jul 14, 2013 at 17:00
  • see stackoverflow.com/questions/22395417/… Commented Apr 19, 2015 at 2:50

2 Answers 2

2

seems to be like you are trying to make an http request in the UI thread.

put your request in another thread.

Sign up to request clarification or add additional context in comments.

2 Comments

@user2068102 remove Toast.makeText(getApplicationContext(), "ok", Toast.LENGTH_LONG).show(); from try block as well as from catch block and use Log.d("OK","Ok"); at both try and catch block and see results in logCat !
if you want to use Toast than use it as : runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(.....).show(); } });
0

You can also use this code to make an HTTP Request:

public class RequestClient extends AsyncTask<String, Void, String>{
        Context context;

        public RequestClient(Context c) {
            context = c;
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected String doInBackground(String... aurl){
        String responseString="";
        HttpClient client = null;
        try {
             client = new DefaultHttpClient();  
             HttpGet get = new HttpGet(LoginActivity.url);
             HttpResponse responseGet = client.execute(get);  
             HttpEntity resEntityGet = responseGet.getEntity();  
             if (resEntityGet != null) {  
                 responseString = EntityUtils.toString(resEntityGet);
                 Log.i("GET RESPONSE", responseString.trim());
             }
        } catch (Exception e) {
            Log.d("ANDRO_ASYNC_ERROR", "Error is "+e.toString());
        }
            Log.d("ANDRO_ASYNC_RESPONSE", responseString.trim());
            client.getConnectionManager().shutdown();
         return responseString.trim();

        }


        @Override
        protected void onPostExecute(String response) {
             super.onPostExecute(response); 
            }
    }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.