0

私はAndroid開発にあまり慣れていないので、logcatが何を言っているのか理解できません。これがlogcatです。コードは以下の..

public class Json extends Activity {

    HttpClient client;
    TextView tvStatus;

    final static String url = "http://localhost/index.php";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.json);

        tvStatus = (TextView) findViewById(R.id.tvStatus);
        client = new DefaultHttpClient();

        try {
            int data = this.users();
            String Data = String.valueOf(data);
            tvStatus.setText(Data);
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    public int users() throws ClientProtocolException, IOException
    {
        StringBuilder URL = new StringBuilder(url);
        HttpGet get = new HttpGet(URL.toString());
        HttpResponse r = client.execute(get);

        int status = r.getStatusLine().getStatusCode();
        return status;  
    }
}

ステータスを取得してtvStatusに追加しようとしています。問題と解決策は何ですか?

4

1 に答える 1

1

android.os.NetworkOnMainThreadException許可されていない UI スレッドでネットワーク操作を実行しようとしていることを意味するエラーが発生しています。別のスレッドでコードを実行する必要があります。を使用AsyncTaskまたは作成してnew Thread()、そこから呼び出しを行います。

于 2013-10-19T21:32:14.553 に答える