0

我了解针对 HoneyComb 设备的 android.os.NetworkOnMainThreadException 的意义,但以下代码会引发相同的异常:

class MakeRequest extends AsyncTask<String,Integer,Void>
    {

        @Override
        protected Void doInBackground(String... params) {
            DefaultHttpClient cli = new DefaultHttpClient();
            try {
                String url = params[0].replace(" ", "%20");
                HttpResponse resp = cli.execute(new HttpGet(url));
                BufferedReader read = new BufferedReader(new InputStreamReader(resp.getEntity().getContent()));
                String tmp = "",rezultat = "";
                setResult("");

                while ((tmp = read.readLine()) != null)
                {
                    rezultat = rezultat + tmp;
                }
                setResult(rezultat);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                setResult("");
                return null;
            }
            return null;
        }
//Sample call
HttpRequester cc = new HttpRequester();
MakeRequest test = cc.new MakeRequest();
test.doInBackground(url);
4

1 回答 1

0

尝试这个。

new MakeRequest().execute(url);
于 2012-08-30T11:31:57.010 回答