當前位置:首頁 » 安卓系統 » 自學android教程

自學android教程

發布時間: 2023-06-26 20:01:55

❶ 如何自學 Android 編程

我想我是有資格來回答你的問題的,我算是徹底的從編程白痴一步步學習過來的。

之前寫了一篇博客 Android學習之路 被瘋狂轉發,帶起了一陣學習Android的大風,我不曉得具體影響了多少人,但是這篇博客已經成為Android新手學習必備的資料。很多人問我是怎麼一路過來的,姑且借這個機會說說我的故事吧。

===============================
內容有點長,大家姑且當做勵志小說來看吧,對這些經歷不感興趣的可以直接看最後「如何自學Android」部分
===============================

大學

大學上的是全國二流本科,專業主要就是數學專業。大學的總結就是:逃課、掛科、籃球、泡妞、Dota。

目前為止可以說我的大學是我這輩子過的最爽的時期,大一開始就逃課,好點的理由是我對大學那些課程完全沒興趣,其實本質上是因為高考太壓抑了,大學之後沒人管了,開始無止境的放縱自己。毫不誇張的說大學四年上的課應該沒有逃的課多。逃課最直接的影響就是掛科,從大一掛到大三,專業課數學分析特么每年都掛,後來聽說補考考不過要重修,還得交錢,這特么讓家裡人知道還了得,於是發憤圖強,最終補考每門都以優秀的成績過了。

相信英語四級應該是大學必考吧,英語四級這輩子我都忘不了,我考了三次才過,每次考試說是裸考都褒獎了,大學英語全是吃高中的底子,第一次沒過,少了十幾分,第二次他媽睡覺睡過了,就沒有去考,現在想想當時的自己真是腦殘,終於在第三次勉強過了。現在想想幸虧當時過了,之後畢業找工作時英語四級是最低要求。做編程這行,英語真的挺重要的,大學的時候一定得想辦法把四級給過了。

現在想想大學和編程唯一相關的課程就是C語言了,但是對於我們專業是屬於全校公開課,最終這門課雖然考過了,但是連i++ 和++i我都弄不明白,可想而知你們應該能猜到我是怎麼過的。

由於高中就開始打籃球,大學時毫無疑問就入了學院籃球隊,而且擔任隊長,所以大一、大二過來基本就是一大半是在籃球場度過的,也是因為籃球征服了我現在的老婆。大二下學期周圍的人都在玩Dota,於是也開始了游戲之路,籃球也基本放棄了,那時候玩的瘋狂,記得最長的一次和同學在網吧連續包夜兩星期,不過白天是回來睡覺的,不然估計早猝死在網吧了。

轉眼間大四了,這一年終於在我老婆的監督下不再掛科了,而且在畢業前的最後一次評比竟然拿到了三等獎學金,真是受寵若驚啊,後來錢也被狐朋狗友們拿去腐敗了。周圍的同學都在准備考研,我卻唯獨對考研沒興趣,自始至終都沒有為考研花過一分錢,買過一本書。後來證明我的決定是正確的,周圍的小夥伴放棄的放棄,考不上的考不上,考上的後面也沒見混的有多好,當然如果能考上好的學校還是很有幫助的。

畢業
又一轉眼畢業了,去參加了學校幾個招聘會也是醉了,全是沒聽過的小企業,一去參觀都是各種廠房,根本不需要任何學歷,是個人出點力都可以乾的那種,要麼就是各種電話銷售。。。那時候真的有點急了,大學四年,畢業一份像樣的工作都找不到,回去怎麼面對鄉親父老。

三月份的時候一家IT測試培訓機構來做宣講會(具體什麼名字我就不說了,免得認為是廣告),聽完之後就說培訓之後包就業,培訓地點在大上海的最中心,當然是自費,但是可以工作之後分期付款。那時候哪知道測試是幹嘛的,更不懂IT是幹嘛的,回來就查了下這個機構確實存在,網站也有的,知道不是騙子遍決定來上海試一試。當時下定決定要來上海培訓之後,幾個狐朋狗友毫不猶豫的跟著我一起來了,總共應該是7個人,決定之後沒幾天便毅然而然的背著大包小包來到上海,我們之中一部分是一次性付費,另一部分是分期。後來證明我們當時來上海的決定是正確的。

