快速學(xué)習(xí)Android開發(fā)的技巧

因?yàn)轫?xiàng)目需要,8月中旬開始決定做安卓的程序,所以馬上就開始學(xué)習(xí)安卓方面的開發(fā)知識(shí),把最近的學(xué)習(xí)實(shí)踐經(jīng)歷和大家分享分享。不要一開始就下載一大堆資料,視頻,然后就不知道做什么了,要給自己定個(gè)目標(biāo),我要做什么?我怎么達(dá)到目標(biāo)?

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到都昌網(wǎng)站設(shè)計(jì)與都昌網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋都昌地區(qū)。

我不懂java,但是懂C#和C++,所以我沒(méi)主張去單獨(dú)學(xué)習(xí)java語(yǔ)言,如果你是個(gè)最最初的新手,沒(méi)啥語(yǔ)言基礎(chǔ),那你必須先看看java語(yǔ)言,不要很詳細(xì)看,因?yàn)閷W(xué)習(xí)Android中,需要不斷的去學(xué)習(xí),推薦多看看e良師益友網(wǎng)里的Android應(yīng)用開發(fā)視頻教程。此外,你也是在學(xué)習(xí)java。

1. 明確目標(biāo)

沒(méi) 有目標(biāo)的學(xué)習(xí),會(huì)感覺(jué)到后面沒(méi)什么成果,在1年前,我也打算學(xué)習(xí)android開發(fā)的,但是目的就是學(xué)習(xí),到網(wǎng)上去下載很多學(xué)習(xí)的視頻,然后把開發(fā)環(huán)境搭 建起來(lái),能把Helloworld運(yùn)行起來(lái),能打些log,Activity之間也能互相切換了,但是后面也就不了了之了,因?yàn)椴恢缹W(xué)了要干什么。依葫 蘆畫瓢的做了幾個(gè)例子,因?yàn)槔锩娴膯?wèn)題都是已經(jīng)解決的,所以也沒(méi)能深入的系統(tǒng)學(xué)習(xí)。

這次因?yàn)楫a(chǎn)品的需要,要做Android版本,要做的東西一開始就已經(jīng)設(shè)計(jì)好了,見安卓版本,剛開始也不知道里面有些什么技術(shù)難度,但是要做的目標(biāo)已經(jīng)明確了,而且也沒(méi)有現(xiàn)成的,碰到問(wèn)題就查資料,慢慢地解決,這樣有的放矢,學(xué)習(xí)的效果非常好。既有現(xiàn)成的技術(shù)可以使用,又有些技術(shù),需要查比較多的資料,這樣記憶就比較深刻,所掌握的知識(shí)也比較系統(tǒng)。

接下來(lái)的一系列文章,我會(huì)把在開發(fā)中遇到的問(wèn)題,給大家詳細(xì)講講,程序雖然小,但是五臟俱全,做Demo和做產(chǎn)品的要求完全不是一個(gè)級(jí)別,如果Android大牛感覺(jué)知識(shí)講的比較淺,那可以繞道,畢竟我是從一個(gè)完全的新手開始的。

2. 了解安卓開發(fā)中比較困難的地方

學(xué)習(xí)一個(gè)新平臺(tái),就要知道此平臺(tái)開發(fā)要面臨的困難有哪些,不要做到最后,這些問(wèn)題沒(méi)有考慮,那就比較糟糕了。在網(wǎng)上搜索了下,安卓開發(fā)困難總結(jié)如何:

1)安卓系統(tǒng)版本比較多,各版本之間的兼容性是個(gè)問(wèn)題,此為系統(tǒng)碎片。

2)安卓設(shè)備千變?nèi)f化,設(shè)備難以統(tǒng)一,每個(gè)產(chǎn)品都成為獨(dú)立,分散的Android碎片。

3)分辨率五花八門。一個(gè)產(chǎn)品,可能需要多個(gè)界面排版,人工消耗比較大。

看到這張圖,有沒(méi)有頭疼的感覺(jué)?

