編輯:Android開發教程
在例子Android簡明開發教程十七:Dialog 顯示圖像 中我們留了一個例子DrawMap()沒有實現,這個例子顯示在線地圖,目前大部分地圖服務器都是將地圖以圖片存儲以提高響應速 度。 一般大小為256X256個像素。具體可以參見離線地圖下載方法解析。
比如: URL http://www.mapdigit.com/guidebeemap/maptile.php?type=MICROSOFTMAP&x=7&y=4&z=14 顯示:
下面的例子訪問Internet下載地圖圖片,並拼接成地圖顯示,這種方法也是引路蜂地圖開發包實現的一個基本原則。
Android應用訪問Internet,首先需要賦予應用有訪問Internet的權限:在AndroidManifest.xml中添加:
<uses-permission android:name=”android.permission.INTERNET” />
然後實現DrawMap()如下:
private void drawMap(){
try {
graphics2D.clear(Color.WHITE);
graphics2D.Reset();
for ( int x= 6 ;x< 8 ;x++)
{
for ( int y= 3 ;y< 5 ;y++){
String urlString= "http://www.mapdigit.com/guidebeemap" ;
urlString+= "/maptile.php?type=MICROSOFTMAP" ;
urlString+= "&x=" +x+ "&y=" +y+ "&z=14" ;
URL url= new URL(urlString);
URLConnection connection=url.openConnection();
HttpURLConnection httpConnection=(HttpURLConnection)connection;
int responseCode=httpConnection.getResponseCode();
if (responseCode==HttpURLConnection.HTTP_OK){
InputStream stream=httpConnection.getInputStream();
Bitmap bitmap=BitmapFactory.decodeStream(stream);
int []buffer= new int [bitmap.getHeight()
* bitmap.getWidth()];
bitmap.getPixels(buffer, 0 , bitmap.getWidth(), 0 , 0 ,
bitmap.getWidth(), bitmap.getHeight());
graphics2D.drawImage(buffer,bitmap.getWidth(),
bitmap.getHeight(),(x- 6 )* 256 ,(y- 3 )* 256 );
}
}
}
graphic2dView.refreshCanvas();
} catch (Exception e){
}
}
Android中訪問Internet類主要定義在java.net.* 和android.net.*包中。上面顯示結果如下:
地圖沒有顯示滿屏是因為Graphics2D創建的Canvas大小沒有創建滿屏,創建的大小是240X320,如果創建滿屏的,則可以滿屏顯 示地圖。
查看全套教程:http://www.bianceng.cn/OS/extra/201301/35252.htm
Android本質上是基於Linux內核的系統,也就是說Android就是一種Linux操作系統。只不過大多數時候都會運行在ARM架構的設備上,例如,Android手機、
新的系統保留了原來Jelly Bean 名字,整體用戶體驗並沒有太大的改動,不過一些新的功能還是值得大家關注的。Google Now 更新在新的Google Now 中,
使用Intent 啟動一個Activity,Service等時,可以通過putExtra 傳送數據 ,被觸發的Activity,Service可以使用getIntent(
一、bindService簡介bindService是綁定Service服務,執行service服務中的邏輯流程。service通過 Context.startServi