-1

I am trying to get values form mysql(xampp) database but its not working my database name is meeting_planner and table name is participant

try {

                HttpPost httppost;

                HttpClient httpclient;

                httpclient = new DefaultHttpClient();

                httppost = new HttpPost(

                "http://10.10.10.159/my_folder_inside_htdocs/getdata.php");

                System.out.println("after url");

                ResponseHandler<String> responseHandler = new BasicResponseHandler();

                System.out.println("after response handler");

                 final String response = httpclient.execute(httppost,

                        responseHandler);




                 System.out.println("the response is "+response);

                 Log.e("pass 1", "connection success ");

            } catch (Exception e) {
                  e.printStackTrace();

            }

getdata.php code is here

<?php

     mysql_connect("localhost","admin","admin"); // host, username, password...

   mysql_select_db("meeting_planner"); // db name...


    $q=mysql_query("SELECT * FROM participant");

    while($row=mysql_fetch_assoc($q))

            $json_output[]=$row;

          print(json_encode($json_output));

    mysql_close();

?>

the response variable is null in result of System.out.println("response"+response); log cat is here

android.os.NetworkOnMainThreadException

at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)

at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)

at libcore.io.IoBridge.connectErrno(IoBridge.java:127)

at libcore.io.IoBridge.connect(IoBridge.java:112)

at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)

at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)

at java.net.Socket.connect(Socket.java:843)

at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)

at 

org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOpera

tor.java:144)

at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)

at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)

at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)

at com.example.androidmeetingplanner.Invite.addListenerOnButton(Invite.java:130)

at com.example.androidmeetingplanner.Invite.onCreate(Invite.java:39)

at android.app.Activity.performCreate(Activity.java:5231)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)

at android.app.ActivityThread.access$800(ActivityThread.java:135)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:136)

at android.app.ActivityThread.main(ActivityThread.java:5017)

at java.lang.reflect.Method.invokeNative(Native Method)
Sadia Asghar
  • 13
  • 2
  • 6

3 Answers3

0

android.os.NetworkOnMainThreadException said that you call request in GUI thread. You should do all operations with network in another thread.

For example, you can add this code into AsyncTask.

0

You are getting NetworkOnMainThreadException. please use AsyncTask to make HttpRequest like the following:

    private class HttpGetter extends AsyncTask<Void, Void, Void> {

            @Override
            protected Void doInBackground(URL... urls) {
                try {
                    HttpClient httpclient = new DefaultHttpClient();
                    HttpPost httppost= new HttpPost(          "http://10.10.10.159/my_folder_inside_htdocs/getdata.php");
                    System.out.println("after url");
                    ResponseHandler<String> responseHandler = new BasicResponseHandler();
                    System.out.println("after response handler");
                    String response = httpclient.execute(httppost,responseHandler);
                    System.out.println("the response is "+response);
                    Log.e("pass 1", "connection success ");
            } catch (Exception e) {
              e.printStackTrace();
            }   
            return null; 
        }
}

And in your activity write the following code to execute it

    HttpGetter getter = new HttpGetter();
    getter.execute(null,null);
Abdul Mohsin
  • 1,253
  • 1
  • 13
  • 24
0

Please check this reference: How to fix android.os.NetworkOnMainThreadException? . Android cannot let you make an http request on main Thread, you should make a request on different thread

Community
  • 1
  • 1
Unii
  • 1,587
  • 15
  • 33