postHttp封装的代码
package honghu.com.test.http;
import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import java.io.IOException; import honghu.com.test.jiekou.DataResult; import okhttp3.Call; import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; /** * Created by Administrator on 2017/5/2. */ public class PostHttp { private DataResult dataResult; private String url; private Handler handler; public PostHttp(DataResult dataResult, String mUrl, Handler handler) { this.dataResult = dataResult; this.url = mUrl; this.handler = handler; } public void getPost() { OkHttpClient okHttpClient = new OkHttpClient(); FormBody formBody = new FormBody.Builder().add("size", "10").build(); Request request = new Request.Builder().url(url).post(formBody).build(); Call call = okHttpClient.newCall(request); //在子线程里边开启任务 call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { //得到的请求结果 String string = response.body().string(); Log.d("pengqun","string------------"+string); Message msg = new Message().obtain(); Bundle bundle = new Bundle(); bundle.putString("res", string); msg.setData(bundle); handler.sendMessage(msg); //回调 dataResult.rtd(string); } }); }}
main Activity代码
package honghu.com.test; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.widget.TextView; import honghu.com.test.http.PostHttp; import honghu.com.test.jiekou.DataResult; public class Main9Activity extends AppCompatActivity implements DataResult { private String url = "http://www.imooc.com/api/teacher?type=4&num=30"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main9); PostHttp postHttp = new PostHttp(Main9Activity.this, url, handler); postHttp.getPost(); } Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); Bundle data = msg.getData(); String res = data.getString("res"); if (res.equals("") && res == null){ Log.d("彭群", "-------res-----" + res); }else{ Log.d("彭群", "-------res-----" + res); } TextView main9_tv=(TextView)findViewById(R.id.main9_tv); main9_tv.setText(res); } }; @Override public void rtd(String rtds) { Log.d("蓬裙", "--------rtds--------" + rtds); }}回调接口(多余的一部分代码,可以不用看)package honghu.com.test.jiekou; /** * Created by Administrator on 2017/5/2. */ public interface CallBack { String solve(String result); }