我的代码有问题,希望得到一些帮助。我首先使用此代码:
new DefaultHttpClient().execute(new HttpGet(linkk)).getEntity().writeTo(
new FileOutputStream(f));
而且它在android 2.3上工作正常,但在4.0上却没有。经过一些研究,我听说使用AndroidHttpClient更好,并且这种方式可以在4.0和3.1上运行。问题是我不知道我是否正确修改了代码,并且互联网上没有太多有关AndroidhttpClient的示例。
这是我的代码已调整:
AndroidHttpClient client = AndroidHttpClient.newInstance("Android");
HttpGet request = new HttpGet(linkk);
HttpResponse response = client.execute(request); //here is where the exception is thrown
response.getEntity().writeTo(new FileOutputStream(f));
这是logcat显示的内容:
01-03 01:32:11.950: W/dalvikvm(17991): threadid=1: thread exiting with uncaught exception (group=0x40a2e1f8)
01-03 01:32:11.986: E/AndroidRuntime(17991): FATAL EXCEPTION: main
01-03 01:32:11.986: E/AndroidRuntime(17991): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lacra.fbirthdays/com.lacra.fbirthdays.ListV}: android.os.NetworkOnMainThreadException
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.app.ActivityThread.access$600(ActivityThread.java:123)
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.os.Handler.dispatchMessage(Handler.java:99)
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.os.Looper.loop(Looper.java:137)
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.app.ActivityThread.main(ActivityThread.java:4424)
01-03 01:32:11.986: E/AndroidRuntime(17991): at java.lang.reflect.Method.invokeNative(Native Method)