培訓之路
這里並不是宣傳大家去培訓,只不過被工作所逼,學校不好,大學也沒學啥真本事,稍微有點出路都不會去培訓!

培訓的日子還是蠻輕松的,一周就上四天課,朝九晚五,畢竟大家家庭都不富裕,家裡辛苦攻讀了四年大學,畢業還要再交錢去培訓,打心裡大家都很愧疚。一開始卯足了勁要好好學習,但是堅持了沒多久就有點放鬆了,但是好歹也是都有學習的。

培訓的時候算是接觸了點編程吧,課程有C語言、Oracle、Linux,然後其他都是軟體測試的理論,其實都是非常基礎的東西,算是帶你入行吧,Orace就學習一些基本SQL語句,Linux就學了幾個命令,但是起碼知道原來電腦可以干這么多事,之前還一直以為電腦就是用來看電影、聊天、打游戲的呢。現在回頭看給我一周的時間我可以看完整個培訓課程,但是當時的培訓周期要四個月。

第一份工作--SunNet

7月份拿到畢業證書就直接來了上海,四個月的時間對於我來說實在太漫長了,我等不及了,於是在課程還有最後一個月的時候我提前出來單獨找工作,當時培訓老師說工作後的工資大多是3500左右,我覺得我學的比別人好,所以必須要比別人高,做好了長期准備面試的過程。沒想到面試第一家就直接錄取了(後來才知道原來是公司的測試懷孕在家,急需測試),公司名叫SunNet,中文名山諾,工資4000。收到offer的時候欣喜若狂!

真正接觸編程
之後便在SunNet正式入職,工作就是測試,但是就在SunNet我才真正的接觸了什麼是編程。SunNet是一家小型外企,總部在休斯頓,上海這邊主要是研發部。研發人員總共不到10人,主要業務是以web為主,使用語言是.NET。當然我的職責就是web測試了,工作倒是沒什麼難點,主要測試就我一個,一進來就有好幾個項目等著我測試,還好自己是數學專業,邏輯思維能力還不錯,加加班總算能按時完成任務。

三個月的時間順利轉正,之後的某一天偶然得知公司一開發人員工資比我高2000,其實也就比我早畢業一年而已,才知道原來開發和測試工資差距這么大,於是當時就下定決心要轉行做開發,所以說起我從測試轉行開發的原因是因為錢,一開始說因為興趣堅持下來的都是扯淡。。。

編程之路

由於在公司我的主要任務仍然是測試,任務也挺多,基本每天要9點能到家。下定決心之後只能利用業余時間來學習,由於公司主要業務是.NET,很自然我一開始學習的方向便是.NET,後來才了解到.NET是基於C#的,學習.NET之前必須要先學習C#,於是像公司借了一本C#學習資料,就這樣學習了大概兩周吧,還仔仔細細做了一大堆筆記。之後覺得語法學的差不多了,便又借了本.NET的書開始學習web開發。

但是web開發遠沒有學習一門語言這么簡單,後來才知道web開發涉及到html, css, javascript, ajax, database等,范圍太廣了,於是為了效率,我只能每一項掌握住基礎,於是網上搜索找到 w3school 在線教程 這個好東西,裡面的東西都是基礎的,我把教程整理到手機里,每天上下班的地鐵上,吃飯的時候,回家的時候等等利用一切時間來學習,也是差不多大概2周的時間掌握了html, css, js的一點基礎,接下來准備正式學習.NET的時候,被我們老大知道我正在學習開發,我們老大叫Aaron,是一位典型的程序員,比較胖,人品超好,知道後不建議我學習.NET,說.NET出來都十來年了,已經很成熟了,很多人在學校都有.NET教程,現在學習已經比別人晚了。現在移動開發剛嶄露頭角,也沒多少人會,建議我直接學習移動開發。真是一句點醒了我啊!!

移動開發
聽了老大的建議,於是放棄了.NET,開始准備學習移動開發。那時候是12年初,整個移動互聯網也是剛起步階段,iPhone4還是非常火的時候,毫無疑問我把目標鎖定在了iPhone開發上。

