0

Fragment で Web サイトからデータを取得しようとしましたが、動作しません。エラーは android.os.NetworkOnMainException です

fetchData() 中のプロセス エラー。

Tab2Fragment.java

public class Tab2Fragment extends Fragment {

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        if (container == null) {

            return null;
        }
        Log.i("Tab2","Creating Tab 2" );

        LinearLayout li = (LinearLayout) inflater.inflate(R.layout.tab_frag2_layout, container, false);
        try {
            fetchData();
        } catch (IOException e) {

        }
        return li;


    }



    public void fetchData() throws IOException{
            Log.i("Fetching!","JSOUP");
            try{
                HttpClient client = new DefaultHttpClient();
                String URL = "http://";
                HttpGet request = new HttpGet(URL);
                HttpResponse response = client.execute(request);

                String html = "";
                InputStream in = response.getEntity().getContent();
                BufferedReader reader = new BufferedReader(new InputStreamReader(in));
                StringBuilder str = new StringBuilder();
                String line = null;
                while((line = reader.readLine()) != null)
                {
                    str.append(line);
                }
                in.close();
                html = str.toString();
                setTexts(html);

            }
            catch(Exception e){
                Log.i("Error!","JSOUP");
            }


        }

Web サイトのデータを断片化されたタブに取得するにはどうすればよいですか。

4

1 に答える 1

1

エラーはここにすべてを示しています。メインスレッドでネットワーク操作を実行することはできません。これを解決する 1 つの方法は、ネットワーク コードをAsyncTaskクラスhttp://developer.android.com/reference/android/os/AsyncTask.html内に配置することです。

于 2013-10-05T17:32:06.633 に答える