網絡圖片查看器

    <uses-permission android:name="android.permission.INTERNET"/>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/iv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1000" />

    <EditText
        android:id="@+id/et_path"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="請輸入圖片路徑"
        android:text="http://ww2.sinaimg.cn/large/bd759d6djw1e982cs8dvxj20jg0r10ub.jpg" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="瀏覽" />

</LinearLayout>


package org.gentry.imageviewer;

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

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private EditText et_path;
	private ImageView iv;

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

		et_path = (EditText) findViewById(R.id.et_path);
		iv = (ImageView) findViewById(R.id.iv);

	}

	public void click(View view) {
		String path = et_path.getText().toString().trim();
		if (TextUtils.isEmpty(path)) {
			Toast.makeText(this, "圖片路徑不能爲空", Toast.LENGTH_SHORT).show();
		} else {
			// 連接服務器get請求獲取圖片
			try {
				URL url = new URL(path);
				// 根據url發送http請求
				HttpURLConnection conn = (HttpURLConnection) url
						.openConnection();
				// 設置請求的方式
				conn.setRequestMethod("GET");
				conn.setConnectTimeout(5000);
				// conn.setReadTimeout(5000);
				conn.setRequestProperty(
						"User-Agent",
						"Mozilla/4.0(compatible;MAIE 6.0; Windows NT 5.1; SV1; .NET4.OC; .NET4.OE; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Shuame)");
				// 得到服務器返回的響應碼
				int code = conn.getResponseCode();
				if (code == 200) {
					InputStream is = conn.getInputStream();
					Bitmap bm = BitmapFactory.decodeStream(is);
					iv.setImageBitmap(bm);
				} else {
					Toast.makeText(this, "顯示圖片失敗", Toast.LENGTH_SHORT).show();
				}
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				Toast.makeText(this, "獲取圖片失敗", Toast.LENGTH_SHORT).show();
			}
		}
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章