這次有經驗了,知道了iPhone開發首先肯定得有一門編程語言的,了解到是Objective-C,於是又從公司借了一本OC的書(公司書很多,老大每月都會買來好多書,雖然看的人很少),又花了將近一周的時間來了解了基本語法,因為之前學了C#,這次沒完全看完的情況下想直接上手實踐。正打算學習的時候,才知道iOS開發必須得在mac上才可以,也就是說我得自己有台mac電腦,雖然當時公司是有的,但是回家的時候不能繼續學習練習,肯定影響效率的,一台mac對於當時的我簡直是奢侈品,雖然現在也依然是奢侈品,但當時根本不可能買得起。於是只有放棄iPhone開發轉向Android(後來才知道有虛擬機這東西。。。)

Android學習之路

幾經波折,終於才確定自己的方向,這期間已經耽誤了不少時間,走了不少彎路了,但是仍然阻擋不住我轉行開發的腳步。公司關於Android的書竟然沒有,於是我自己親自買了一本Android書籍,叫《瘋狂Android講義》,作者是李剛!!不說這本書有多好吧,這本書比較厚,非常厚,所以講的一些基礎比較細,新手按照上面的完全可以看懂,現在不知道這本書內容更新了沒,之前內容對於現在來說有點老。這個時候應該是12年的3月份,說起來也巧,這個月公司剛好接了個移動端項目,iOS有人來做,但是公司上下沒有會Android開發的,其他人都有自己的項目在忙,老大看出我的興趣,就問我想不想試一下,我當然欣然同意了,只此就開始正式的邊做邊學習Android。

那個時候的測試任務仍然很重,於是我只能擠出時間來做這個項目,基本是每晚以及周末都會自動加班來完成這個項目,現在看來那個項目真是太簡單不過了,快的話一周都不要就可以搞定了,但在當時我摸爬滾打了一個多月總算搞定了。

做完這個項目自己有了點信心,但當時自己的主要任務還是測試,自己開發的時間是少之又少,於是下定決心離職找一個專門做Android的工作。說明原因之後老大很理解,也是建議我想做開發的話就放手去找一個專門做開發的職位,這樣進步會比較快。

第一份工作能遇到我的老大Aaron,真是我的福分!

❷ 如何自學 Android 編程

如何自學 Android 編程:
項目需要,8月中旬開始決定做安卓的程序,所以馬上就開始學習安卓方面的開發知識,把最近的學習實踐經歷和大家分享分享。不要一開始就下載一大堆資料,視頻,然後就不知道做什麼了,要給自己定個目標,我要做什麼?我怎麼達到目標?

我不懂java,但是懂C#和C++,所以我沒主張去單獨學習java語言,如果你是個最最初的新手,沒啥語言基礎,那你必須先看看java語言,不要很詳細看,因為學習Android中,你也是在學習java。

1. 明確目標

沒有目標的學習,會感覺到後面沒什麼成果,在1年前,我也打算學習android開發的,但是目的就是學習,到網上去下載很多學習的視頻,然後把開發環境搭建起來,能把Helloworld運行起來,能打些log,Activity之間也能互相切換了,但是後面也就不了了之了,因為不知道學了要干什麼。依葫蘆畫瓢的做了幾個例子,因為裡面的問題都是已經解決的,所以也沒能深入的系統學習。

這次因為產品的需要,要做Android版本,要做的東西一開始就已經設計好了,見搖搖2選1安卓版本,剛開始也不知道裡面有些什麼技術難度,但是要做的目標已經明確了,而且也沒有現成的,碰到問題就查資料,慢慢地解決,這樣有的放矢,學習的效果非常好。既有現成的技術可以使用,又有些技術,需要查比較多的資料,這樣記憶就比較深刻,所掌握的知識也比較系統。

接下來的一系列文章,我會把在開發搖搖2選1中遇到的問題,給大家詳細講講,程序雖然小,但是五臟俱全,做Demo和做產品的要求完全不是一個級別,如果Android大牛感覺知識講的比較淺,那可以繞道,畢竟我是從一個完全的新手開始的。

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

