android:scrollbars="vertical"這條代碼的意思是當你的內(nèi)容超過了屏幕的尺寸時,它可以滾動顯示。如果你的內(nèi)容很少的話就不會出現(xiàn)滾動條~~
謝通門網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
您好,很高興為您解答。
一、準備工作
需要如下三種軟件:
1. Eclipse
2. Android SDK
3. 開發(fā)Android程序的Eclipse 插件
為了開始我們的工作,首先要安裝Eclipse,然后從Google的網(wǎng)站獲得Android SDK,并且安裝Eclipse插件。
二、Activity類
每一種移動開發(fā)環(huán)境都有自己的基類。如J2ME應(yīng)用程序的基類是midlets,BREW的基類是applets,而Android程序的基類是 Activity。這個activity為我們提供了對移動操作系統(tǒng)的基本功能和事件的訪問。這個類包含了基本的構(gòu)造方法,鍵盤處理,掛起來恢復(fù)功能,以 及其他底層的手持設(shè)備的訪問。實質(zhì)上,我們的應(yīng)用程序?qū)⑹且粋€Activity類的擴展。在本文中讀者將會通過例子學(xué)習(xí)到如何使用Activity類來編 寫Android程序。下面是一個簡單的繼承Activity的例子。
public?class?LocateMe?extends?Activity{??
public?void?onCreate(Bundle?params){????????
super.onCreate(params);????????
setContentView(R.layout.main);???????
}??
public?boolean?onKeyDown(int?keyCode,?KeyEvent?event){??????????
return?true;????????????
}????
}
三 View類
View類是Android的一個超類,這個類幾乎包含了所有的屏幕類型。但它們之間有一些不同。每一個view都有一個用于繪畫的畫布。這個畫布可以用 來進行任意擴展。本文為了方便起見,只涉及到了兩個主要的View類型:定義View和Android的XML內(nèi)容View。在上面的代碼中,使用的是 “Hello World” XML View,它是以非常自然的方式開始的。
如果我們查看一下新的Android工程,就會發(fā)現(xiàn)一個叫main.xml的文件。在這個文件中,通過一個簡單的XML文件,描述了一個屏幕的布局。這個 簡單的xml文件的內(nèi)容如下:
?xml?version="1.0"?encoding="utf-8"??
RelativeLayout?xmlns:android=""?
androidrientation="vertical"?
android:layout_width="fill_parent"?
android:layout_height="fill_parent"?
TextView?
android:layout_width="fill_parent"?
android:layout_height="wrap_content"?
android:layout_centerHoriz??
android:text="ress?the?center?key?to?locate?yourself"?
/?
/RelativeLayout
上面的內(nèi)容的功能看起來非常明顯。這個特殊文件定義了一個相關(guān)的布局,這就意味著通過一個元素到另一個元素的關(guān)系或是它們父元素的關(guān)系來描述。對于視圖來 說,有一些用于布局的方法,但是在本文中只關(guān)注于上述的xml文件。
RealtiveLayout中包含了一個填充整個屏幕的文本框(也就是我們的LocateMe activity)。這個LocateMe activity在默認情況下是全屏的,因此,文本框?qū)⒗^承這個屬性,并且文本框?qū)⒃谄聊坏淖笊辖秋@示。另外,必須為這個XML文件設(shè)置一個引用數(shù),以便 Android可以在源代碼中找到它。在默認情況下,這些引用數(shù)被保存在R.java中,代碼如下:
public?final?class?R{??
public?static?final?class?layout{??
public?static?final?int?main=0x7f030001;?????
}??
}
視圖也可以被嵌套,但和J2ME不同,我們可以將定制的視圖和Android團隊發(fā)布的Widgets一起使用。在J2ME中,開發(fā)人員被迫選擇 GameCanvas和J2ME應(yīng)用程序畫布。這就意味著如果我們想要一個定制的效果,就必須在GameCanvas上重新設(shè)計我們所有的widget。 Android還不僅僅是這些,視圖類型也可以混合使用。Android還帶了一個 widget庫,這個類庫包括了滾動條,文本實體,進度條以及其他很多控件。這些標準的widget可以被重載或被按著我們的習(xí)慣定制?,F(xiàn)在讓我們來進入 我們的例子。
四、Android實例
這個演示應(yīng)用程序?qū)⒀菔玖擞脩舻漠斍暗慕?jīng)度和緯度(在文本框中顯示)。onCreate構(gòu)造方法將和上面的例子基本相同,除了在其中加入了鍵盤處理,現(xiàn)在 讓我們看一下onKeyDown的代碼。
public?boolean?onKeyDown(int?keyCode,?KeyEvent?event){??
if(keyCode?!=?KeyEvent.KEYCODE_DPAD_CENTER?||?m_bLoading)??
{??
return?true;??
}??
m_bLoading?=?true;??
getLocation();??
return?true;??
}
下面讓我們來解釋一下這段代碼,首先,這段代碼檢查了當前被按下的鍵,但還沒有開始處理。而是在getLocation方法中處理這一切的。然后,將裝載 flag標志以及調(diào)用getLocation方法,下面是getLocation方法的代碼。
private?void?getLocation(){??
Location?loc;??
LocationManager?locMan;??
LocationProvider?locPro;??
ListLocationProvider?proList;??
setContentView(R.layout.laoding);??
locMan?=?(LocationManager)?getSystemService(LOCATION_SERVICE);??
proList?=?locMan.getProviders();??
locPro?=?proList.get(0);??
loc?=?locMan.getCurrentLocation(locPro.getName());??
Lat?=?(float)loc.getLatitude();??
Lon?=?(float)loc.getLongitude();??
CreateView();??
setContentView(customView);??
}
到這為止,程序開始變得更有趣了。但是不幸的是,Google關(guān)于之方面的文檔還是比較少了。在程序的變量聲明之后,我們需要演示一些裝載信息。 R.layout.loading符合了另一個簡單的XML布局視圖。通過簡單地調(diào)用setContentView方法可以使用轉(zhuǎn)載信息重繪屏幕。
讀者要注意的是:在編譯時,Android會預(yù)先將所有的XML布局數(shù)據(jù)包裝起來。如果我們想在編譯后變化布局屬性,按著規(guī)定,我們必須在源程序中做這些 事。
獲得LocationManager的唯一方法是通過getSystemService()方法的調(diào)用。通過使用LocationManager, 我們可以獲得一個位置提供者的列表。在一個真實的手持設(shè)備中,這個列表包含了一些GPS服務(wù)。實際上,我們希望選擇更強大,更精確,最后不帶有其他附加服 務(wù)的GPS?,F(xiàn)在,在模擬器中提供了一個用于測試的GPS,這個GPS來自San Francisco。定制的GPS文件可以可以被上傳,并進行測試。如果我們要測試更復(fù)雜的應(yīng)用,來自San Francisco的GPS可能并不適合。
目前我們可以使用位置管理器和位置提供者進行g(shù)etCurrentLocation的調(diào)用。這個方法返回本機的當前位置的一個快照,這個快照將以 Location對象形式提供。在手持設(shè)備中,我們可以獲得當前位置的經(jīng)度和緯度?,F(xiàn)在,使用這個虛擬的手持設(shè)備,我們可以獲得這個例子程序的最終結(jié)果: 建立了顯示一個定制的視圖。
五、使用定制視圖
在最簡單的窗體中,一個Android中的視圖僅僅需要重載一個onDraw方法。定制視圖可以是復(fù)雜的3D實現(xiàn)或是非常簡單的文本形式。下面的 CreateView方法列出了上面看到的內(nèi)容。
public?void?CreateView(){??
customView?=?new?CustomView(this);??
}
這個方法簡單地調(diào)用了CustomView對象的構(gòu)造方法。CustomView類的定義如下:
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);??
}??
}
這個定制的Android視圖獲得了經(jīng)度和違度的測試數(shù)據(jù),并將這些數(shù)據(jù)顯示在屏幕上。這要求一個指向LocateMe的指針,Activity類是整 個應(yīng)用程序的核心。它的兩個方法是構(gòu)造方法和onDraw方法。這個構(gòu)造方法調(diào)用了超類的構(gòu)造方法以及引起了Activity指針的中斷。onDraw方 法將建立一個新的Paint對象(這個對象封裝了顏色、透明度以及其他的主題信息),這個對象將會訪問顏色主題。在本程序中,安裝了用于顯示的字符串,并 使用畫布指針將它們畫到屏幕上。這個和我們了解的J2ME游戲的畫布看起來非常類似。
六、Android展望
從純粹的開發(fā)觀點看,Android是一個非常強大的SDK。它使用基于XML的布局和定制視圖聯(lián)合了起來。并可以使用滾動條、地圖以及其他的組件。所以 的這一切都可以被重載,或由開發(fā)人員來定制。但它所提供的文檔非常粗糙。在文檔中并沒有象SMS等技術(shù),但是從整體上來看Android SDK,還是非常有希望的。也非常符合Google承諾的“First Look”SDK?,F(xiàn)在我們要做的就是等待Google發(fā)布第一個基于Android的手機,并使用它。
如若滿意,請點擊右側(cè)【采納答案】,如若還有問題,請點擊【追問】
希望我的回答對您有所幫助,望采納!
~?O(∩_∩)O~
在網(wǎng)上找一些視頻,某寶上很多的,然后買一本書,好好肯。多練,看書才是王道...
one=Double.parseDouble(edit1.getText().toString());
two=Double.parseDouble(edit2.getText().toString());
three=Double.parseDouble(edit3.getText().toString());
這一段,你在onCreate里面來獲取數(shù)字,但是這時候activity剛剛初始化,輸入框是空的,你能獲取到什么呢?
onclick() {
double result;
one=Double.parseDouble(edit1.getText().toString());
two=Double.parseDouble(edit2.getText().toString());
three=Double.parseDouble(edit3.getText().toString());
result = one * 0.4 + two * 0.3 + three * 0.3;
txt2.setText(Double.toString(result));
}
如何自學(xué) Android 編程:
項目需要,8月中旬開始決定做安卓的程序,所以馬上就開始學(xué)習(xí)安卓方面的開發(fā)知識,把最近的學(xué)習(xí)實踐經(jīng)歷和大家分享分享。不要一開始就下載一大堆資料,視頻,然后就不知道做什么了,要給自己定個目標,我要做什么?我怎么達到目標?
我不懂java,但是懂C#和C++,所以我沒主張去單獨學(xué)習(xí)java語言,如果你是個最最初的新手,沒啥語言基礎(chǔ),那你必須先看看java語言,不要很詳細看,因為學(xué)習(xí)Android中,你也是在學(xué)習(xí)java。
1. 明確目標
沒有目標的學(xué)習(xí),會感覺到后面沒什么成果,在1年前,我也打算學(xué)習(xí)android開發(fā)的,但是目的就是學(xué)習(xí),到網(wǎng)上去下載很多學(xué)習(xí)的視頻,然后把開發(fā)環(huán)境搭建起來,能把Helloworld運行起來,能打些log,Activity之間也能互相切換了,但是后面也就不了了之了,因為不知道學(xué)了要干什么。依葫蘆畫瓢的做了幾個例子,因為里面的問題都是已經(jīng)解決的,所以也沒能深入的系統(tǒng)學(xué)習(xí)。
這次因為產(chǎn)品的需要,要做Android版本,要做的東西一開始就已經(jīng)設(shè)計好了,見搖搖2選1安卓版本,剛開始也不知道里面有些什么技術(shù)難度,但是要做的目標已經(jīng)明確了,而且也沒有現(xiàn)成的,碰到問題就查資料,慢慢地解決,這樣有的放矢,學(xué)習(xí)的效果非常好。既有現(xiàn)成的技術(shù)可以使用,又有些技術(shù),需要查比較多的資料,這樣記憶就比較深刻,所掌握的知識也比較系統(tǒng)。
接下來的一系列文章,我會把在開發(fā)搖搖2選1中遇到的問題,給大家詳細講講,程序雖然小,但是五臟俱全,做Demo和做產(chǎn)品的要求完全不是一個級別,如果Android大牛感覺知識講的比較淺,那可以繞道,畢竟我是從一個完全的新手開始的。
2. 了解安卓開發(fā)中比較困難的地方
學(xué)習(xí)一個新平臺,就要知道此平臺開發(fā)要面臨的困難有哪些,不要做到最后,這些問題沒有考慮,那就比較糟糕了。在網(wǎng)上搜索了下,安卓開發(fā)困難總結(jié)如何:
1)安卓系統(tǒng)版本比較多,各版本之間的兼容性是個問題,此為系統(tǒng)碎片。
2)安卓設(shè)備千變?nèi)f化,設(shè)備難以統(tǒng)一,每個產(chǎn)品都成為獨立,分散的Android碎片。
3)分辨率五花八門。一個產(chǎn)品,可能需要多個界面排版,人工消耗比較大。
看到這張圖,有沒有頭疼的感覺?
總結(jié)成一句話:Android的碎片化真是要來開發(fā)者的命。
3. 搭建開發(fā)環(huán)境
"巧婦難為無米之炊",開發(fā)環(huán)境肯定是第一件要做的事情,這類的文章已經(jīng)很多了,我也不多說了,多說也就比較無聊了。感謝吳秦,也是博客園里的一員,他寫的很詳細了,見這里。
4. 查看網(wǎng)友總結(jié)的一些經(jīng)驗。
不是什么都查看,開發(fā)中遇到什么問題,就去查看什么問題,這樣你查到的知識,馬上就能深入的實踐,這樣知識就鞏固了。
1)首先當然要看Android的開發(fā)文檔,里面其實大部分的知識都有了,還有就是SDK自帶的Samples。
2)博客園里搜索“Android開發(fā)”,會出來一大把,很多網(wǎng)友都是很系統(tǒng)的講解了。
3)eoe
android社區(qū),里面有很多網(wǎng)友上傳了現(xiàn)成的demo代碼,里面很多都是模仿現(xiàn)在流行的產(chǎn)品的界面開發(fā),很是不錯。
5. 掌握調(diào)試方法
個人一直認為,調(diào)試技巧是開發(fā)中最重要的技能,如果調(diào)試技能比較差,不知道如何查找問題,那不會是個好的程序員,其技能也不會高到哪里去。
Android做下來,感覺調(diào)試這塊做的很不錯了,這要感謝Eclipse
IDE做的比較不錯,但是Android的界面排版部分,真的不敢恭維,Eclipse時間用長了,占用內(nèi)存真是大。有哪位高手能否告訴我下,你們界面排版是用什么的?
Android里,如果程序出了問題,有些是一下跟蹤不到的,這時就要用到Log類了,Log類使用很簡單,就不多說了。
自己一個很有感觸的經(jīng)驗,如果你真的打算做Android開發(fā),那就買一個設(shè)備,這樣能大大提高開發(fā)效率,模擬器有時用起來真是麻煩,而且開發(fā)的設(shè)備不要很好的,只要設(shè)備分辨率是主流的,傳感器的支持最好全點就夠了,國產(chǎn)的手機里,華為的還不錯,或者到淘寶上去買個二手的,投資不大。真的買了投資,可能也會增加你學(xué)習(xí)Android的決心。
6. 程序框架
經(jīng)過10多年的經(jīng)歷,認識到程序的框架對開發(fā)產(chǎn)品真的是起到舉足輕重的作用。一個好的產(chǎn)品,如果有個好的程序框架,那真是事半功倍,可能開始所做的工作會比較多,很難看到令人激動的成果,但是相信我,絕對值得。一開始,我也是比較注重程序界面開發(fā),很快就開發(fā)出界面來,而且著實比較激動,因為有東西出來了,但是后面的事情,真是令人發(fā)狂,想從頭再來,太遲了,離計劃的時間比較近了,時間不允許,只有硬著頭皮往上打補丁,硬著交付第一個版本,第二個版本或者后面的版本,遲早是要重來的。所以在后面帶領(lǐng)團隊開發(fā)的時候,在開發(fā)前,都是要討論程序框架,留出很大部分時間進行程序框架開發(fā),及在開發(fā)中不斷的改進。
剛接觸Android,不知道用什么程序框架,所以查了很多資料,一開始看到一個程序框架,感覺很不錯,所以一開始就使用了下面這個程序框架。
他的問題已經(jīng)解決 , 寫點讓后人參考吧,他的項目是解析xml文件。
他把person.xml放在了src文件夾下,就會報上述錯誤。去掉放入手機sdcard中就ok了
分享標題:android編程經(jīng)典200例,android精彩編程200例
網(wǎng)頁地址:http://jinyejixie.com/article28/hojijp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、Google、、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)