how to get result from thread in android?

后端 未结 3 712
小蘑菇
小蘑菇 2021-01-21 09:07

I have a main class, a worker thread class and it separated. In main thread, I pass input to worker thread and ask for it to work. When it finish, I want it to send back result

3条回答
  •  长发绾君心
    2021-01-21 09:56

    use AsyncTask instead to avoid any multi-threading issues example code:

    private class DownloadWebPageTask extends AsyncTask {
    @Override
    protected String doInBackground(String... urls) {
      String response = "";
      for (String url : urls) {
        DefaultHttpClient client = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(url);
        try {
          HttpResponse execute = client.execute(httpGet);
          InputStream content = execute.getEntity().getContent();
    
          BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
          String s = "";
          while ((s = buffer.readLine()) != null) {
            response += s;
          }
    
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
      return response;
    }
    @Override
    protected void onPostExecute(String result) {
      textView.setText(result);
    }}
    

    Use it as an inner class in your adapter Also you can use many APIs like volly if you are into networking.

提交回复
热议问题