學習一個新平台,就要知道此平台開發要面臨的困難有哪些,不要做到最後,這些問題沒有考慮,那就比較糟糕了。在網上搜索了下,安卓開發困難總結如何:

1)安卓系統版本比較多,各版本之間的兼容性是個問題,此為系統碎片。

2)安卓設備千變萬化,設備難以統一,每個產品都成為獨立,分散的Android碎片。

3)解析度五花八門。一個產品,可能需要多個界面排版,人工消耗比較大。

看到這張圖,有沒有頭疼的感覺?

總結成一句話:Android的碎片化真是要來開發者的命。

3. 搭建開發環境

"巧婦難為無米之炊",開發環境肯定是第一件要做的事情,這類的文章已經很多了,我也不多說了,多說也就比較無聊了。感謝吳秦,也是博客園里的一員,他寫的很詳細了,見這里。

4. 查看網友總結的一些經驗。

不是什麼都查看,開發中遇到什麼問題,就去查看什麼問題,這樣你查到的知識,馬上就能深入的實踐,這樣知識就鞏固了。

1)首先當然要看Android的開發文檔,裡面其實大部分的知識都有了,還有就是SDK自帶的Samples。

2)博客園里搜索「Android開發」,會出來一大把,很多網友都是很系統的講解了。

3)eoe
android社區,裡面有很多網友上傳了現成的demo代碼,裡面很多都是模仿現在流行的產品的界面開發,很是不錯。

5. 掌握調試方法

個人一直認為,調試技巧是開發中最重要的技能,如果調試技能比較差,不知道如何查找問題,那不會是個好的程序員,其技能也不會高到哪裡去。

Android做下來,感覺調試這塊做的很不錯了,這要感謝Eclipse
IDE做的比較不錯,但是Android的界面排版部分,真的不敢恭維,Eclipse時間用長了,佔用內存真是大。有哪位高手能否告訴我下,你們界面排版是用什麼的?

Android里,如果程序出了問題,有些是一下跟蹤不到的,這時就要用到Log類了,Log類使用很簡單,就不多說了。
自己一個很有感觸的經驗,如果你真的打算做Android開發,那就買一個設備,這樣能大大提高開發效率,模擬器有時用起來真是麻煩,而且開發的設備不要很好的,只要設備解析度是主流的,感測器的支持最好全點就夠了,國產的手機里,華為的還不錯,或者到淘寶上去買個二手的,投資不大。真的買了投資,可能也會增加你學習Android的決心。

6. 程序框架

經過10多年的經歷,認識到程序的框架對開發產品真的是起到舉足輕重的作用。一個好的產品,如果有個好的程序框架,那真是事半功倍,可能開始所做的工作會比較多,很難看到令人激動的成果,但是相信我,絕對值得。一開始,我也是比較注重程序界面開發,很快就開發出界面來,而且著實比較激動,因為有東西出來了,但是後面的事情,真是令人發狂,想從頭再來,太遲了,離計劃的時間比較近了,時間不允許,只有硬著頭皮往上打補丁,硬著交付第一個版本,第二個版本或者後面的版本,遲早是要重來的。所以在後面帶領團隊開發的時候,在開發前,都是要討論程序框架,留出很大部分時間進行程序框架開發,及在開發中不斷的改進。

剛接觸Android,不知道用什麼程序框架,所以查了很多資料,一開始看到一個程序框架,感覺很不錯,所以一開始就使用了下面這個程序框架。

❸ android開發教程 android自學入門路線

1、對Android開發、對互聯網感興趣,興趣是最好的老師,只有發自內心的感興趣才能真正堅持下去握隱卜;

2、強大的學習能力,既然自學那學習能力肯定是必備,要有很強的求知慾,持續不斷的學習能力才有機會走的更遠,注意,是持續不斷的學習能力;

3、解決問題的能力,自學過程中肯定會遇到各種各樣的坑,這個時候不要急躁,不要氣餒,不要怕耗時間,一步一個腳印去解決問段穗題,這攜缺會為你今後走上工作崗位帶來極大的優勢;

