AsyncTask + HttpClient

public class Fragment02 extends Fragment{
    private static final String TAG = "Fragment02";
    private String url="http://120.27.23.105/user/getDefaultAddr?uid=71";
    private TextView name,address;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.fragment02,container,false);
        name = view.findViewById(R.id.name);
        address=view.findViewById(R.id.address);
        return view;
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        new MyTask().execute(url);
    }
    class MyTask extends AsyncTask<String,Void,String>{

        @Override
        protected String doInBackground(String... strings) {
            String s = strings[0];
            HttpClient client = new DefaultHttpClient();
            HttpGet get = new HttpGet(s);
            try {
                HttpResponse execute = client.execute(get);
                StatusLine line = execute.getStatusLine();
                if (line.getStatusCode()==200){
                    HttpEntity entity = execute.getEntity();
                    InputStream content = entity.getContent();
                    String method = Method(content);
                    return method;
                }
            }catch (Exception e){
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            UserBean bean = gson.fromJson(s, UserBean.class);
            name.setText(bean.getData().getName());
            address.setText(bean.getData().getAddr());
        }
    }
    public String Method(InputStream inputStream) throws IOException {
        int len=0;
        byte[] buffer=new byte[1024];
        StringBuffer stringBuffer = new StringBuffer();
        while ((len=inputStream.read(buffer))!=-1){
            String s = new String(buffer, 0, len);
            stringBuffer.append(s);
        }
        return stringBuffer.toString();
    }
}

猜你喜欢

转载自blog.csdn.net/aa15362415/article/details/80301885