零基礎,怎麼學習 Android 應用開發,需要學習哪些知識?
零基礎,怎麼學習APP的開發,需要學習哪些知識?
答主大四學生,僅個人看法~
1、學習途徑平時獲取知識的途徑主要有:讀書、視頻教程、博客、Github、序言 | Android官方培訓課程中文版(v0.9.5)、微信公眾號。2、入門 ------ 視頻教程
大一下初學Java,用的是馬士兵老師的視頻教程,講的很詳細,很適合初學者,所以馬老師應該算是我職業生涯的啟蒙老師。現在也會在極客學院、慕課網尋找到一些有價值的課程。3、深入 ------ 多讀書
學久了,覺得視頻滿足不了求知慾,視頻只能教會用,不能教會懂,授人予魚不如授人予漁,如果要深究其原理,還是應該多讀書。可能你覺得讀書很花時間,剛開始,我也是這麼認為,後來醒悟過來,一定要看書。本科生的技術水平很難達到企業的用人標準,企業如果要你,不一定在本科階段就能做出幾個像樣的項目,他們看中的應該是求職者的學習能力和基礎深度。4、查漏補缺 ------ 讀博客
在讀完一本書的之後,可以適當閱讀一些優質博客,加深對核心內容的理解,簡單地說就是查漏補缺。 推薦幾個吧:老羅的Android之旅 、郭霖的專欄 、胡凱 、掘金5、零碎時間如何利用
可以關注一些優質的技術類微信公眾號,閑下來的時候,比如利用上廁所、吃飯、等車的時間讀一讀,日積月累,可以學到不少東西。還是推薦幾個:安卓開發(anzhuoCoder)、安卓應用頻道(androidpd)、Andorid程序員(androidtrending)、程序員的那點事(Coder1024)、程序猿(imkuqin)、互聯網周刊(ciweekly)、牛客網(www_nowcoder_com)、演算法與數據結構、用友開發者、Nagain6、素材
Unsplash | Free High Resolution PhotosIconfont-阿里巴巴矢量圖標庫Free Images - Pixabay7、Andorid書單
《第一行代碼 Android》(郭霖)【摘要 書評 試讀】:CSDN博客執行郭霖作品,入門首選,幽默風趣的方式帶你走進Android的大門,我給我的學弟學妹都是推薦這本書。 《Android編程權威指南 計算機與互聯網 書籍》【摘要 書評 試讀】:學習Android看的第二本書,考慮作為進階學習的工具。《Android應用性能優化》([法]Hervé Guihot)【摘要 書評 試讀】:想做出高性能的APP,這本書一定要看《Android開發進階 從小工到專家》(何紅輝)【摘要 書評 試讀】:《Android應用性能優化》的升級版,推薦這兩本一起讀,可以互補。這本書是阿里巴巴的何紅輝前輩寫的,他參考序言 | Android官方培訓課程中文版(v0.9.5),同時增加了很多自己的見解,可以跟序言 | Android官方培訓課程中文版(v0.9.5)一起讀。 《Android系統源代碼情景分析(修訂版)(含CD光碟1張)》(羅昇陽)【摘要 書評 試讀】:老羅的書,很厚,要全部看完不容易,可以參考老羅的博客來讀。通過源碼來解析Andorid系統的四大組件和IPC的原理。《Java編程思想(第4版)》([美]Bruce Eckel)【摘要 書評 試讀】:在讀通這本書前,別說自己Java很牛。這本Java聖經在這裡就不再贅述,是筆主大一的Java課程的教材,當時讀不懂,現在翻回來重新讀。如果沒讀這本書就想去BAT,洗洗睡,第二天早點起來看書。
《深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版)》(周志明)【摘要 書評 試讀】:馬士兵老師說:理解了內存,就理解了一切。這本書講解的主要內容包括內存管理、經典的垃圾收集、類載入和反射、高效並發編程。一般的Java程序員,只要了解必要的Java API、Java語法就差不多了,但是優秀的Java程序員,還遠遠不夠。---------------------------
最後廣告一下吧Github: https://github.com/miomin微博: 莫緒旻首先貼上另一個問題:如何自學android編程?
雖然這個問題上沒說零基礎,但是耐心把答案看完,相信你不論處於什麼水平,都能找到前進的方向。------------------------------------下面是自己的總結-----------------------------
1、學Java目前,Java語言在Android開發中佔據絕對統治地位,所以開發Android的第一步就是學好Java,建議至少完整的看一本Java入門書籍,推薦:
- Java語言程序設計 (豆瓣):我原來看的入門書籍,我老師推薦的,分為《基礎篇》和《進階篇》。
- Java編程思想 (第4版) (豆瓣):從Java的基礎語法到最高級特性(深入的面向對象概念、多線程、自動項目構建、單元測試和調試等),更講述了java語言的前世今生,語言特性,設計理念等等,閱讀本書需要一定的java基礎,個人經驗,建議至少看完《Java語言程序設計-基礎篇》再看這本書。
- 第一行代碼 (豆瓣):郭霖大大編寫的Android入門書籍,推薦這本書的原因有兩個,一是郭霖大大的語言通俗易懂,二是這本書很新,是基於Android4.0的入門書籍,根據友盟指數的統計,Android4.0以下的設備已不足10%,所以,你現在入門,拋棄那些仍舊停留在Android2.x的入門書籍吧。(ps:這本書我買了不到一個月就丟了,一本60多呢,二次購買也不打個折,真是憂傷)
- AndroidDevTools:從開發工具到入門教程,從代碼規範到版本控制工具,一切與android相關的都在這個網站上,Android入門請參考該網站的 Android Dev Tutorials 模塊,這個網站的github地址是inferjay/AndroidDevTools · GitHub,如果你有什麼補充的可以push。
- Android學習之路:stormzhang大大編寫的Android入門文章,對於有一定java基礎的人來說,Android入門有這一篇文章就足夠了。(該文章同樣被收錄在AndroidDevTools中)
- 郭霖的專欄:郭霖大大CSDN專欄。
- stormzhang.com 的頁面:stormzhang大大的個人博客。
- Google:用google搜出來的結果比百度質量高。至於如何不翻·牆就使用google請自行知乎,但是作為一個Android開發者,你早晚要學會翻·牆。
- 博客園 - 開發者的網上家園
- 博客頻道 - CSDN.NET
- Stack Overflow:國外的開發者問答社區,無需翻·牆。
- GitHub · Build software better, together.:國外的代碼託管平台,這裡有很多Java/Android開源項目,無需翻·牆。
- 杜絕知其然而不知其所以然:遇到問題一定要搞清楚問題出現的原因,所以個人更推薦花點時間仔細閱讀一篇講解詳細的博文,而不是直接複製別人貼出來的代碼,直接套用別人發的解決方案。
阿里云云棲社區,彙集阿里技術精粹,點此關注
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
前言:
最近幾日有不少小夥伴要求分享一些安卓開發學習課程或者資料,小編在此將阿里技術協會的:《Android 基礎課堂》系列學習資料分享給各位。同時各位小夥伴若有學習、資料需求可以私信小編,小編也會儘力為大夥整理分享。
以下為正文:
Android 基礎課堂
· 之所以叫Android基礎課堂嘛,是因為本部分主要的內容是關於Android開發的一些小知識也可以算是一個入門教程吧,我們志在讓讀者了解Android開發,清楚Android開發的過程~並能更好的看懂我們的周刊。
· 基礎課堂將會從最基礎的Android開發知識講起,讓讀者熟悉Android項目的結構,而後我們會通過一個應用的開發過程,結合的講解Android的知識,把Android的相關知識在這個應用里慢慢迭代~慢慢豐富應用,讓讀者在實踐中學習Android開發~
—————————————————————————————————————————
第一課:《Android發展史概述及開發環境搭建》
一、Android發展史概述
Android這一詞最先出現在法國作家 利爾·亞當 在1886年發表的科幻小說《未來夏娃》中,作者將外表像人類的機器起名為Android,這也就是Android小人名字的由來。
Android是一種基於Linux的自由及開放源代碼的操作系統,Android系統原來的公司名字就叫做Android。Andy Rubin創立了兩個手機操作系統公司:Danger和Android。Danger 5億美元賣給微軟,後更名成為了Kin,Android 4千萬美元賣給Google。谷歌公司在2005收購了這個僅成立22月的高科技企業Android。Android系統也開始由谷歌接手研發,Android系統的負責人、Android公司的CEO Andy Rubin 成為谷歌公司的工程部副總裁,繼續負責Android項目的研發工作。
......
二、開發環境搭建
自從Android Studio發布以來,搭建Android開發環境變得非常簡單,不再像原來在eclipse上搭建開發環境那麼繁瑣了,那麼我們就開始搭建開發環境吧
① Mac 下搭建開發環境
點擊閱讀詳情
—————————————————————————————————————————
第二課:《從創建一個Android工程開始》
一、Hello Android
o 在第一課中,我們已經搭建完Android開發環境了,那麼接下來我們就來用Android Studio(下文中將用AS簡寫來代表Android Studio)創建我們的第一個工程吧
o 打開我們安裝完的AS,將會看到如下界面
……
二、初識Activity
o 在上面創建工程的時候,可以選擇是否創建第一個Activity ,以及創建什麼樣式的Activity ,那麼本著用到什麼講解什麼的原則,我們現在就來講講Activity
o Activity 是四大組件之一,並且是我們最經常用到的組件,Activity 是用戶介面程序,原則上它會提供給用戶一個互動式的介面功能。Activity 本身是沒有界面的,Activity 類創建了一個窗口,通過setContentView(View)介面把.xml界面放到Activity 創建的窗口上。
點擊閱讀詳情
—————————————————————————————————————————
第三課:《五大布局》
一、LinearLayout (線性布局)
o 什麼叫做線性布局呢,其實理解起來也很簡單,就是它裡面的東西,都按照一定的順序一個接著一個排放,那麼一定的順序指什麼呢,在線性布局裡,提供了兩種布局排序方式,一種是水平的即horizontal,一種是垂直的即vertical,讓我們來看看這兩種布局方式吧
o 水平 horizontal:在水平布局的LinearLayout 里,內部控制項是從左到右一個個排序的,最前面的在左邊,最後面的在右邊,具體是什麼樣的呢,讓我們來實踐一下,先看下面的這個效果圖
……
二、RelativeLayout(相對布局)
o 相對布局是啥意思呢,就是內部各子元素按照之間的位置關係來完成布局。在此布局中的子元素里與位置相關的屬性將生效。例如android:layout_below, android:layout_above, android:layout_centerVertical等。注意在指定位置關係時,引用的ID必須在引用之前,先被定義,否則將出現異常,讓我們來看看實現效果:
點擊閱讀詳情
—————————————————————————————————————————
第四課:《從登錄界面開始》
一、登錄界面布局分析
o 首先我們先來創建一個新的Activity用於登錄,首先打開我們的工程,然後在我們的包處右鍵,如下:
……
二、布局中的EditText
o EditText是Android中提供的用於獲取用戶輸入的控制項,Android中每一個控制項所含有的方法都很多,不可能一次講全講完,我們還是本著用到什麼講什麼的方式來講解,所以,本次我們只講一些簡單的東西,即在布局中對EditText的一些設置,而關於如何獲得輸入、如何監聽輸入變化、如何設置可輸入內容等等這些東西,我們將在下周中講到登錄界面的邏輯的時候進行敘述,所以本周的關於EditText的內容將會比較簡單
後續課程持續更新中,歡迎關注阿里云云棲社區機構號:阿里云云棲社區,彙集阿里技術精粹,點此關注
首先來說下我的背景以及這大半年來我的自學情況吧:
2.去年11月中開始系統學習編程語言,由於想做Android開發,所以入門語言選擇了Java。
3.11月中到12月中,邊看傳智播客的一套視頻邊敲裡面的練習。
4.12月中到1月中,20天左右時間看了《編程之美》,並用Java實現書里百分之五十左右的演算法題,剩下的題由於難度太大 或者比較複雜,當時沒有深入研究下去。
5.1月中到2月中,選擇了網易公開課裡面的《斯坦福大學公開課—編程方法學》這套視頻,同樣是邊看視頻,邊完成裡面的Assignment。在這裡感謝帥帥同學@王帥 推薦這套視頻。裡面的Assignment題都是經典題目,對於初學者來說非常適合。
6.2月底開始學習Android語言,花了1個月左右的時間,照著《第一行代碼》裡面的例子,敲代碼進行實現。
--------------------------------------------
關於開發「蘋果序列號查詢」具體實現邏輯介紹,請移步(最近好像需要翻牆):JeffinBao - Android開發,讀書,見人,行事
另一個是我的個人簡歷應用,仿照地圖搜索的樣式做的,它是下面這個樣子的:
-----------------------------------------
很多知友在其他答案中已經列了很多資料了,我自己也是通過他們介紹的資料的其中一部分來進行學習的,所以資料方面,就不多說了,想說兩點看似無關但我認為又比較重要的點:
2.「軟實力」的加強Android應用呈現給用戶最多的是界面,所以界面是否美觀是用戶會不會選擇去用的一個重要因素。對於工程師來說,如何提高自己的審美,進而把自己對美的理解融入到應用當中是很重要的。這不是說工程師一定要具備專業設計師的能力,這不太現實。但是如何保持界面整潔,在字體、顏色、排版上如何規範與統一,都是工程師需要在平時去提高的。
---------------------------------------------
寫了這麼多,不知道有沒有幫助到題主,下面我也想安利下自己的應用以及在求職中的自己:
1.小米、豌豆莢、魅族Flyme、Google Play、鎚子應用商店上搜索「蘋果序列號查詢」,有任何問題,歡迎反饋給我丫。
2.第二個應用做的是個人簡歷—JeffinBaoCV,沒有上線,感興趣的朋友可以通過下面鏈接下載(由於身邊手機不多,可能在小屏幕低版本系統的手機上會有適配問題,如果有,也歡迎反饋給我丫,多謝):百度雲 請輸入提取密碼.(提取碼:9x6d)
3.下面是跟我有關一些主頁的鏈接:
GitHub主頁:JeffinBao (Jeffin.Bao) · GitHub
主要用於託管自己的代碼,尋找一些好的開源項目來學習使用。如果你對我感興趣,請私信我或者通過下面郵箱聯繫我吧,謝謝!
郵箱:bjf13609846991@gmail.com
以前回答過類似的問題,先佔坑,再回答;
先看看這篇文章吧:我是如何自學Android,資料分享----------------------------------我是分割線----------------------------------------
最近學習了,對Android 的認識又有了新的見解,吃晚飯回來回答;先學點Java 然後看Android方面的書開始學習,盡量實際弄幾個可以用的應用出來,開發中遇到不會的語法再回去仔細研究Java。
書的話這本不錯:Android編程權威指南 (豆瓣)
然後圖靈社區的有些Android書後面會有學習路線圖,可以參考。建議首先也要先熟悉java SE編程。能讓0基礎的開發愛好者快速地學會這首要的基礎編程,那將會大大地提升開發安卓app的效率,然後再熟練地使用java語言進行APP軟體編程,最後將要熟悉一些比較複雜的過程,如:熟悉語言語法,熟悉java線程、java IO、XML處理、網路編程等,還有學習android app框架和android app發布,這些都是從一個未知的安卓app開發的0基礎狀態到熟悉安卓app開發的一個過程,也算是android web app的另一個開發領域,一般開發一個出色的android app只有被推薦才可能有極高的知名度,但是一個大師級的android開發人才卻是有這個能力和境界瞬間為業界的人所驚嘆。
從0基礎開始去掌握安卓APP的一些開發技巧是件好事,但是要選擇正確的方法去學習,選擇一些正規的網站或者學校去學習安卓app軟體開發技能並且掌握其開發基礎,只要有正確的引導,才能將一個完整的安卓APP開發流程掌握,這樣才會對於安卓APP行業發展做出保障,不管是0基礎的開發者,還是有基礎的開發者,都要用正確的觀念來教育,這樣也就是說把安卓APP開發環境做一個大的清理,為保證今後美好的APP開發環境持續下去。Android應用開發視頻教程
Android應用開發視頻教程視頻教程
Android應用開發視頻教程-第2季
Android應用開發視頻教程
Android開發視頻教程《Java語言基礎》
Android開發視頻教程《Java語言基礎》視頻教程
①Java基礎知識 ②Linux基礎知識 ③資料庫基礎知識 ④網路協議 ⑤Android基礎知識 ⑥伺服器端開發知識
程序員學習成長之路:某語言 = &> 編碼風格 = &> 一兩個程序庫/框架(經歷幾個項目) = &> 重構 = &> 設計模式 = &> 系統架構」
開發android,我們需要哪些技能基礎。(android大牛請繞開此段)
①Java基礎知識 ②Linux基礎知識 ③資料庫基礎知識 ④網路協議⑤Android基礎知識 ⑥伺服器端開發知識①Java基礎知識很多朋友一上手就開始學習Android,似乎太著急了一些。Android應用程序開發是以Java語言為基礎的,所以沒有紮實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。萬丈高樓平地而起,Java就是築起高樓的每一塊磚頭。那麼Java學到什麼程度才算是過關呢?我個人認為至少要掌握以下兩個方面的內容:a)Java基礎語法:具體的知識點列表可以在這裡下載:《Java知識點列表》V1.0。這部分內容沒有討價還價的餘地,必須爛熟於胸。至於具體的學習方法,可以看書或者是看視頻,但是關鍵是要多加練習,無論是書上的練習還是視頻裡面的練習,都需要仔仔細細的完成;b)設計模式:由於在Android系統的框架層當中,使用了大量的設計模式,如果沒有這個方面的知識,對於Android的理解就會大打折扣。設計模式的種類非常之多,一個一個的全部掌握,是不現實的,必須首先掌握面向對象的基礎設計原則,有了這些基礎原則的支持,就可以舉一反三。這部分內容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書中找到。②Linux基礎知識大家都知道,Android系統的基礎是Linux操作系統。在開發過程當中,我們也需要使用到一些Linux命令。所以說一些Linux的基礎知識是必須的(話說現在的程序員,不懂Linux都不好意思跟人家打招呼),推薦大家看看《鳥哥的私房菜》這本書,寫的相當不錯;③資料庫基礎知識這個比較簡單,就是一個增刪改查的資料庫操作,可以看一下這本書:《SQL編程練習與解答》④網路協議至少需要學習兩種基礎的協議,HTTP協議與Socket協議;⑤Android基礎知識⑥伺服器端開發知識由於很多Android應用程序都需要伺服器端的支持,所以掌握一些伺服器端開發知識還是非常有必要的。至於選擇哪一種伺服器端知識進行學習,就比較麻煩了,因為技術的種類實在是太多了:a)Java EE:就是上面郵件當中所提到的SSH—Struts+Spring+Hibernate。這種技術的優點的功能完整、強大,已經使用了很多年,而且既然大家已經非常熟悉Java了,那麼學習SSH看起來也順理成章。但是使用這種技術開發伺服器端程序,非常麻煩。即使是一些簡單的功能,也可能需要大量的代碼和配置文件來實現;b)PHP:簡單易學,開發快速。但是我們需要多學一種語言,是否得不償失,就要大家自己判斷了;c).NET:這項技術的特點和Java EE差不多,但是要想掌握.NET,則需要掌握c#,也是個麻煩的事情;d)ruby on rails:這是我個人最喜歡的伺服器端技術,簡潔,優雅,寥寥幾行代碼,就可以實現很複雜的功能,但是這需要Ruby語言知識作為基礎;至於選擇哪一種知識,就看大家自己的判斷了,畢竟每個人想法不一樣,愛好也不相同。2怎樣去獲得這些技能基礎。安卓開發學習書籍建議買 精通Android2 ,或者 Android2高級編程 這兩本書,講解的細緻,但是一定要結合sdk來看。國內的不要買。。。。(切身體會,千萬別買)看完之後就可以自己動手做做項目了。對於java基礎,我現在的感覺是 如果要深入學習android平台,java基礎一定要好(裡邊包括各種java類庫的用法,本地代碼jni什麼的)。但如果平時隨便做做應用的話,會面向對象編程就完全可以了。把獲取這些技能基礎量化為100%的話,那麼看書這個途徑只能為你提供15%的進步。看視頻,這也是許多自學android開發的新手必經之路,畢竟看書只有你一個人的思維在活躍,看視頻至少是兩個人的思維在碰撞,你能發現你與別人的不同,如果你有心,你就能進步更多。
首先要懂Java語言,Java編程語言語法應該是最簡單的一種,然後可以結合一些書看看
Android開發方面的教程,零基礎的話可以看看要先看一些很基礎的教程,可以看看這個Android開發教程。android是開源的。不一定要使用java,現在使用html5 是最方便的
零到哪一種程度?如果演算法,數據結構,資料庫這些都不了解的話建議先去看一下這方面的入門資料。如果有一定的知識基礎的話建議看一下MarsChen的入門視頻,有Java,有Android的並且它的Java是為Android服務的。http://www.marschen.com/portal.php
不知題主之前有沒有Java基礎,如果沒有的話,先學習Java基礎,然後再是Android基礎,ui,演算法,多線程處理等等一步步進行,可以戳http://www.51bdqn.com了解
官網直播網址http://www.dongyibiancheng.com/expand/4yg2w9 每天上午十點 ,下午三點,晚上八點,直播課程H5混合開發,框架MUI-H5+,微信小程序,Vue.js,PHP,JavaScript,ReactNative, 進入直播群:239503027
題主你好。你來晚了。我已經不收徒了!你的需求告訴給我 我幫你開發就OK 平價 高質量 高逼格
我也要學Java
大家基本上都認為使用java語言(java SE),但是其他方法也可以開發原生Android的app,xml+JavaScript的開發方式是愛碼哥移動開發平台所特有的,開發語言相對更簡單,並且還是原生的用戶體驗,最重要的是不僅生成安卓app,還能生成iOS app,只用編輯一套代碼。
我覺得你還是換個行業吧,這個行業短時間你是不會出頭。長時間會熬出各種病
@恆遠志
JAVA基礎,然後是Android UI控制項 ,布局,線程,弄本書一步步學習 應該很快
推薦閱讀:
※目前最有效的 App 推廣渠道有哪些?
※Windows為什麼沒有程序許可權限制的功能?將來是否可能出現?
※Android 平台有哪些非常優秀的應用?
※嵌入式還是安卓應用開發?
※ColorOS、 OPPO、CM和OnePlus 之間是什麼關係?