效果图: 页面代码: public class HttpJpgActivity extends Activity { private ImageView view; private Handler handler; private File file = new File(Environment.getExternalStorageDirectory(), "baidu.jpg"); @Override protected void onC
效果图:
页面代码:
public class HttpJpgActivity extends Activity {
private ImageView view;
private Handler handler;
private File file = new File(Environment.getExternalStorageDirectory(), "baidu.jpg");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.item_image);
view = (ImageView) findViewById(R.id.iv_city);
new Thread(new ImageThread()).start();
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
try {
FileInputStream fileInputStream = new FileInputStream(file);
Bitmap bitmap = BitmapFactory.decodeStream(fileInputStream);
view.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
};
}
public class ImageThread implements Runnable {
@Override
public void run() {
try {
URL url = new URL("http://www.baidu.com/img/bdlogo.png");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setConnectTimeout(3000);
urlConnection.setReadTimeout(3000);
urlConnection.connect();
FileOutputStream fileOutputStream = new FileOutputStream(file);
if (urlConnection.getResponseCode() == 200) {
InputStream inputStream = urlConnection.getInputStream();
byte[] bytes = new byte[1024];
int len;
while ((len = inputStream.read(bytes)) != -1) {
fileOutputStream.write(bytes, 0, len);
}
//将缓冲刷入文件
fileOutputStream.flush();
handler.sendEmptyMessage(0x001);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />