廢話不多說,大家練習看看吧~
這篇主要是為了下一篇鋪路~~
關於IPCam鋪路阿~~~~ (搞得Farmer都兩天幾乎沒休息,底子差是硬傷 ..)
所以主要都是參考 小黑人 大大的文章
【Android】ImageView顯示網路圖片(Converting Image URL to Bitmap)
http://dean-android.blogspot.tw/2013/06/androidimageviewconverting-image-url-to.html
Manifest File
加入網路連線權限
<uses-permission android:name="android.permission.INTERNET"/>
Layout
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/uri"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<ImageView
android:layout_width="350dp"
android:layout_height="350dp"
android:id="@+id/img"
android:layout_below="@+id/uri"
android:layout_centerHorizontal="true"
android:layout_marginTop="54dp" />
Main
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
private ImageView img;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//顯示網路圖片的ImageView與進行讀取網路圖片的Button
img = (ImageView) findViewById(R.id.img);
btn = (Button) findViewById(R.id.uri);
btn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
//建立一個AsyncTask執行緒進行圖片讀取動作,並帶入圖片連結網址路徑
new AsyncTask<String, Void, Bitmap>()
{
@Override
protected Bitmap doInBackground(String... params)
{
String url = params[0];
return getBitmapFromURL(url);
}
@Override
protected void onPostExecute(Bitmap result)
{
img. setImageBitmap (result);
super.onPostExecute(result);
}
}.execute("網址位置");
}
});
}
//讀取網路圖片,型態為Bitmap
private static Bitmap getBitmapFromURL(String imageUrl)
{
try
{
URL url = new URL(imageUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(input);
return bitmap;
}
catch (IOException e)
{
e.printStackTrace();
return null;
}
}
}
沒有留言:
張貼留言