My goal was to send a POST request to my PHP page. I looked through a bunch of sites and materials and made a banal HTTP request after which I have android.os.NetworkOnMainThreadException raised this error. I tried to do it through Asynctask, but I didn’t understand anything and that’s what happened
package ktl.myapplication; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.ResponseHandler; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { Button btnOk; /**Вызывается при первом создании */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // загрузка layout setContentView(R.layout.activity_main); btnOk = (Button) findViewById(R.id.btn1); OnClickListener oclBtnOk = new OnClickListener() { @Override public void onClick(View v) { class RequestTask extends AsyncTask<String, String, String> { @Override protected String doInBackground(String... params) { try { //создаем запрос на сервер DefaultHttpClient hc = new DefaultHttpClient(); ResponseHandler<String> res = new BasicResponseHandler(); //он у нас будет посылать post запрос HttpPost postMethod = new HttpPost("http://shkz3.info/switch.php"); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); nameValuePairs.add(new BasicNameValuePair("PAR", "SVET1")); //собераем их вместе и посылаем на сервер postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs)); } catch (Exception e) { System.out.println("Exp=" + e); } return null; } } } }; btnOk.setOnClickListener(oclBtnOk); } } as well as logcat
04-02 11:23:44.575 32216-32216/ktl.myapplication D/dalvikvm﹕ Zygote::ForkAndSpecialize : 0 04-02 11:23:44.578 32216-32216/ktl.myapplication D/dalvikvm﹕ zygote get new systemTid : 32216 04-02 11:23:44.578 32216-32216/ktl.myapplication D/dalvikvm﹕ Late-enabling CheckJNI 04-02 11:23:44.578 32216-32220/ktl.myapplication D/dalvikvm﹕ threadid=2: interp stack at 0x5ba49000 04-02 11:23:44.578 32216-32220/ktl.myapplication D/dalvikvm﹕ init ref table 04-02 11:23:44.578 32216-32220/ktl.myapplication D/dalvikvm﹕ init mutex 04-02 11:23:44.579 32216-32221/ktl.myapplication D/dalvikvm﹕ threadid=3: interp stack at 0x5bb69000 04-02 11:23:44.579 32216-32221/ktl.myapplication D/dalvikvm﹕ init ref table 04-02 11:23:44.579 32216-32221/ktl.myapplication D/dalvikvm﹕ init mutex 04-02 11:23:44.579 32216-32221/ktl.myapplication D/dalvikvm﹕ Elevating priority from 0 to -8 04-02 11:23:44.579 32216-32216/ktl.myapplication D/jdwp﹕ prepping for JDWP over ADB 04-02 11:23:44.579 32216-32222/ktl.myapplication D/dalvikvm﹕ threadid=4: interp stack at 0x5ecaa000 04-02 11:23:44.579 32216-32222/ktl.myapplication D/dalvikvm﹕ init ref table 04-02 11:23:44.579 32216-32222/ktl.myapplication D/dalvikvm﹕ init mutex 04-02 11:23:44.579 32216-32222/ktl.myapplication D/jdwp﹕ JDWP: thread running 04-02 11:23:44.580 32216-32222/ktl.myapplication D/jdwp﹕ trying to receive file descriptor from ADB 04-02 11:23:44.625 32216-32228/ktl.myapplication D/dalvikvm﹕ threadid=9: interp stack at 0x5f43e000 04-02 11:23:44.625 32216-32228/ktl.myapplication D/dalvikvm﹕ init ref table 04-02 11:23:44.625 32216-32228/ktl.myapplication D/dalvikvm﹕ init mutex 04-02 11:23:44.625 32216-32229/ktl.myapplication D/dalvikvm﹕ threadid=10: interp stack at 0x5f55c000 04-02 11:23:44.625 32216-32229/ktl.myapplication D/dalvikvm﹕ init ref table 04-02 11:23:44.625 32216-32229/ktl.myapplication D/dalvikvm﹕ init mutex 04-02 11:23:44.655 32216-32222/ktl.myapplication D/jdwp﹕ received file descriptor 47 from ADB 04-02 11:23:44.669 32216-32216/ktl.myapplication V/SettingsProviderInterface﹕ invalidate [system]: current 244 != cached 0 04-02 11:23:44.670 32216-32216/ktl.myapplication D/ActivityThread﹕ hoder:android.app.IActivityManager$ContentProviderHolder@43160db0,provider,holder.Provider:android.content.ContentProviderProxy@43161528 04-02 11:23:44.673 32216-32216/ktl.myapplication D/asset﹕ AssetManager-->addDefaultAssets CIP path not exsit! 04-02 11:23:44.676 32216-32216/ktl.myapplication D/Proxy﹕ setHttpRequestCheckHandler 04-02 11:23:44.678 32216-32216/ktl.myapplication D/dalvikvm﹕ open_cached_dex_file : /data/app/ktl.myapplication-2.apk /data/dalvik-cache/data@app@ktl.myapplication-2.apk@classes.dex 04-02 11:23:44.680 32216-32216/ktl.myapplication D/ActivityThread﹕ BIND_APPLICATION handled : 0 / AppBindData{appInfo=ApplicationInfo{4315e3e8 ktl.myapplication}} 04-02 11:23:44.680 32216-32216/ktl.myapplication V/ActivityThread﹕ Handling launch of ActivityRecord{4315fbe8 token=android.os.BinderProxy@4315f2d0 {ktl.myapplication/ktl.myapplication.MainActivity}} 04-02 11:23:44.747 32216-32216/ktl.myapplication V/ActivityThread﹕ ActivityRecord{4315fbe8 token=android.os.BinderProxy@4315f2d0 {ktl.myapplication/ktl.myapplication.MainActivity}}: app=android.app.Application@43165428, appName=ktl.myapplication, pkg=ktl.myapplication, comp={ktl.myapplication/ktl.myapplication.MainActivity}, dir=/data/app/ktl.myapplication-2.apk 04-02 11:23:44.749 32216-32216/ktl.myapplication D/dalvikvm﹕ create interp thread : stack size=128KB 04-02 11:23:44.749 32216-32216/ktl.myapplication D/dalvikvm﹕ create new thread 04-02 11:23:44.749 32216-32216/ktl.myapplication D/dalvikvm﹕ new thread created 04-02 11:23:44.749 32216-32216/ktl.myapplication D/dalvikvm﹕ update thread list 04-02 11:23:44.750 32216-32230/ktl.myapplication D/dalvikvm﹕ threadid=11: interp stack at 0x5f726000 04-02 11:23:44.750 32216-32230/ktl.myapplication D/dalvikvm﹕ init ref table 04-02 11:23:44.750 32216-32230/ktl.myapplication D/dalvikvm﹕ init mutex 04-02 11:23:44.750 32216-32230/ktl.myapplication D/dalvikvm﹕ threadid=11: created from interp 04-02 11:23:44.750 32216-32216/ktl.myapplication D/dalvikvm﹕ start new thread 04-02 11:23:44.750 32216-32230/ktl.myapplication D/dalvikvm﹕ threadid=11: notify debugger 04-02 11:23:44.750 32216-32230/ktl.myapplication D/dalvikvm﹕ threadid=11 (LaunchIconThemeResource): calling run() 04-02 11:23:44.757 32216-32216/ktl.myapplication D/asset﹕ AssetManager-->addDefaultAssets CIP path not exsit! 04-02 11:23:44.800 32216-32216/ktl.myapplication D/jiayh2﹕ LaunchIconThemeResourcegetDrawable packageName:ktl.myapplication asetfile:null 04-02 11:23:44.801 32216-32216/ktl.myapplication D/jiayh2﹕ LaunchIconThemeResourcegetDrawable packageName:ktl.myapplication asetfile:null 04-02 11:23:44.803 32216-32216/ktl.myapplication D/jiayh2﹕ LaunchIconThemeResourcegetDrawable packageName:ktl.myapplication asetfile:null 04-02 11:23:44.806 32216-32216/ktl.myapplication D/jiayh2﹕ LaunchIconThemeResourcegetDrawable packageName:ktl.myapplication asetfile:null 04-02 11:23:44.807 32216-32216/ktl.myapplication D/jiayh2﹕ LaunchIconThemeResourcegetDrawable packageName:ktl.myapplication asetfile:null 04-02 11:23:44.809 32216-32216/ktl.myapplication V/ActivityThread﹕ Performing resume of ActivityRecord{4315fbe8 token=android.os.BinderProxy@4315f2d0 {ktl.myapplication/ktl.myapplication.MainActivity}} finished=false 04-02 11:23:44.809 32216-32216/ktl.myapplication D/ActivityThread﹕ ACT-AM_ON_RESUME_CALLED ActivityRecord{4315fbe8 token=android.os.BinderProxy@4315f2d0 {ktl.myapplication/ktl.myapplication.MainActivity}} 04-02 11:23:44.809 32216-32216/ktl.myapplication V/ActivityThread﹕ Resume ActivityRecord{4315fbe8 token=android.os.BinderProxy@4315f2d0 {ktl.myapplication/ktl.myapplication.MainActivity}} started activity: false, hideForNow: false, finished: false 04-02 11:23:44.854 32216-32216/ktl.myapplication V/PhoneWindow﹕ DecorView setVisiblity: visibility = 4 ,Parent =null, this =com.android.internal.policy.impl.PhoneWindow$DecorView{4316c030 IE.... R.....ID 0,0-0,0} 04-02 11:23:44.968 32216-32216/ktl.myapplication V/ActivityThread﹕ Resuming ActivityRecord{4315fbe8 token=android.os.BinderProxy@4315f2d0 {ktl.myapplication/ktl.myapplication.MainActivity}} with isForward=true 04-02 11:23:44.968 32216-32216/ktl.myapplication V/PhoneWindow﹕ DecorView setVisiblity: visibility = 0 ,Parent =ViewRoot{43179d90 ktl.myapplication/ktl.myapplication.MainActivity,ident = 0}, this =com.android.internal.policy.impl.PhoneWindow$DecorView{4316c030 VE.... R.....ID 0,0-0,0} 04-02 11:23:44.968 32216-32216/ktl.myapplication V/ActivityThread﹕ Scheduling idle handler for ActivityRecord{4315fbe8 token=android.os.BinderProxy@4315f2d0 {ktl.myapplication/ktl.myapplication.MainActivity}} 04-02 11:23:44.969 32216-32216/ktl.myapplication D/ActivityThread﹕ ACT-LAUNCH_ACTIVITY handled : 0 / ActivityRecord{4315fbe8 token=android.os.BinderProxy@4315f2d0 {ktl.myapplication/ktl.myapplication.MainActivity}} 04-02 11:23:44.971 32216-32216/ktl.myapplication D/jiayh2﹕ FontThemeManager createThemeFont typefacetype=2, curfontpath=/system/fonts/DroidSansFallback.ttf 04-02 11:23:44.971 32216-32216/ktl.myapplication D/jiayh2﹕ FontThemeManager createThemeFont typefacetype=2, curfontpath=/system/fonts/DroidSansFallback.ttf 04-02 11:23:44.971 32216-32216/ktl.myapplication D/jiayh2﹕ FontThemeManager createThemeFont typefacetype=2, curfontpath=/system/fonts/DroidSansFallback.ttf 04-02 11:23:45.040 32216-32216/ktl.myapplication D/IMGSRV﹕ mtk_gralloc_debug_check:43: g_gr_dbg=0 v=-1 04-02 11:23:45.040 32216-32216/ktl.myapplication D/IMGSRV﹕ mtk_gralloc_debug_check:43: g_gr_dbg=0 v=-1 04-02 11:23:45.059 32216-32216/ktl.myapplication D/GraphicBuffer﹕ create handle(0x604a6910) (w:1088, h:1920, f:1) 04-02 11:23:45.063 32216-32216/ktl.myapplication D/OpenGLRenderer﹕ Enabling debug mode 0 04-02 11:23:45.064 32216-32216/ktl.myapplication D/GraphicBuffer﹕ create handle(0x60cd26b0) (w:1792, h:1984, f:1) 04-02 11:23:45.071 32216-32216/ktl.myapplication D/OpenGLRenderer﹕ setViewport 1080x1920 <0x604a6a38> 04-02 11:23:45.073 32216-32216/ktl.myapplication V/InputMethodManager﹕ onWindowFocus: null softInputMode=288 first=true flags=#1810100 04-02 11:23:45.073 32216-32216/ktl.myapplication V/InputMethodManager﹕ START INPUT: com.android.internal.policy.impl.PhoneWindow$DecorView{4316c030 VE.... R.....ID 0,0-1080,1920} ic=null tba=android.view.inputmethod.EditorInfo@4318baf8 controlFlags=#104 04-02 11:23:46.466 32216-32216/ktl.myapplication I/View﹕ Touch down dispatch to android.widget.Button{43171f10 VFED..C. ........ 191,48-425,192 #7f08003f app:id/btn1}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=117.71414, y[0]=76.89589, Xw[0]=16.0, Yw[0]=16.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=56834756, downTime=56834756, deviceId=3, source=0x1002 } 04-02 11:23:46.487 32216-32216/ktl.myapplication D/GraphicBuffer﹕ create handle(0x61bf4b60) (w:1088, h:1920, f:1) 04-02 11:23:46.570 32216-32216/ktl.myapplication I/View﹕ Touch up dispatch to android.widget.Button{43171f10 VFED..C. ...P.... 191,48-425,192 #7f08003f app:id/btn1}, event = MotionEvent { action=ACTION_UP, id[0]=0, x[0]=112.71878, y[0]=74.89693, Xw[0]=32.0, Yw[0]=32.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=56834860, downTime=56834756, deviceId=3, source=0x1002 } 04-02 11:23:46.589 32216-32216/ktl.myapplication D/GraphicBuffer﹕ create handle(0x5f93dc58) (w:1088, h:1920, f:1) 04-02 11:23:48.835 32216-32216/ktl.myapplication I/View﹕ Touch down dispatch to android.widget.Button{43171f10 VFED..C. ........ 191,48-425,192 #7f08003f app:id/btn1}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=131.7012, y[0]=108.87923, Xw[0]=16.0, Yw[0]=16.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=56837124, downTime=56837124, deviceId=3, source=0x1002 } 04-02 11:23:48.869 32216-32216/ktl.myapplication D/GraphicBuffer﹕ create handle(0x61a99778) (w:1088, h:1920, f:1) 04-02 11:23:49.127 32216-32216/ktl.myapplication I/View﹕ Touch up dispatch to android.widget.Button{43171f10 VFED..C. ...P.... 191,48-425,192 #7f08003f app:id/btn1}, event = MotionEvent { action=ACTION_UP, id[0]=0, x[0]=131.7012, y[0]=108.87923, Xw[0]=32.0, Yw[0]=32.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=56837417, downTime=56837124, deviceId=3, source=0x1002 } 04-02 11:23:49.128 32216-32216/ktl.myapplication V/SettingsProviderInterface﹕ from settings cache , name = sound_effects_enabled , value = 0 04-02 11:24:26.220 32216-32216/ktl.myapplication D/ActivityThread﹕ ACT-AM_ON_PAUSE_CALLED ActivityRecord{4315fbe8 token=android.os.BinderProxy@4315f2d0 {ktl.myapplication/ktl.myapplication.MainActivity}} 04-02 11:24:26.238 32216-32216/ktl.myapplication D/ActivityThread﹕ ACT-PAUSE_ACTIVITY_FINISHING handled : 0 / android.os.BinderProxy@4315f2d0 04-02 11:24:26.335 32216-32216/ktl.myapplication D/OpenGLRenderer﹕ Flushing caches (mode 0) 04-02 11:24:26.349 32216-32216/ktl.myapplication D/GraphicBuffer﹕ close handle(0x604a6910) (w:1088 h:1920 f:1) 04-02 11:24:26.350 32216-32216/ktl.myapplication D/GraphicBuffer﹕ close handle(0x61bf4b60) (w:1088 h:1920 f:1) 04-02 11:24:26.351 32216-32216/ktl.myapplication D/GraphicBuffer﹕ close handle(0x5f93dc58) (w:1088 h:1920 f:1) 04-02 11:24:26.352 32216-32216/ktl.myapplication D/GraphicBuffer﹕ close handle(0x61a99778) (w:1088 h:1920 f:1) 04-02 11:24:26.714 32216-32216/ktl.myapplication D/OpenGLRenderer﹕ Flushing caches (mode 1) 04-02 11:24:26.715 32216-32216/ktl.myapplication D/OpenGLRenderer﹕ Flushing caches (mode 0) 04-02 11:24:26.720 32216-32216/ktl.myapplication D/ActivityThread﹕ ACT-DESTROY_ACTIVITY handled : 1 / android.os.BinderProxy@4315f2d0