Android: Can not send http post

后端 未结 4 694
没有蜡笔的小新
没有蜡笔的小新 2021-01-01 07:02

I\'ve been banging my head trying to figure out how to send a post method in Android. This is how my code look like:

public class HomeActivity extends Activi         


        
相关标签:
4条回答
  • 2021-01-01 07:33

    Do you have uses-permission in the AndroidManifest.xml ?

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    
    0 讨论(0)
  • 2021-01-01 07:37

    Thank you , I found this, I had just enable the StrictMode

     public void onCreate() {
     if (DEVELOPER_MODE) {
         StrictMode.enableDefaults();
     }
     super.onCreate();
    

    }

    0 讨论(0)
  • 2021-01-01 07:44

    it seems that AndroidHttpClient is responsible for that exception. Your example will work

    • if use set the 'INTERNET' persmission as suggested
    • replace 'AndroidHttpClient' with 'DefaultHttpClient'
    • remove the line 'Log.i(HomeActivity.class.toString(), result);' because result is null

    It is not clear to me why this class does not work as excpected, maybe somebody could explain. This thread discussed the problem too but there is also no explaination why the code fails: http://groups.google.de/group/android-developers/browse_thread/thread/cc59efb9475ac557/81116369f2c6bd7a?hl=de&lnk=gst&q=This+thread+forbids+HTTP+requests#81116369f2c6bd7a.

    0 讨论(0)
  • 2021-01-01 07:45

    You can't call the web from the UI thread so you don't halt the app's UI, this blog post explains it with an example app using AndroidHttpClient: Official Android Dev Blog.

    Here is a quote:

    ...this is such a bad idea that the AndroidHttpClient does not allow itself to be started from the main thread. The above code will display "This thread forbids HTTP requests" error messages instead. Use the DefaultHttpClient instead if you really want to shoot yourself in the foot.

    So if you really want to run this on UI thread (bad idea, from personal experience and that blog post) then use DefaultHttpClient.

    0 讨论(0)
提交回复
热议问题