首页 > 代码库 > 使用handler和Message获取xutils发送POST请求从服务器端返回数据

使用handler和Message获取xutils发送POST请求从服务器端返回数据

注意:应该在handleMessage中处理从服务器返回的数据。否则会因为线程问题拿不到结果。

public class MainActivity extends Activity{    private String responseInfo;    private Handler handler;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        handler = new Handler() {            @Override            public void handleMessage(Message msg) {                super.handleMessage(msg);                responseInfo = (String) msg.obj;                Gson gson = new Gson();                Type type = new TypeToken<JsonBean>() {                }.getType();                JsonBean jsonBean = gson.fromJson(responseInfo, type);                System.out.println(jsonBean);            }        };        getFromServer();    }        /**     * 使用xutils发送POST请求得到服务器返回的数据     */    public void getFromServer() {        String url = "http://182.92.195.162:8088/index.php?r=api/client/init";        RequestParams params = new RequestParams();        JSONObject json = new JSONObject();        JSONObject request = new JSONObject();        try {            json.put("uid", "");            json.put("sid", "");            json.put("ver", "1");            json.put("request", request);            params.addBodyParameter("json", json.toString());        } catch (Exception e) {            e.printStackTrace();        }        HttpUtils http = new HttpUtils();        http.send(HttpMethod.POST, url, params, new RequestCallBack<String>() {            @Override            public void onFailure(HttpException arg0, String arg1) {            }            @Override            public void onSuccess(ResponseInfo<String> arg0) {                Message msg = Message.obtain();                msg.obj = arg0.result;                handler.sendMessage(msg);            }        });    }}

 

使用handler和Message获取xutils发送POST请求从服务器端返回数据