4、設定一個目標,比如我當初測試轉行開發,自學Android的目標簡單直接,因為開發比測試工資高,我轉行就是為了多掙錢。我想大部分人的目標應該都跟我同感。

❹ 新手剛剛學習android,推薦android開發的入門教程

學習android注意事項:
1,android技術准備實訓目標:通過這部分的學習,學員能夠達到學習android開發課程的基本要求。熟練使用Java語言,實現GUI桌面應用程序的開發JDK的安裝和配置開發工具Eclipse3.4安裝。實訓知識點: Java標識符、數據類型流程式控制制、面向對象編程、繼承、抽象類、介面、包、異常、IO流、Swing、游戲演算法介紹
,2,android入門實訓目標:通過這部分的學習,學員具備了android程序開發的能力,能獨立完成常用的應用軟體。實訓知識點: Android系統概述和內置工具、Android 開發環境的搭建和啟動模擬器、建立android工程、Android應用程序開發及運行編譯結構、API參考文檔的使用、使用am工具啟動android應用程序、部署應用到真實手機、控制項和事件編程、菜單編程、對話框編程、視圖組編程、各種布局的使用、Grid視圖組、List視圖組、使用Tab組織UI
,3,android進階實訓目標:通過這部分的學習,學員的android開發能力會有大幅提高。等感測器編程、android優化和性能提高。實訓知識點及案例分析:Service概述、創建和啟動、生命周期、許可權及跨進程調用;廣播的概念及生命周期、廣播發送的許可權廣播接收器的實現、接收SMS簡訊、播放MP3;內容提供器的概念作用和常見介面、使用內容提供器實現增刪改查、內容提供其許可權和創建內容提供器、SQLite資料庫添刪改查操作、使用list視圖組顯示數據;Widget概念和製作方法、Widget各種XML描述文件詳解2D圖形圖像及文本、Gallery UI編程、GridView編程、OnDraw編程、drawable編程基本動畫編程技巧、Tween動畫、Frame動畫、TimerOpenGL ES的2D和3D繪圖GPS服務、GPRS網路使用、android藍牙開發、android方向、加速表、光線、磁場、臨近性、溫度
4,項目實戰實訓目標:本階段讓學員開發,設計Android網上購物系統,其中包括Android圖形界面開發,Android聲音,Android網路通訊,和伺服器後端進行通訊交換數據。

Android基礎知識:
一、Android開發的分類:
1、Android客戶端應用程序
如新浪微博、網銀客戶端、凡客、淘寶客戶端,快盤客戶端。Android在這里的應用還是界面層的東西為主。核心還在WEB。客戶端界面很重要,用戶體驗度很重要。從應用需求上來講,幾乎大一點的網站,都需要有手機客戶端程序。
2、Android通用類程序
如基於LBS(基於位置的服務)的應用 (這類一般會嵌入到客戶端應用程序中),流媒體播放應用。由於移動設備的方便便捷、3G、4G網路的發展,這類應用有不錯的前景。
3、Android游戲開發
需要掌握的游戲引擎LGame,游戲框架等。手機上的游戲會是一大塊內容,有前途。
4、Android底層開發
需要掌握C、Linux等較底層的東西,發展方向應該是驅動、協議開發,嵌入式開發。
開始學習了解一般從界面、控制項開始,這也是大部分人認為簡單、比較快上手的原因。學習一段時間後,自己可以定一個方向發展。
二、Android學習需要哪些知識點
1、Java基礎知識
J2SE:Java基礎類(lang包,IO包,util包(集合框架),面向對象,多線程,網路編程)
2、J2EE知識
如果你想從事的Android客戶端應用程序的開發,這部分知識是必備的。顯然Android客戶端只是做的數據的請求、展現,所需的數據在伺服器端。
技能點:Tomcat(Weblogic),XML解析,JSON解析,JSP/Servlet。了解SSH。
3、Linux、C語言知識
可以作為你後續發展需要了解的。
在論壇上、QQ上看到不少童鞋Java基礎還比較欠缺,就開始搞Android了,當然就問題多多。學習熱情可嘉,但需要打一個好的基礎,有一個好的學習路線。
三、Android學習比較好的資料
1、應該說現在市面上的書,入門的還是不少,但一般現在只講了簡單控制項的單個用法。
《Android開發範例大全》,《Android應用開發詳解》可以參考。想了解游戲的話,可以參考《Android2.0游戲開發實戰寶典》。
2、Android學習視頻,也基本上停留在講簡單入門,單個控制項用法為主,這方面遠不及Java,J2EE,SSH的視頻那麼豐富。應該講,你看完了這些,離開發還有很大一段距離。而且,這些視頻在講課方法上不如一些Java的好。現在的視頻資料太豐富,從哈佛、斯坦福的課程,到IPHONE開發課程,都有。但全部跟著視頻完成所有的學習,有很長一段跟要走。
3、Android的論壇比較多,論壇的缺點就是什麼東西得自己一個個查找、去等。自學是一個艱苦而漫長的過程。對你的鍛煉和提升也最大。自學有一個缺點,就是容易迷失方向,一個知識點你永遠不知道要掌握多深,相關的應用是什麼。自學就好比像你一個人在走一條目標很遠,前面叉路很多的暗道一樣。
4、培訓機構學習。如果你時間上允許不失為一種好的選擇,可以快速入門。互聯網產品(時代)有一個重要特點,就是拿資金換時間。如果能快速入門,到這個行業去發展,就比自己慢慢學習要好得多。畢竟現在Android開發太熱了。對開發人員的要求也會逐漸提高。(如既要求能做Android開發,又做IPHONE移植開發)。