總結(jié)成一句話:Android的碎片化真是要來(lái)開發(fā)者的命。

3. 搭建開發(fā)環(huán)境

"巧婦難為無(wú)米之炊",開發(fā)環(huán)境肯定是第一件要做的事情,這類的文章已經(jīng)很多了,我也不多說(shuō)了,多說(shuō)也就比較無(wú)聊了。感謝吳秦,也是博客園里的一員,他寫的很詳細(xì)了,見這里,e良師益友網(wǎng)。

4. 查看網(wǎng)友總結(jié)的一些經(jīng)驗(yàn)。

不是什么都查看,開發(fā)中遇到什么問(wèn)題,就去查看什么問(wèn)題,這樣你查到的知識(shí),馬上就能深入的實(shí)踐,這樣知識(shí)就鞏固了。

1)首先當(dāng)然要看Android的開發(fā)文檔,里面其實(shí)大部分的知識(shí)都有了,還有就是SDK自帶的Samples。

2)博客園里搜索“Android開發(fā)”,會(huì)出來(lái)一大把,很多網(wǎng)友都是很系統(tǒng)的講解了。

3)eoe android社區(qū),里面有很多網(wǎng)友上傳了現(xiàn)成的demo代碼,里面很多都是模仿現(xiàn)在流行的產(chǎn)品的界面開發(fā),很是不錯(cuò)。

5. 掌握調(diào)試方法

個(gè)人一直認(rèn)為,調(diào)試技巧是開發(fā)中最重要的技能,如果調(diào)試技能比較差,不知道如何查找問(wèn)題,那不會(huì)是個(gè)好的程序員,其技能也不會(huì)高到哪里去。

Android做下來(lái),感覺(jué)調(diào)試這塊做的很不錯(cuò)了,這要感謝Eclipse IDE做的比較不錯(cuò),但是Android的界面排版部分,真的不敢恭維,Eclipse時(shí)間用長(zhǎng)了,占用內(nèi)存真是大。有哪位高手能否告訴我下,你們界面排版是用什么的?

Android里,如果程序出了問(wèn)題,有些是一下跟蹤不到的,這時(shí)就要用到Log類了,Log類使用很簡(jiǎn)單,就不多說(shuō)了。

自 己一個(gè)很有感觸的經(jīng)驗(yàn),如果你真的打算做Android開發(fā),那就買一個(gè)設(shè)備,這樣能大大提高開發(fā)效率,模擬器有時(shí)用起來(lái)真是麻煩,而且開發(fā)的設(shè)備不要很 好的,只要設(shè)備分辨率是主流的,傳感器的支持最好全點(diǎn)就夠了,國(guó)產(chǎn)的手機(jī)里,華為的還不錯(cuò),或者到淘寶上去買個(gè)二手的,投資不大。真的買了投資,可能也會(huì) 增加你學(xué)習(xí)Android的決心。

6. 程序框架

經(jīng) 過(guò)10多年的經(jīng)歷,認(rèn)識(shí)到程序的框架對(duì)開發(fā)產(chǎn)品真的是起到舉足輕重的作用。一個(gè)好的產(chǎn)品,如果有個(gè)好的程序框架,那真是事半功倍,可能開始所做的工作會(huì)比 較多,很難看到令人激動(dòng)的成果,但是相信我,絕對(duì)值得。一開始,我也是比較注重程序界面開發(fā),很快就開發(fā)出界面來(lái),而且著實(shí)比較激動(dòng),因?yàn)橛袞|西出來(lái)了, 但是后面的事情,真是令人發(fā)狂,想從頭再來(lái),太遲了,離計(jì)劃的時(shí)間比較近了,時(shí)間不允許,只有硬著頭皮往上打補(bǔ)丁,硬著交付第一個(gè)版本,第二個(gè)版本或者后 面的版本,遲早是要重來(lái)的。所以在后面帶領(lǐng)團(tuán)隊(duì)開發(fā)的時(shí)候,在開發(fā)前,都是要討論程序框架,留出很大部分時(shí)間進(jìn)行程序框架開發(fā),及在開發(fā)中不斷的改進(jìn)。

