android 网络图片查看器,Handler的用法
生活随笔
收集整理的這篇文章主要介紹了
android 网络图片查看器,Handler的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通過網絡訪問圖片,并通過Handler更新主線程的控件。
public class MainActivity extends Activity {protected static final String TAG = "MainActivity";private Button btn_photo;private ImageView iv_photo;private EditText et_url;private Handler handler = new Handler(){@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);Log.i(TAG, " 消息 : " + msg);if (msg.what == 0) {iv_photo.setImageBitmap((Bitmap) msg.obj);}else if (msg.what == 1) {Toast.makeText(MainActivity.this, "抓取失敗", 0).show();}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);iv_photo = (ImageView) findViewById(R.id.iv_photo);et_url = (EditText) findViewById(R.id.et_photo);btn_photo = (Button) findViewById(R.id.btn_go);btn_photo.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {final String uri = et_url.getText().toString();new Thread(new Runnable() {@Overridepublic void run() {Bitmap bitmap = getImageFromNet(uri);if (bitmap != null) {Message msg = new Message();msg.what = 0;msg.obj = bitmap;handler.sendMessage(msg);}else if (bitmap == null) {Message msg = new Message();msg.what = 1;handler.sendMessage(msg);}}}).start();// iv_photo.setImageBitmap(bitmap);}});}private Bitmap getImageFromNet(String url){HttpURLConnection conn = null;try {URL mURL = new URL(url); //創建一個URL對象//創建一個http連接對象conn = (HttpURLConnection) mURL.openConnection();conn.setRequestMethod("GET"); //采用get的方法請求數據conn.setConnectTimeout(10*1000); //設置10s的連接超時conn.setReadTimeout(5*1000); //讀取超時conn.connect(); //開始連接int responseCode = conn.getResponseCode();if (responseCode == 200) {//訪問成功InputStream is = conn.getInputStream();Bitmap bitmap = BitmapFactory.decodeStream(is);return bitmap;}else {Toast.makeText(this, "訪問失敗", 0).show();}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{//斷開連接conn.disconnect();}return null;}}
總結
以上是生活随笔為你收集整理的android 网络图片查看器,Handler的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android ContentObse
- 下一篇: 欠奇瑞金融车贷一年半