❺ 如何自學android 編程android 開發

一、 基礎篇 需要掌握的技能如下:
1、熟練掌握基本控制項以及容器控制項的使用 ;

常用的基本控制項有:Button 、TextView、EditText、ListView等

常用的容器控制項有:FrameLayout、LinearLayout、RelativeLayout等

2、熟練掌握相關監聽器的注冊和使用:

常用監聽器有: OnClickListener、OnLongClickListener、OnItemClickListener等

3、掌握Log的使用以及分析方法 ;

4、掌握Activity、Service的生命周期和使用方法 ;

5、掌握BroadcastReceiver(廣播)的接受和使用 ;

6、掌握Intent以及IntentFilter的使用 ;

7、基本掌握資料庫方面知識,包括SQLiteDatabase以及ContentProvider的使用方法
除此之外,我們必須得掌握adb shell 的使用方法,常用功能有:adb pull 、 adb push 、 adb remount 指令等
由於shell類同於Linux shell ,我們還得掌握基本的Linux指令等,例如cat、cd 等 。

知識獲取渠道主要為:

Android SDK以及網上大牛的博客。
附: 關於基礎知識的介紹,國內的一些書籍質量真是相當差勁,味同嚼蠟。強烈不建議在此階段買書籍。
這時,您已經小有所成了,能夠基本掌握Android開發了。這兒,我推薦一個手把手講解Android項目的視頻:
zhengping老師講解的,強烈推薦。 視頻下載地址:《Android視頻教程》(Android Video Course)畢業答辯結束,俺胡漢三又回來了。太多郵件沒有回復,抱歉。醞釀醞釀,繼續錄制視頻,敬請期待[DVDRip]

祝您一臂之力的當然還有Mars老師的視頻了。
實踐出真知。這個階段,你可以自己編寫一些小Demo了,幫助自己在更深層次發展了。

PS:我通過看了Mars老師視頻後,編寫了一個簡易的音樂播放器Demo, 感覺挺有成就感的。 通過前面的學習,我們可以成功進入第二個階段了。

二、 提高篇 需要掌握的技能如下:
1、掌握Canvas類的使用-- 如何繪圖

2、掌握消息通信機制---Handler相關類的使用以及原理

3、掌握Context類以及實現原理

4、掌握View樹的繪制流程 。 View繪制流程很重要,掌握它就基本上掌握了Android核心之一了。

4.1、掌握觸摸事件的分發流程--- onInterceptTouchEvent以及onTouchEvent方法流程

4.2、掌握相關監聽器的調用機制。例如OnClickListener監聽時怎麼調用的?

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的匹配規則以及解析過程

