一、httpUrlConnection + get 加载网络图片
由于xml界面过于简单,因此直接省略,下面是具体的java代码。
public class MainActivity extends AppCompatActivity {
private static final int IMG_GET = 1001 ;
private ImageView imageView;
private Button button;
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_main);
imageView = findViewById(R.id.imageView);
button = findViewById(R.id.button);
handler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message message) {
if (message.what == IMG_GET){
Bitmap bitmap = (Bitmap) message.obj;
imageView.setImageBitmap(bitmap); //主线程修改UI
return true; //返回true,不需要其他人再处理
}
return false;
}
});
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new Thread(new Runnable() { //子线程访问网络,加载图片
@Override
public void run() {
setHttpUrlConnectionGet();
}
}).start();
}
});
}
private void setHttpUrlConnectionGet() {
String imgurl = "http://pic33.nipic.com/20131007/13639685_123501617185_2.jpg";
try {
URL url = new URL(imgurl);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
int code = httpURLConnection.getResponseCode();
Log.e("urlConnection","code = " + code); //code=200,表示连接成功
InputStream inputStream = httpURLConnection.getInputStream(); //get
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
Message message = Message.obtain();
message.what = IMG_GET;
message.obj = bitmap;
handler.sendMessage(message); //发送携带message.what和message.obj的消息
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
StringBuffer stringBuffer = new StringBuffer();
String line = bufferedRea