有關(guān)Android編程學習技巧全解析
Android編程學習是一個非常強大的SDK,它使用基于XML的布局和定制視圖聯(lián)合了起來,現(xiàn)在我們要做的就是等待Google發(fā)布***個基于Android的手機,并使用它。
這個演示應用程序?qū)⒀菔玖擞脩舻漠斍暗慕?jīng)度和緯度(在文本框中顯示)。onCreate構(gòu)造方法將和上面的例子基本相同,除了在其中加入了鍵盤處理,現(xiàn)在讓我們看一下onKeyDown的代碼。
下面讓我們來解釋一下這段代碼,首先,這段代碼檢查了當前被按下的鍵,但還沒有開始處理。而是在getLocation方法中處理這一切的。然后,將裝載flag標志以及調(diào)用getLocation方法,下面是getLocation方法的代碼。
- public class CustomView extends View
- { LocateMe overlord; public CustomView(LocateMe pCtx)
- { super(pCtx); overlord = pCtx; } public void onDraw(Canvas cvs)
- { Paint p = new Paint(); String sLat = "Latitude: " + overlord.getLat();
- String sLon = "Longitude: " + overlord.getLon(); cvs.drawText(sLat , 32, 32, p);
- cvs.drawText(sLon, 32, 44, p); } }public void CreateView()
- { customView = new CustomView(this); }
到這為止,程序開始變得更有趣了。但是不幸的是,Google關(guān)于之方面的文檔還是比較少了。在程序的變量聲明之后,我們需要演示一些裝載信息。R.layout.loading符合了另一個簡單的XML布局視圖。
通過簡單地調(diào)用setContentView方法可以使用轉(zhuǎn)載信息重繪屏幕。 讀者要注意的是:在編譯時,Android編程學習會預先將所有的XML布局數(shù)據(jù)包裝起來。如果我們想在編譯后變化布局屬性,按著規(guī)定,我們必須在源程序中做這些事。
獲得LocationManager的唯一方法是通過getSystemService()方法的調(diào)用。通過使用LocationManager我們可以獲得一個位置提供者的列表。在一個真實的手持設(shè)備中,這個列表包含了一些GPS服務(wù)。實際上,我們希望選擇更強大,更精確,***不帶有其他附加服務(wù)的GPS。
現(xiàn)在,在模擬器中提供了一個用于測試的GPS,這個GPS來自San Francisco。定制的GPS文件可以可以被上傳,并進行測試。如果我們要測試更復雜的應用,來自San Francisco的GPS可能并不適合。目前我們可以使用位置管理器和位置提供者進行g(shù)etCurrentLocation的調(diào)用。
這個方法返回本機的當前位置的一個快照,這個快照將以Location對象形式提供。在手持設(shè)備中,我們可以獲得當前位置的經(jīng)度和緯度?,F(xiàn)在,使用這個虛擬的手持設(shè)備,我們可以獲得這個例子程序的最終結(jié)果:建立了顯示一個定制的視圖。
這個定制的Android編程學習視圖獲得了經(jīng)度和違度的測試數(shù)據(jù),并將這些數(shù)據(jù)顯示在屏幕上。這要求一個指向LocateMe的指針,Activity類是整個應用程序的核心。它的兩個方法是構(gòu)造方法和onDraw方法。
這個構(gòu)造方法調(diào)用了超類的構(gòu)造方法以及引起了Activity指針的中斷。onDraw方法將建立一個新的Paint對象(這個對象封裝了顏色、透明度以及其他的主題信息),這個對象將會訪問顏色主題。在本程序中,安裝了用于顯示的字符串,并使用畫布指針將它們畫到屏幕上。這個和我們了解的J2ME游戲的畫布看起來非常類似。
【編輯推薦】