8、基本掌握View添加至窗口的過程---即WindowManagerIml 、WindowManagerService類的用法

知識渠道:
必備書籍: <Android內核剖析> Android源代碼一份

PS: 您的個人電腦上一定得有份 Android源代碼,否則何以笑傲江湖 。
三、 進階篇

1、基本理解SystemServer類載入流程以及WatchDog的功能

2、more......
我也還是個小菜鳥,更多的就不知道咯。希望以後能夠完善起來。和大家共同成長。
最後,我總結的一些學習知識點只是一個提綱挈領,幫助大家學習成長的點或者線。例如:我負責通訊錄模塊,當然得把資料庫方面知識弄得一清二楚啊。不然,公司要我何用。因此大家在學習的時候,找出更適合自己的點。
有些人可能會想,工作中我用不到,學它幹嘛?再次也規勸大家在工作之餘,給自己充充電,多學點知識只有好的沒有壞的。
希望大家每天能進步一點,成長一點,接近心目中的那個天空更近一點。
前面說的博客,在此推薦兩個我常去的吧:
1、 應用方面,主要是魏祝林的csdn博客 :Android_Tutor的專欄 。 但他的博客主要是以代碼為主,需要自己結合源代碼揣摩 。

2、 框架方面,主要是老羅的csdn博客 : 老羅的Android之旅 。 但他的博客主要是以流程分析為主, 而對 流程 需要的前期准備知識介紹不足,初步看起來比較難以理解,因此,買本《Android內核剖析》是必須的,可以參考源代碼仔細領悟, 強烈推薦該書籍。
由於網路上Android源碼不太好找,特此共享下Android部分源碼,主要包括框架層、中間層、以及一些App等,對上層開發
和中間層開發還是很有益處的:

❻ 如何自學 Android 編程