剛接觸Android,不知道用什么程序框架,所以查了很多資料,一開始看到一個(gè)程序框架,感覺(jué)很不錯(cuò),所以一開始就使用了下面這個(gè)程序框架。

開始這個(gè)框架用的蠻爽,簡(jiǎn)單介紹一下,主UI線程如果要做一個(gè)比較長(zhǎng)時(shí)間的任務(wù),創(chuàng)建一個(gè)任務(wù),發(fā)送到任務(wù)隊(duì)列中去,后臺(tái)的Service不斷的從任務(wù)隊(duì)列 中去取任務(wù),然后交給線程處理,線程處理完后,通過(guò)消息(Message)發(fā)送到Handler里處理,然后Handler的handleMessage 函數(shù)里回調(diào)到UI主線程中去。

此框架的缺點(diǎn)是比較麻煩。

1)首先這里有個(gè)Observer模式,每個(gè)Activity都要實(shí)現(xiàn)一個(gè)接口,然后注冊(cè)到后臺(tái)服務(wù)中去,這樣后臺(tái)服務(wù)才能把處理的結(jié)果回調(diào)到主線程中。

2) 每個(gè)事件都要組成一個(gè)任務(wù),發(fā)送到任務(wù)隊(duì)列。

3)后臺(tái)線程先要取任務(wù),然后處理,然后通過(guò)消息切換到主線程,然后又回到到相應(yīng)的Activity中,中間有個(gè)3次判斷當(dāng)前是什么任務(wù)。

4)不能并非,任務(wù)只能一個(gè)接一個(gè),雖然這個(gè)一般不會(huì)造成瓶頸。

因?yàn)閼?yīng)用比較簡(jiǎn)單,所以后來(lái)感覺(jué)只要使用線程和Handler,通過(guò)消息就能處理,然后就查資料,發(fā)現(xiàn)已經(jīng)有比較多的文章描述了這種方法,只是沒(méi)提出這是一個(gè)框架,但是,我感覺(jué)已經(jīng)足夠了。下面就是主代碼,分布在每個(gè)Activity中:

private void TaskThread()

{

Thread taskThread = new Thread()

{

@Override public void run()

{

//做耗時(shí)的任務(wù)

Message msg = Message.obtain();

msg.what = 1;

uiCallback.sendMessage(msg);

}

};

taskThread .start();

}

private Handler uiCallback = new Handler()

{

@Override public void handleMessage(Message msg)

{

if(msg.what == 1)

{

//在主線程中處理結(jié)果

}

}

};

夠用就好,至少我現(xiàn)在用著很爽。

7. 程序國(guó)際化

互聯(lián)網(wǎng)讓地球成為一個(gè)村,所以一開始也需要了解一下程序是如何做國(guó)際化版本的。不要一開始字符串滿天飛,整個(gè)程序中都存在hard code,這樣做,遲早是要吃虧的。

8.產(chǎn)品升級(jí)機(jī)制

一個(gè)方便的產(chǎn)品升級(jí)機(jī)制,對(duì)產(chǎn)品的成長(zhǎng)很重要,android是一個(gè)開放平臺(tái),在這點(diǎn)上比iOS做的好的多,產(chǎn)品升級(jí)很方便。

此文章的目的就是對(duì)想學(xué)Android開發(fā)的人一個(gè)指引,因?yàn)槲乙簿褪沁@么走過(guò)來(lái)的,加上自己在軟件開發(fā)上的一些經(jīng)驗(yàn),讓新手少走彎路。有計(jì)劃,有目標(biāo)的學(xué)習(xí),這是最好的方法。想要了解學(xué)習(xí)更多知識(shí),請(qǐng)多關(guān)注e良師益友網(wǎng)。

當(dāng)前文章:快速學(xué)習(xí)Android開發(fā)的技巧
標(biāo)題路徑:http://muchs.cn/article36/ipgdpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、域名注冊(cè)、網(wǎng)站營(yíng)銷、動(dòng)態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司