很多朋友一上手就開始學習Android,似乎太著急了一些。Android應用程序開發(fā)是以Java語言為基礎的,所以沒有扎實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。那么Java學到什么程度才算是過關呢?我個人認為至少要掌握以下兩個方面的內(nèi)容:

創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都做網(wǎng)站、網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元昭通做網(wǎng)站,已為上家服務,為昭通各地企業(yè)和個人服務,聯(lián)系電話:028-86922220
a) Java基礎語法:具體的知識點列表可以在這里下載:《Java知識點列表》V1.0。這部分內(nèi)容沒有討價還價的余地,必須爛熟于胸。至于具體的學習方法,可以看書或者是看視頻,但是關鍵是要多加練習,無論是書上的練習還是視頻里面的練習,都需要仔仔細細的完成;
b)設計模式:由于在Android系統(tǒng)的框架層當中,使用了大量的設計模式,如果沒有這個方面的知識,對于Android的理解就會大打折扣。設計模式的種類非常之多,一個一個的全部掌握,是不現(xiàn)實的,必須首先掌握面向?qū)ο蟮幕A設計原則,有了這些基礎原則的支持,就可以舉一反三。這部分內(nèi)容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書中找到。
2.Linux基礎知識
大家都知道,Android系統(tǒng)的基礎是Linux操作系統(tǒng)。在開發(fā)過程當中,我們也需要使用到一些Linux命令。所以說一些Linux的基礎知識是必須的(話說現(xiàn)在的程序員,不懂Linux都不好意思跟人家打招呼),推薦大家看看《鳥哥的私房菜》這本書,寫的相當不錯;
3.數(shù)據(jù)庫基礎知識
這個比較簡單,就是一個增刪改查的數(shù)據(jù)庫操作,可以看一下這本書:《SQL編程練習與解答》
4.網(wǎng)絡協(xié)議
至少需要學習兩種基礎的協(xié)議,HTTP協(xié)議與Socket協(xié)議;
5.Android基礎知識
有了以上的鋪墊,再來看Android,是不是覺得輕松了很多呢?至于基礎知識的學習順序,最好的方法就是按照Android SDK幫助文檔當中的Dev Guide里面的順序,我的《Android視頻教程》也基本上是按照這個順序錄制的;
6.服務器端開發(fā)知識
由于很多Android應用程序都需要服務器端的支持,所以掌握一些服務器端開發(fā)知識還是非常有必要的。至于選擇哪一種服務器端知識進行學習,就比較麻煩了,因為技術的種類實在是太多了:
a)Java EE:就是上面郵件當中所提到的SSH—Struts+Spring+Hibernate。這種技術的優(yōu)點的功能完整、強大,已經(jīng)使用了很多年,而且既然大家已經(jīng)非常熟悉Java了,那么學習SSH看起來也順理成章。但是使用這種技術開發(fā)服務器端程序,非常麻煩。即使是一些簡單的功能,也可能需要大量的代碼和配置文件來實現(xiàn);
b)PHP:簡單易學,開發(fā)快速。但是我們需要多學一種語言,是否得不償失,就要大家自己判斷了;
c).NET:這項技術的特點和Java EE差不多,但是要想掌握.NET,則需要掌握c#,也是個麻煩的事情;
d)ruby on rails:這是我個人最喜歡的服務器端技術,簡潔,優(yōu)雅,寥寥幾行代碼,就可以實現(xiàn)很復雜的功能,但是這需要Ruby語言知識作為基礎;
至于選擇哪一種技術,就看大家自己的判斷了。
夢想:要成為一個專業(yè)的Android開發(fā)者,以上的這些知識都必不可少。看起來好像很多,多的可怕。所以還是那句話--“耐心,耐心很重要”。
學習一門專業(yè)要很長時間啊,耐心很重要,很多朋友也來問我C4D,能感覺到大家都想急著學會,其實要有長時間的積累才能有長遠進步,Android開發(fā),最近公司要做程序,也涉及到,如果UI設計師的我學會了Android,是不是可以獨立做開發(fā)了。
如何自學 Android 編程:
項目需要,8月中旬開始決定做安卓的程序,所以馬上就開始學習安卓方面的開發(fā)知識,把最近的學習實踐經(jīng)歷和大家分享分享。不要一開始就下載一大堆資料,視頻,然后就不知道做什么了,要給自己定個目標,我要做什么?我怎么達到目標?
我不懂java,但是懂C#和C++,所以我沒主張去單獨學習java語言,如果你是個最最初的新手,沒啥語言基礎,那你必須先看看java語言,不要很詳細看,因為學習Android中,你也是在學習java。
1. 明確目標
沒有目標的學習,會感覺到后面沒什么成果,在1年前,我也打算學習android開發(fā)的,但是目的就是學習,到網(wǎng)上去下載很多學習的視頻,然后把開發(fā)環(huán)境搭建起來,能把Helloworld運行起來,能打些log,Activity之間也能互相切換了,但是后面也就不了了之了,因為不知道學了要干什么。依葫蘆畫瓢的做了幾個例子,因為里面的問題都是已經(jīng)解決的,所以也沒能深入的系統(tǒng)學習。
這次因為產(chǎn)品的需要,要做Android版本,要做的東西一開始就已經(jīng)設計好了,見搖搖2選1安卓版本,剛開始也不知道里面有些什么技術難度,但是要做的目標已經(jīng)明確了,而且也沒有現(xiàn)成的,碰到問題就查資料,慢慢地解決,這樣有的放矢,學習的效果非常好。既有現(xiàn)成的技術可以使用,又有些技術,需要查比較多的資料,這樣記憶就比較深刻,所掌握的知識也比較系統(tǒng)。
接下來的一系列文章,我會把在開發(fā)搖搖2選1中遇到的問題,給大家詳細講講,程序雖然小,但是五臟俱全,做Demo和做產(chǎn)品的要求完全不是一個級別,如果Android大牛感覺知識講的比較淺,那可以繞道,畢竟我是從一個完全的新手開始的。
2. 了解安卓開發(fā)中比較困難的地方
學習一個新平臺,就要知道此平臺開發(fā)要面臨的困難有哪些,不要做到最后,這些問題沒有考慮,那就比較糟糕了。在網(wǎng)上搜索了下,安卓開發(fā)困難總結(jié)如何:
1)安卓系統(tǒng)版本比較多,各版本之間的兼容性是個問題,此為系統(tǒng)碎片。
2)安卓設備千變?nèi)f化,設備難以統(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ā),那就買一個設備,這樣能大大提高開發(fā)效率,模擬器有時用起來真是麻煩,而且開發(fā)的設備不要很好的,只要設備分辨率是主流的,傳感器的支持最好全點就夠了,國產(chǎn)的手機里,華為的還不錯,或者到淘寶上去買個二手的,投資不大。真的買了投資,可能也會增加你學習Android的決心。
6. 程序框架
經(jīng)過10多年的經(jīng)歷,認識到程序的框架對開發(fā)產(chǎn)品真的是起到舉足輕重的作用。一個好的產(chǎn)品,如果有個好的程序框架,那真是事半功倍,可能開始所做的工作會比較多,很難看到令人激動的成果,但是相信我,絕對值得。一開始,我也是比較注重程序界面開發(fā),很快就開發(fā)出界面來,而且著實比較激動,因為有東西出來了,但是后面的事情,真是令人發(fā)狂,想從頭再來,太遲了,離計劃的時間比較近了,時間不允許,只有硬著頭皮往上打補丁,硬著交付第一個版本,第二個版本或者后面的版本,遲早是要重來的。所以在后面帶領團隊開發(fā)的時候,在開發(fā)前,都是要討論程序框架,留出很大部分時間進行程序框架開發(fā),及在開發(fā)中不斷的改進。
剛接觸Android,不知道用什么程序框架,所以查了很多資料,一開始看到一個程序框架,感覺很不錯,所以一開始就使用了下面這個程序框架。
android自學很難,因為android需要學習的內(nèi)容很多,而且比較難,零基礎自學就更難,除非你能找到自學的方法。剛看一遍中專生自學的文章希望對你有用。
…………………………………………………………………………
我是一名中專生,在學校里讀的是計算機專業(yè),但是由于學校不好大部分同學都不愛學習來這里幾乎大部分都是在混日子的,雖然我中考的成績不差,但是因為家里窮考慮到以后沒錢讀大學我毅然來到這里,雖然是中專,但是我相信只有努力以后也會出頭,但是我被這里的學習氣氛給感染了,慢慢的變得不喜歡學習,后來還經(jīng)常逃課,三年時間里就渾渾噩噩的過了,到了畢業(yè),由于我學歷低和打了三年的醬油什么也沒學到,后來只能到電腦城里工作一個月辛辛苦苦的工作,只能賺到幾百元,每次想起農(nóng)村里的爸媽辛辛苦苦的賺錢給我讀書最后我白白浪費了他們的血汗錢我感到很痛苦很內(nèi)疚,經(jīng)常晚上坐在天臺上,眼淚不自然地流下了,難道自己一輩子都這樣了嗎,一次偶然的機會我在網(wǎng)上看到了一段新聞說安卓現(xiàn)在特別火有一年工作已經(jīng)的工資可以達到8000元左右就算沒工作經(jīng)驗起薪也有5000元,5000元對我來說簡直就是個天文數(shù)字,于是我決定學習安卓,后來我到書店找了一些安卓的書但是由于基礎太差,很多都看不明白,網(wǎng)上看到可以報培訓班都是幾乎每所都要上萬大洋,對于我一個一個月只能賺幾百元的中專生來說簡直是個天文數(shù)字,后來在IT學習聯(lián)盟這個網(wǎng)站看到了一套安卓視頻叫安卓就業(yè)班(喜歡《安卓就業(yè)班》的可以復制 sina.lt/brxC 粘貼瀏覽器地址欄按回車鍵即打開)。價格還挺合理的。覺得內(nèi)容挺不錯的于是我決定買下來,我想既然我看書看不明白,看視頻應該容易看明白吧,自從我把視頻買下來后就就天天看,因為自己基礎太差了,所以每天至少學習5個小時以上,那段日子真的很辛苦但又很充實,覺得我的人生最有意義的時間段。我拿到光碟后首先跟著他要求的學習順序?qū)W習(因為他已經(jīng)偏好了學習的順序)從第一塊開始到第十七塊,首先學的是JAVA,是一個培訓視頻,總共十幾G,但老師幽默風趣而又輕松的課堂教課,使我發(fā)現(xiàn)原來學習JAVA并不是一件很難的事情,但我的基礎太差了有些地方還是不容易看懂,于是有些地方重復看了兩,三篇,甚至四,五篇,大概這樣過了一個月我就把JAVA給學會了,這個月因為要上班所以經(jīng)常學到晚上1,2點早上6點多就起床,星期六,星期天的話就從早上看到晚上,所以有段時間眼睛經(jīng)常通紅通紅的,但是我知道天道酬勤這個成語,你努力付出就一定得到回報的,于是我堅持了下來,到了第二階段,學習android了,他有基礎篇和深入篇,基礎篇比較容易,深入篇的話還是有點難度的,但是我覺得JAVA學好了,android并不難學,學起來還覺得挺容易的,心里不由自主的笑了,覺得是不是我的付出有了回報,到了第三階段也是最難的了,是基于linux的嵌入式,因為android的是由linux底層開發(fā)的再加上界面是JAVA,所以學好linux的嵌入式也比較重要(如果你以后想成為android內(nèi)核移植這個方向走的非常重要,工資可是很高的哦,如果你只想做界面的話了解一下也不錯),他首先從C語言開始教,然后到linux嵌入式,我覺得這部分太難理解了,很多都是硬著頭皮看完的,因為有不地方看不明白,斷斷續(xù)續(xù)的來到了第四階段項目階段這里總共有22個大項目,一開的時候還是跟不上老師的腳步但是后來就慢慢的跟上了,我覺得項目很重要,他把之前的所有的東西都復習了一遍而且讓你熟悉了真正企業(yè)項目實線,使你以后工作的時候更容易上手,學習了大概4個多月。終于學完了。就開始找工作。最后找到一份在小公司工作,待遇也有4500元,感覺還行。但是這4500元對我只有中專文聘來說已經(jīng)很多很多了,我很滿足了,我覺得只有肯努力,也會有成功的一天的。
………………………………………………………………………………
希望對你有用。
一、 基礎篇 需要掌握的技能如下:
1、熟練掌握基本控件以及容器控件的使用 ;
常用的基本控件有:Button 、TextView、EditText、ListView等
常用的容器控件有:FrameLayout、LinearLayout、RelativeLayout等
2、熟練掌握相關監(jiān)聽器的注冊和使用:
常用監(jiān)聽器有: OnClickListener、OnLongClickListener、OnItemClickListener等
3、掌握Log的使用以及分析方法 ;
4、掌握Activity、Service的生命周期和使用方法 ;
5、掌握BroadcastReceiver(廣播)的接受和使用 ;
6、掌握Intent以及IntentFilter的使用 ;
7、基本掌握數(shù)據(jù)庫方面知識,包括SQLiteDatabase以及ContentProvider的使用方法
除此之外,我們必須得掌握adb shell 的使用方法,常用功能有:adb pull 、 adb push 、 adb remount 指令等
由于shell類同于Linux shell ,我們還得掌握基本的Linux指令等,例如cat、cd 等 。
知識獲取渠道主要為:
Android SDK以及網(wǎng)上大牛的博客。
附: 關于基礎知識的介紹,國內(nèi)的一些書籍質(zhì)量真是相當差勁,味同嚼蠟。強烈不建議在此階段買書籍。
這時,您已經(jīng)小有所成了,能夠基本掌握Android開發(fā)了。這兒,我推薦一個手把手講解Android項目的視頻:
zhengping老師講解的,強烈推薦。 視頻下載地址:《Android視頻教程》(Android Video Course)畢業(yè)答辯結(jié)束,俺胡漢三又回來了。太多郵件沒有回復,抱歉。醞釀醞釀,繼續(xù)錄制視頻,敬請期待[DVDRip]
祝您一臂之力的當然還有Mars老師的視頻了。
實踐出真知。這個階段,你可以自己編寫一些小Demo了,幫助自己在更深層次發(fā)展了。
PS:我通過看了Mars老師視頻后,編寫了一個簡易的音樂播放器Demo, 感覺挺有成就感的。 通過前面的學習,我們可以成功進入第二個階段了。
二、 提高篇 需要掌握的技能如下:
1、掌握Canvas類的使用-- 如何繪圖
2、掌握消息通信機制---Handler相關類的使用以及原理
3、掌握Context類以及實現(xiàn)原理
4、掌握View樹的繪制流程 。 View繪制流程很重要,掌握它就基本上掌握了Android核心之一了。
4.1、掌握觸摸事件的分發(fā)流程--- onInterceptTouchEvent以及onTouchEvent方法流程
4.2、掌握相關監(jiān)聽器的調(diào)用機制。例如OnClickListener監(jiān)聽時怎么調(diào)用的?
4.3、能夠編寫自定義View以及ViewGroup
5、理解Binder機制----Binder機制很重要,Android的進程間通信都是靠它完成的。掌握它,才能夠好的完成接下
來的學習。
6、基本掌握ActivityManagerService類的使用,主要掌握的知識點包括如下:
6.1、startActivity()流程,即啟動一個Activity的流程 ;
6.2、startService()流程,即啟動一個Service的流程 ;
7、基本掌握PackageManagerService類的使用,主要掌握的知識點包括如下:
7.1、開機時如何解析所有已安裝應用程序的Apk包的信息
7.2、Intent以及IntentFilter的匹配規(guī)則以及解析過程
8、基本掌握View添加至窗口的過程---即WindowManagerIml 、WindowManagerService類的用法
知識渠道:
必備書籍: Android內(nèi)核剖析 Android源代碼一份
PS: 您的個人電腦上一定得有份 Android源代碼,否則何以笑傲江湖 。
三、 進階篇
1、基本理解SystemServer類加載流程以及WatchDog的功能
2、more......
我也還是個小菜鳥,更多的就不知道咯。希望以后能夠完善起來。和大家共同成長。
最后,我總結(jié)的一些學習知識點只是一個提綱挈領,幫助大家學習成長的點或者線。例如:我負責通訊錄模塊,當然得把數(shù)據(jù)庫方面知識弄得一清二楚啊。不然,公司要我何用。因此大家在學習的時候,找出更適合自己的點。
有些人可能會想,工作中我用不到,學它干嘛?再次也規(guī)勸大家在工作之余,給自己充充電,多學點知識只有好的沒有壞的。
希望大家每天能進步一點,成長一點,接近心目中的那個天空更近一點。
前面說的博客,在此推薦兩個我常去的吧:
1、 應用方面,主要是魏祝林的csdn博客 :Android_Tutor的專欄 。 但他的博客主要是以代碼為主,需要自己結(jié)合源代碼揣摩 。
2、 框架方面,主要是老羅的csdn博客 : 老羅的Android之旅 。 但他的博客主要是以流程分析為主, 而對 流程 需要的前期準備知識介紹不足,初步看起來比較難以理解,因此,買本《Android內(nèi)核剖析》是必須的,可以參考源代碼仔細領悟, 強烈推薦該書籍。
由于網(wǎng)絡上Android源碼不太好找,特此共享下Android部分源碼,主要包括框架層、中間層、以及一些App等,對上層開發(fā)
和中間層開發(fā)還是很有益處的:
學習android手機開發(fā)
前提:
1. 有一定的英語閱讀能力。
2. 有java開發(fā)的基礎。
簡單步驟:
1. 下載sdk,去developer.android.com上去下載并且配置android開發(fā)環(huán)境。
2. 閱讀開發(fā)文檔,既可在developer.android.com網(wǎng)上看,也可以在sdk安裝目錄下/doc/index.html本機閱讀。
3. 閱讀順序:1. dev guid
2. samples,諸如:apidemo這些ap
3. resource中一些文章
網(wǎng)頁題目:一步一步學android,一步一步的學
標題URL:http://chinadenli.net/article9/dsgceoh.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、響應式網(wǎng)站、外貿(mào)建站、自適應網(wǎng)站、企業(yè)建站、品牌網(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)