【移動應(yīng)用開發(fā)技術(shù)】快速學(xué)習(xí)Android開發(fā)的技巧_第1頁
【移動應(yīng)用開發(fā)技術(shù)】快速學(xué)習(xí)Android開發(fā)的技巧_第2頁
【移動應(yīng)用開發(fā)技術(shù)】快速學(xué)習(xí)Android開發(fā)的技巧_第3頁
【移動應(yīng)用開發(fā)技術(shù)】快速學(xué)習(xí)Android開發(fā)的技巧_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

【移動應(yīng)用開發(fā)技術(shù)】快速學(xué)習(xí)Android開發(fā)的技巧

因為項目需要,8月中旬開始決定做安卓的程序,所以馬上就開始學(xué)習(xí)安卓方面的開發(fā)知識,把最近的學(xué)習(xí)實踐經(jīng)歷和大家分享分享。不要一開始就下載一大堆資料,視頻,然后就不知道做什么了,要給自己定個目標(biāo),我要做什么?我怎么達(dá)到目標(biāo)?我不懂java,但是懂C#和C++,所以我沒主張去單獨學(xué)習(xí)java語言,如果你是個最最初的新手,沒啥語言基礎(chǔ),那你必須先看看java語言,不要很詳細(xì)看,因為學(xué)習(xí)Android中,需要不斷的去學(xué)習(xí),推薦多看看e良師益友網(wǎng)里的Android應(yīng)用開發(fā)視頻教程。此外,你也是在學(xué)習(xí)java。1.明確目標(biāo)沒有目標(biāo)的學(xué)習(xí),會感覺到后面沒什么成果,在1年前,我也打算學(xué)習(xí)android開發(fā)的,但是目的就是學(xué)習(xí),到網(wǎng)上去下載很多學(xué)習(xí)的視頻,然后把開發(fā)環(huán)境搭建起來,能把Helloworld運(yùn)行起來,能打些log,Activity之間也能互相切換了,但是后面也就不了了之了,因為不知道學(xué)了要干什么。依葫蘆畫瓢的做了幾個例子,因為里面的問題都是已經(jīng)解決的,所以也沒能深入的系統(tǒng)學(xué)習(xí)。這次因為產(chǎn)品的需要,要做Android版本,要做的東西一開始就已經(jīng)設(shè)計好了,見安卓版本,剛開始也不知道里面有些什么技術(shù)難度,但是要做的目標(biāo)已經(jīng)明確了,而且也沒有現(xiàn)成的,碰到問題就查資料,慢慢地解決,這樣有的放矢,學(xué)習(xí)的效果非常好。既有現(xiàn)成的技術(shù)可以使用,又有些技術(shù),需要查比較多的資料,這樣記憶就比較深刻,所掌握的知識也比較系統(tǒng)。接下來的一系列文章,我會把在開發(fā)中遇到的問題,給大家詳細(xì)講講,程序雖然小,但是五臟俱全,做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)很多了,我也不多說了,多說也就比較無聊了。感謝吳秦,也是博客園里的一員,他寫的很詳細(xì)了,見這里,e良師益友網(wǎng)。4.查看網(wǎng)友總結(jié)的一些經(jīng)驗。不是什么都查看,開發(fā)中遇到什么問題,就去查看什么問題,這樣你查到的知識,馬上就能深入的實踐,這樣知識就鞏固了。1)首先當(dāng)然要看Android的開發(fā)文檔,里面其實大部分的知識都有了,還有就是SDK自帶的Samples。2)博客園里搜索“Android開發(fā)”,會出來一大把,很多網(wǎng)友都是很系統(tǒng)的講解了。3)eoeandroid社區(qū),里面有很多網(wǎng)友上傳了現(xiàn)成的demo代碼,里面很多都是模仿現(xiàn)在流行的產(chǎn)品的界面開發(fā),很是不錯。5.掌握調(diào)試方法個人一直認(rèn)為,調(diào)試技巧是開發(fā)中最重要的技能,如果調(diào)試技能比較差,不知道如何查找問題,那不會是個好的程序員,其技能也不會高到哪里去。Android做下來,感覺調(diào)試這塊做的很不錯了,這要感謝EclipseIDE做的比較不錯,但是Android的界面排版部分,真的不敢恭維,Eclipse時間用長了,占用內(nèi)存真是大。有哪位高手能否告訴我下,你們界面排版是用什么的?Android里,如果程序出了問題,有些是一下跟蹤不到的,這時就要用到Log類了,Log類使用很簡單,就不多說了。自己一個很有感觸的經(jīng)驗,如果你真的打算做Android開發(fā),那就買一個設(shè)備,這樣能大大提高開發(fā)效率,模擬器有時用起來真是麻煩,而且開發(fā)的設(shè)備不要很好的,只要設(shè)備分辨率是主流的,傳感器的支持最好全點就夠了,國產(chǎn)的手機(jī)里,華為的還不錯,或者到淘寶上去買個二手的,投資不大。真的買了投資,可能也會增加你學(xué)習(xí)Android的決心。6.程序框架經(jīng)過10多年的經(jīng)歷,認(rèn)識到程序的框架對開發(fā)產(chǎn)品真的是起到舉足輕重的作用。一個好的產(chǎn)品,如果有個好的程序框架,那真是事半功倍,可能開始所做的工作會比較多,很難看到令人激動的成果,但是相信我,絕對值得。一開始,我也是比較注重程序界面開發(fā),很快就開發(fā)出界面來,而且著實比較激動,因為有東西出來了,但是后面的事情,真是令人發(fā)狂,想從頭再來,太遲了,離計劃的時間比較近了,時間不允許,只有硬著頭皮往上打補(bǔ)丁,硬著交付第一個版本,第二個版本或者后面的版本,遲早是要重來的。所以在后面帶領(lǐng)團(tuán)隊開發(fā)的時候,在開發(fā)前,都是要討論程序框架,留出很大部分時間進(jìn)行程序框架開發(fā),及在開發(fā)中不斷的改進(jìn)。剛接觸Android,不知道用什么程序框架,所以查了很多資料,一開始看到一個程序框架,感覺很不錯,所以一開始就使用了下面這個程序框架。開始這個框架用的蠻爽,簡單介紹一下,主UI線程如果要做一個比較長時間的任務(wù),創(chuàng)建一個任務(wù),發(fā)送到任務(wù)隊列中去,后臺的Service不斷的從任務(wù)隊列中去取任務(wù),然后交給線程處理,線程處理完后,通過消息(Message)發(fā)送到Handler里處理,然后Handler的handleMessage函數(shù)里回調(diào)到UI主線程中去。此框架的缺點是比較麻煩。1)首先這里有個Observer模式,每個Activity都要實現(xiàn)一個接口,然后注冊到后臺服務(wù)中去,這樣后臺服務(wù)才能把處理的結(jié)果回調(diào)到主線程中。2)每個事件都要組成一個任務(wù),發(fā)送到任務(wù)隊列。3)后臺線程先要取任務(wù),然后處理,然后通過消息切換到主線程,然后又回到到相應(yīng)的Activity中,中間有個3次判斷當(dāng)前是什么任務(wù)。4)不能并非,任務(wù)只能一個接一個,雖然這個一般不會造成瓶頸。因為應(yīng)用比較簡單,所以后來感覺只要使用線程和Handler,通過消息就能處理,然后就查資料,發(fā)現(xiàn)已經(jīng)有比較多的文章描述了這種方法,只是沒提出這是一個框架,但是,我感覺已經(jīng)足夠了。下面就是主代碼,分布在每個Activity中:privatevoidTaskThread(){ThreadtaskThread=newThread(){@Overridepublicvoidrun(){//做耗時的任務(wù)Messagemsg=Message.obtain();msg.what=1;uiCallback.sendMessage(msg);}};taskThread.start();}privateHandleruiCallback=newHandler(){@OverridepublicvoidhandleMessage(Messagemsg){if(msg.what==1){//在主線程中處理結(jié)果}}};夠用就好,至少我現(xiàn)在用著很爽。7.程序國際化互聯(lián)網(wǎng)讓地球成為一個村,所以一開始也需要了解一下程序是如何做國際化版本的。不要一開始字符串滿天飛,整個程序中都存在hardcode,這樣做,遲早是要吃虧的。8.產(chǎn)品升級機(jī)制一個方便的產(chǎn)品

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論