2013-05-30更新
API-14以上因限制主程序禁止存取網路資源,另開Thread即可解決
--------------
參考方式原始出處:http://hi.baidu.com/do_touch/item/024b62daab1e664cdcf9be77
經測試總結如下(API 14以上將異常)
實作所需檔案:
1.src下的Activity之java專案檔
2.layout之XML介面佈局檔
3.Androidmanifest.xml增加存取權限項目
Step01
於layout之XML介面佈局檔建立ImageView之介面元件,刪除預設立之Image之src位置程式碼,僅保留如下 (因此處只能指定R資源檔案)
<ImageView android:id="@+id/im01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" />
Step02
於src下的Activity之java專案檔import 3、4、6~11行套件,新增26~48行~bitmap轉換與處理
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.widget.*;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class MainActivity extends Activity {
//宣告介面使用物件
String imageUrl01 = "http://pic.wenku8.cn/pictures/1/1192/36761/43256.jpg";
//網路圖片路徑來元存入字串
ImageView im01;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//從R中取得介面元件
im01 = (ImageView)findViewById(R.id.im01);
im01.setImageBitmap(returnBitMap((imageUrl01)));
}
Bitmap returnBitMap(String url) {
URL myFileUrl = null;
Bitmap bitmap = null;
try {
myFileUrl = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
}
Step03
於Androidmanifest.xml增加網路的存取權限
<uses-permission android:name="android.permission.INTERNET" />
文章標籤
全站熱搜