HttpTest

public class HttpUtil {
    public static void sendHttpRequest(final String adress,
                                         final HttpCallbackListenner listenner){
        new Thread(new Runnable() {
            @Override
            public void run() {
                HttpURLConnection connection=null;
                try{
                    URL url=new URL(adress);
                    connection=(HttpURLConnection)url.openConnection();
                    connection.setRequestMethod("GET");
                    connection.setReadTimeout(5000);
                    connection.setConnectTimeout(5000);
                    connection.setDoInput(true);
                    connection.setDoOutput(true);
                    InputStream in=connection.getInputStream();
                    BufferedReader reader=new BufferedReader(new InputStreamReader(in));
                    StringBuilder response=new StringBuilder();
                    String line;
                    while ((line=reader.readLine())!=null){
                        response.append(line);
                    }
                    if (listenner!=null){
                        listenner.onFinnsh(response.toString());
                    }
                } catch (Exception e) {
                    if (listenner!=null){
                        listenner.onError(e);
                    }
                } finally {
                    if (connection!=null){
                        connection.disconnect();
                    }
                }


            }
        }).start();
    }
    public static void sendOkhttpRequest(String adress,okhttp3.Callback callback){
        OkHttpClient client=new OkHttpClient();
        Request request=new Request.Builder().url(adress).build();
        client.newCall(request).enqueue(callback);
    }
}
public interface HttpCallbackListenner {
    void onFinnsh(String response);
    void onError(Exception e);
}
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private Button mBtnsendata1,mBtnsendata2;
    private TextView mTvshow;
    private Handler mainHandler= new Handler()
    {
        @Override
        public void handleMessage(Message msg) {
             Bundle bundle=msg.getData();
            String data=bundle.getString("data");
            mTvshow.setText(data);
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mBtnsendata1= (Button) findViewById(R.id.senddata1);
        mBtnsendata2= (Button) findViewById(R.id.senddata2);
        mTvshow= (TextView) findViewById(R.id.show);
        mBtnsendata1.setOnClickListener(this);
        mBtnsendata2.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        String adrress="http://10.39.1.16";
        switch (view.getId()){
            case R.id.senddata1:
                HttpUtil.sendHttpRequest(adrress, new HttpCallbackListenner() {
                    @Override public void onFinnsh(final String response) {
                       /* runOnUiThread(new Runnable() {
                            @Override
                            public void run() {*/
                                mTvshow.setText(response);
//                            }
//                        });

                    }

                    @Override
                    public void onError(Exception e) {

                    }
                });
                break;
            case R.id.senddata2:
                HttpUtil.sendOkhttpRequest(adrress, new okhttp3.Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {

                    }

                    @Override
                    public void onResponse(Call call,  Response response) throws IOException {
                                String resonsedata = response.body().string();
                                Message message=Message.obtain();
                                Bundle budle=new Bundle();
                                budle.putString("data",resonsedata);
                                message.setData(budle);
                                mainHandler.sendMessage(message);

                    }
                });
        }
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看到网上一组数据,说是我国的休闲农业旅游人次高达22亿,产值440亿,带动790万人次就业。乖乖,难怪如今各路大军...
    元初阅读 421评论 0 0
  • 这个世界上有没有目的的爱吗?有没有渴望回报的付出吗?有没有想要独占的亲密吗? 我一直很疑惑。 我疑惑为什么我会有这...
    灯下的麋鹿阅读 425评论 1 0
  • 北山公园位于燕山余脉。国庆长假第二天,薄阴天气,适合登高远眺,于是信马由缰,漫步走向山顶。 一路石阶陡直,左曲右折...
    布谷鸟唐山阅读 511评论 0 1
  • 这几年快速阅读市场火爆,主张也很简单:牛人都看过几百上千本书,要变得和他们一样牛逼,你不快速阅读怎么能行!?于是,...
    靳小凡阅读 6,615评论 34 271
  • 2017.9.23.星期六晴 今天下班回家后,女儿就跟我说有个题不会做,我一看说,这几天都在做这些题,又...
    899037e3b5bb阅读 197评论 0 0