如果你已經確定了學習Android的目標,那麼,應該提前做好哪些工作、先打下哪些基礎呢?
首先,你最好先熟悉一門編程語言,現在大學裡面和計算機相關的專業甚至理工類專業一般都會開設C語言課程,只是很多同學在大學期間並沒有好好學習,如果對它掌握的不太好或者很久沒用了,建議先從將其好好復習一下,將其基本的語法再好好回顧一下,最好能搭建一個環境來運行、調試它。如果沒有學過,不妨也提前學習一下,可以參考清華大學出版社出版的譚浩強老師的《C語言程序設計》,推薦這本書的原因,一是它已經經過了多年的考驗,應該說還是比較嚴謹的;其次就是大部分的高校所開設的C語言使用的教材都是用它作為教材,因此無論是購買還是借閱,都容易找到。另外,華清遠見網站上也有一些這方面的教學視頻,可以結合來看。
其次,如果你後續有志於游戲方面的開發,你最好具備一定的數據結構和演算法基礎知識。這一點是我在華清遠見的講台上,給學員們堅持強調的。雖然現代的高級編程語言中,其類庫中已經幫我們實現了大部分的數據結構,一般情況下,我們直接使用即可。但如果你能對其原理有所了解,當你需要在這些數據結構和演算法中間的時候,你可以能更加的清楚到底應該選擇那個數據結構或者演算法。另外,在圖形圖像處理上面,線性代數的作用也非常重要,如果能掌握一點這方面的基礎知識,無疑也會在後續的學習中如虎添翼。舉個例子,在Android中,有一個用於圖形變換的類Matrix,用起來稍有點難。其實它的理論基礎就是線性代數中的矩陣,如果你了解矩陣的基本演算法,這個類的使用可以說就易如反掌了。
第三,因為Android應用的開發語言用的是Java語言,並且在Android中也用到了Java核心類庫的大量的類,因此,在學習Android開發之前,可以先把Java基本語法和Java SE的基礎類庫好好學習一下,例如:Java中的IO、網路、線程、List、Map、Tree等數據結構。現在的大學里也有不少的院系開設了Java課程,教材和圖書也非常豐富,如果你所在的院系沒有開設,也可以從其他開設了這個專業的院系同學那裡借閱一下,並認真完成他們所布置的作業,爭取自己能動手編寫出一些簡單的Java應用。如果自己購買圖書,可以購買《Java核心技術,卷1(原書第8版)》這本圖書來學習。
第四,因為在Android中,會用到資料庫來存儲數據,因此,也可以提前對資料庫知識做相關的儲備。在Android所使用的SQLite中,其語法是遵循標準的SQL-92語法的(當然和企業級資料庫如Oracle等比較,功能上要弱很多),有條件的話,最好也能安裝一個資料庫來進行實際的操作。從易用性和資料完備性來說,建議大家使用Microsoft SQL Server或者MySQL就可以了。它們都是我們學習資料庫的好平台。另外,如果曾經學習過資料庫原理或者關系代數,那麼,在學習資料庫的過程中,也可以再好好地復習一下這些基礎知識,對我們理解資料庫大有裨益。
最後,我們結合華清遠見3G學院的「3G Android系統開發就業培訓班課程體系」來談談Android開發的學習方法。
Android是一個比較龐大的體系,從底層的Linux內核到上層的應用層,各部分的內容跨度也比較大。因此,一個好的學習方法對我們學習Android開發很重要。因此在華清遠見的課程體系設計中採取了循序漸進、將大目標分解成多個小目標,逐步達成對Android開發從應用層到底層系統及驅動開發全面掌握的目的。
例如,可以先從Android的應用開發開始,等到對應用掌握的比較熟悉了,開始慢慢閱讀一些Android 應用框架層的源代碼,然後再漸漸往下去了解Android的JNI、Libraries、Dalvik虛擬機、HAL層、硬體驅動、Linux內核、ARM技術體系架構等,雖然近期Intel宣稱要讓Intel晶元支持Android系統,但在可預見的時期內,在移動設備上,ARM的優勢應該還是不可撼動的。
具體來說,可以先通過在開發板上構建一個自己的Android系統,了解Android系統的整體架構和啟動過程,由此先對Android有一個初步的了解;接下來,學習Android的應用開發,在這里可以先學習Android的幾個主要組件、UI組件,先對Android應用開發有一個感性認識。在能夠熟練搭建用戶界面後,再逐漸來豐富應用的功能,例如:加上事件處理,使其能夠和用戶互動;加上數據存儲功能;加上聯網功能等等。在學完應用後,在此基礎上來學習游戲編程,先了解游戲設計的基本思路,然後開始從小的游戲、小的模塊開始做起,到最後能完成一個類似於現在熱門的《捕魚達人》這樣的游戲。在掌握了這些應用層級的內容後,可以去了解如何在Android應用中通過JNI去調用C/C++的介面,再往下學習Linux的內核和驅動開發如字元設備驅動、Flash設備驅動、網路設備驅動等等;再在此基礎上,去學習Android驅動開發、HAL(硬體抽象層)開發、ARM體系架構和指令等等內容,這樣,Android開發的整個體系就都貫穿起來了。
當然,因為時間有限,而底層部分的內容比較龐雜,因此,在真正去做這部分工作之前,我們只需要對其基本原理有所了解,做好相關知識的儲備,能夠根據老師的指導來完成相關的實驗。這樣在後續的工作中,就可以方便的往這方面發展,讓自己的事業更上一層樓。

熱點內容
python的庫在哪 發布:2025-02-07 06:30:24 瀏覽:348
帶鎖的鉛筆如何改密碼 發布:2025-02-07 06:18:05 瀏覽:164
ubuntu搭建samba伺服器 發布:2025-02-07 05:52:54 瀏覽:54
小型企業網如何配置可以互通 發布:2025-02-07 05:33:56 瀏覽:243
09年crv哪個配置好 發布:2025-02-07 05:17:31 瀏覽:555
nvm源碼編譯 發布:2025-02-07 05:13:19 瀏覽:126
防偽碼查詢源碼 發布:2025-02-07 05:09:39 瀏覽:769
安卓機的通知在哪裡 發布:2025-02-07 05:09:01 瀏覽:282
密碼74是什麼意思 發布:2025-02-07 05:02:10 瀏覽:47
蘋果es瀏覽器無法連接ftp 發布:2025-02-07 04:59:57 瀏覽:285