Client

package cn.zhaoliang5156.consultation1604k.activity;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.NetworkInfo;
import android.os.Handler;
import android.os.Message;
import android.os.PersistableBundle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import cn.zhaoliang5156.consultation1604k.R;

/**
 * 需求:
 * 1. 请求https://www.baidu.com/ 地址
 * 2. 把响应的数据显示到界面上
 *
 * @author zhaoliang
 * @version 1.0
 * @create 2018/8/2
 */
public class MainActivity extends AppCompatActivity {

    // 声明控件的地方
    private TextView tvResult;
    private ImageView ivImage;

    // 声明文字和图片的url
    private String textUrl = "https://www.baidu.com/";
    private String imageUrl = "http://wimg.spriteapp.cn/picture/2018/0416/5ad498b1eabb3_wpd.jpg";
    private String imageUrl2 = "http://cms-bucket.nosdn.127.net/2018/08/02/fed2863b5ea64dac92c1d0321bccd1d2.png";

    private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            /*String result = (String) msg.obj;
            tvResult.setText(result);*/
            Bitmap bitmap = (Bitmap) msg.obj;
            ivImage.setImageBitmap(bitmap);

        }
    };


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tvResult = findViewById(R.id.tv_result);
        ivImage = findViewById(R.id.iv_image);

        new Thread() {
            @Override
            public void run() {
                try {
                    // 定位到百度地址
                    // URL url = new URL(textUrl);
                    URL url = new URL(imageUrl2);
                    // 打开连接
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    // 设置连接超时
                    connection.setConnectTimeout(5000);
                    // 设置读取超时
                    connection.setReadTimeout(5000);
                    // 设置请求方法
                    connection.setRequestMethod("GET");

            /*int code = connection.getResponseCode();
            if (code == 200) {

            }*/
                    // 读取响应码
                    if (connection.getResponseCode() == 200) {
                        /*InputStream inputStream = connection.getInputStream();
                        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                        int len = -1;
                        byte[] b = new byte[1024];
                        while ((len = inputStream.read(b)) != -1) {
                            outputStream.write(b, 0, len);
                        }
                        final String result = new String(outputStream.toByteArray());*/

                        Bitmap bitmap = BitmapFactory.decodeStream(connection.getInputStream());

                        /*runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                tvResult.setText(result);
                            }
                        });*/
                        /*Message obtain = Message.obtain();
                        obtain.what = 1;
                        obtain.obj = result;
                        mHandler.sendMessage(obtain);*/

                        // 创建一个图片的Message
                        Message obtain = Message.obtain();
                        obtain.what = 1;
                        obtain.obj = bitmap;
                        mHandler.sendMessage(obtain);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41946491/article/details/81407048