JAVA 学到什么水平就可以转战 Android 了?
一、有編程基礎(chǔ),或者科班出身的,直接上吧。強烈推薦郭霖老師的《第一行代碼-Android》
二、沒編程基礎(chǔ)的,先入門java,如果天天都有比較多的空閑時間的話,這個入門時間要在2周完成,如果沒有的話,1個月內(nèi)完成吧,不要讓拖延耽擱你的激情。
如果你準(zhǔn)備好了進軍Android:
不管你什么時候開始學(xué)習(xí)Android,請使用Android Studio,首現(xiàn)改主題,然后去網(wǎng)上搜一下常用的20個快捷鍵截圖放在電腦桌面上!
如果是色彩盲,請自行收藏這個網(wǎng)站:Material Design Color Palette Generator
所有書上的UI部分掃一遍就行了,我相信現(xiàn)在還沒有書按material design標(biāo)準(zhǔn)講解。
從一開始起就嚴(yán)格按照material design寫,Material Design我想你一開始學(xué)習(xí)的時候身邊是沒設(shè)計師的吧,但是按照標(biāo)準(zhǔn),你不需要設(shè)計師:)
不要自定義一堆padding margin,但你需要邊框,邊距的時候,請看看?android:attr/里面有木有你需求的(由于android studio強大的補全功能,你一般只需打幾個關(guān)鍵詞就有提示了),比如你需要給一個ImageButton加點擊效果,不要傻不拉幾的去寫一個selector了,你只需要輸入 item select這些關(guān)鍵詞,自動補全就會給你提示了。
不要定義一大堆亂七八糟的字體大小了,materail design上的幾種基本字體大小可以滿足你!
再也不要使用ListView了,改成RecycleView吧!
再也不要尋找第三方下拉刷新控件了,SwipeRefreshLayout肯定符合你的要求(不信你看,知乎Android客戶端都是用的這個(●ˇ?ˇ●))。
再也不要使用第三方側(cè)滑欄了,DrawerLayout能滿足你!
再也不要使用ViewPagerTabStripe這一類的第三方Tab控件了,請使用TabLayout!
再也不用找圓形頭像控件,圓角控件了,其他的Univeral Image Loader /Picasso也不用看了,直接上Fresco | Fresco 中文說明吧,它都有!不如用省下的時間看看Fresco的源碼。
少去國內(nèi)論壇瞎晃,然后各種求指點,安心寫兩個月,你會發(fā)現(xiàn)自己水平比他們都強,有問題請去stackOverflow搜索,國內(nèi)博文除了幾個大牛的都少看,都是假的!都是騙人的!很多寫著是原創(chuàng),但是博文內(nèi)容他們自己都沒試驗過,鄙視這些不負(fù)責(zé)任的!
少聽一些人說的有問題要寫博客記下來!把這個時間省下,學(xué)一下UML圖怎么畫,給自己的工程加一些規(guī)范的注釋吧!你的這些規(guī)范的源碼和規(guī)范的注釋就是你以后的資料庫和經(jīng)驗庫!
請學(xué)會使用Git,自己一個人也要用,我們先不說那些團隊合作什么的高大上的,就說你這一版代碼修殘了,要從原來的重新修改,怎么辦?用Git,回滾版本!就說你突然一天電腦出問題了,或者你范二了,沒備份就重裝系統(tǒng)了,想哭怎么辦?用Git,再也不用擔(dān)心代碼突然丟啦!
---------------------------------2015/8/13-------------------------------------------------------
評論里面有些同學(xué)有疑問關(guān)于如何學(xué)習(xí)material design控件,我的建議是去GitHub搜,有很多同行給的例子,比如chenyangcun/MaterialDesignExample · GitHub
這些栗子足夠入門。
-------------------------------------------------------------------------------------------------------
---------------------------------2015/8/8----------------------------------------------------------
有朋友說要是動真格的話,需要NDK以及JVM等的知識,首現(xiàn)NDK并不是神秘的東西,你跟著官方的步驟走一遍就知道什么回事了,無非就是一些代碼格式以及原生/JAVA內(nèi)存交互,進階一點的有原生/JAVA線程交互,線程交互確實有點蛋疼,但平常避免用就好了,再說對于初學(xué)者來說關(guān)心NDK干嘛,據(jù)鄙人以前的經(jīng)歷,只在音視頻通信和一個嵌入式信號處理(離線)的兩個項目中用過,嵌入式信號處理是JAVA->NDK->.SO->MATLAB這樣調(diào)用的我原來MATLAB的代碼,其他的大多就用在游戲上了吧,一般的互聯(lián)網(wǎng)公司會有人給你公司的SO包的。
至于JVM,該掌握的那部分,相信我,你會掌握的,不該你掌握的,有那些專門研究JVM的人來做,不如省省心有空看看計算機系統(tǒng),編譯原理。
一句話,平常多寫多練,這是最基本的程序員的素質(zhì),盡量擠時間,讀理論基礎(chǔ)書籍,JVM不是未來30年唯一的虛擬機,JAVA也不一定再風(fēng)靡未來30年工業(yè)界,其他的系統(tǒng)和語言也會雨后春筍冒出來,但你理論扎實會讓你很快理解學(xué)會一個語言或者框架,你平常寫的多會讓你很快熟練的將新學(xué)的東西應(yīng)用到實際中。
初學(xué)者,一句話,多練。
------------------------------------------------------------------------------------------------------------
說說我的情況吧,第一個學(xué)過的語言是C,然后C學(xué)的很爛的情況下繼續(xù)學(xué)習(xí)了C++,為什么沒有先把C學(xué)好再學(xué)C++呢,因為課程設(shè)計==,我有自知之明,所以在上C++的前一個寒假就先開始看了,然后先看了一本《易學(xué)c++》,雖然那本書在現(xiàn)在淺顯至極,但當(dāng)時還是感覺有點略難,我通過這本書熟練地掌握了std::iostream!==然后基本的對象模型有了一點概念,我比較好高騖遠,于是就在此時想直接通過最后一個大作業(yè)——命令行下的RPG游戲 徹底掌握C++這門最難的語言!對,你沒聽錯,我當(dāng)時想的就是這個大作業(yè)要是搞懂了,C++還不是被我各種SM,但很不幸,雖然我一行行的把這個大作業(yè)的源碼比著答案敲了一遍,但還是不懂,于是就在網(wǎng)上找了一個據(jù)說是清華的java課件開始學(xué)習(xí),你還別說,除了當(dāng)時感覺java里面把function叫做method(方法)感覺怪怪的以外,真的在不到3天的時間完全弄懂了對象的概念以及對象的繼承,然后差不多就開學(xué)了==(當(dāng)年不懂事,整個寒假就看了這10多天的書),所以java大法好。
好,這是我人生入坑的開始,我說的寒假就是2014年寒假!,在接下來的學(xué)校的C++課程中我當(dāng)然如魚得水,然后一發(fā)不可收拾,很快我就自己把那本98清華版的《visual c++程序設(shè)計》弄爛了,確實那本書的只是我掌握的滾瓜爛熟,然后我就深入了解MFC,什么用GDI實現(xiàn)AlphaBlend,MFC的設(shè)計思想,MFC中數(shù)據(jù)庫的使用什么的,然而現(xiàn)在回首看來這些并沒有什么卵用。然后我就天天晚上回到宿舍打開電腦寫代碼,但顯然我很快從社區(qū)(知乎==)上得知MFC很爛,大家都說微軟大法好!于是入了C#的坑,然后發(fā)現(xiàn)生活好美好===天天真是喜歡C#的不得了,不過有一天我成了軟黑,winform繪圖閃成狗,loadlibrary看著好蛋疼,以及用user32.dll時,蛋疼的語法,蛋疼的函數(shù)名字,API參數(shù),然后我得知,原來罪魁禍?zhǔn)撞皇莄#,是winAPI就長這樣!
然后就在知乎大聲地教唆下,入了Qt教,入門是看的一個外國人錄得視頻,英文無字幕,但是他的聲音好好聽,于是就學(xué)了Qt,第一次發(fā)現(xiàn)各種Layout的自適應(yīng)布局,通過掌握QGraphicsView熟悉了MVC模型,后來還用QGraphicsView到了真實的項目,發(fā)現(xiàn)===好多坑==,坐標(biāo)系統(tǒng)是坑,事件系統(tǒng)是坑,總之,欲仙欲死,不過說實話,我至今還是認(rèn)為Qt的設(shè)計挺好的,QML想學(xué),但流產(chǎn)了,原因大概是沒時間吧。
然后解除了另外兩端慘絕人寰的事情,第一個是第一次做音視頻的實時網(wǎng)絡(luò)傳輸?shù)臅r候,資料很少,一開始甚至連Ffmpeg都不知道,后來知道了,就入了Ffmpeg的坑,好多莫名奇妙的錯誤,都需要右鍵去看源碼,然后音視頻的編解碼以及Rtp/Rtsp協(xié)議弄的差不多,demo也出來的時候,為了廣域網(wǎng),又要入P2P Nat穿透的坑,但是很遺憾,沒有完全成功。
還有一些其他亂七八槽的事情回來補==今天先說重點。
在今年4月份左右,我第一次下定決心要搞定Android,而且我真的做到了!雖然以前斷斷續(xù)續(xù)看過android,但都沒屁用,這次是真的白天看書,晚上寫代碼。郭霖老師的《第一行代碼——android》只看了5章,但在這五章的學(xué)習(xí)過程中,我真的入了Android的門了,然后那本書我再也沒有打開過,當(dāng)然,Android只會畫界面是遠遠不夠的,現(xiàn)在的support.design.widget組件集讓Android界面開發(fā)變得很輕松了,重要的是和服務(wù)器的交互,以及嵌入式本地數(shù)字信號處理,一不小心寫了這么多,第一次發(fā)現(xiàn)自己打字這么快,哈哈~ 編輯于 2015-08-13?114 條評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權(quán)利 162贊同 反對,不會顯示你的姓名 bird-HU?,請叫我瀟灑哥/微信:xindekaishine 可以… GAJIO2016、聶生元、acCccc?等人贊同 安卓對JAVA的需求,我認(rèn)為遠遠沒有那么高,我覺得能系統(tǒng)的理解JAVA基礎(chǔ)就完全可以開始學(xué)習(xí)JAVA基礎(chǔ)。
再能開始寫出簡單的安卓程序時候就可以轉(zhuǎn)戰(zhàn)安卓了,但是注意兩個字:系統(tǒng)化,這樣對你個人的水平很有提高。
隨便舉個例子,列舉你需要的知識點:
0.學(xué)會使用開發(fā)工具:eclipse
1.基礎(chǔ)語法:數(shù)據(jù)類型、方法的基本運用、運算符、數(shù)組、循環(huán)、分支的使用。
2.常用算法:排序(冒泡排序、選擇排序、快排(面試常用)),正則表達式(會用、理解即可)
3.設(shè)計模式:常用單例模式,工廠模式、監(jiān)聽模式等等~單例必須會。后期設(shè)計模式建議仔細(xì)看看, 可以提高水平。
4.面向?qū)ο?/strong>:封裝,繼承,多態(tài),類和對象的概念。
5.常用類:String(Stringbuffer stringbuild string的區(qū)別,面試常用),MATH(random等隨機數(shù)和String和int和double之間的轉(zhuǎn)換常用。)Data和Calender類。常用類太多,當(dāng)你學(xué)到這里你應(yīng)該已經(jīng)學(xué)會查詢API了,如果不會查詢API,那就學(xué)會查詢,再進行下一步的學(xué)習(xí)。
6.內(nèi)部類:靜態(tài)內(nèi)部類,成員內(nèi)部類,匿名內(nèi)部類,很重要,很常用,理解為什么需要內(nèi)部類和如何使用內(nèi)部類。
http://7.IO流:理解IO流的概念,和各種流的轉(zhuǎn)換以及區(qū)別。此時你應(yīng)該學(xué)會如何將一個圖片從一個文件讀取到另一個文件里面。如果不會這個,那就重復(fù)學(xué)習(xí)這個。
8.集合:list和set以及map的用法,以及他們互相之間的區(qū)別必須全部掌握。學(xué)了集合之后,數(shù)組很少會去使用了。
9.異常處理:理解異常的概念,以及常用異常,和處理方法。
10.反射:理解反射和應(yīng)用。
11.網(wǎng)絡(luò)編程,學(xué)會網(wǎng)絡(luò)鏈接,聚合數(shù)據(jù)(隨意百度一下)有很多免費的接口可以使用,進行練手。學(xué)會json解析。
11.GUI:選學(xué),目前已經(jīng)遺棄。
至于什么是系統(tǒng)呢?
簡單的舉例下:
下面這個是我當(dāng)年學(xué)完JAVA之后,做的思維導(dǎo)圖,你再不大量查閱資料的前提下,能做出下面這個導(dǎo)圖就能去學(xué)安卓了。(后面有彩蛋,不要走。)
關(guān)于學(xué)習(xí)方法,有人喜歡看書,有人喜歡看視頻,各有優(yōu)缺點,
如果你喜歡看視頻資料的話。
我準(zhǔn)備了大量成套的學(xué)習(xí)資源,注意是成套,別的地方不好收集。
有安卓,ios,html,java,Python等等~
咳咳,拿走的記得送我個贊,謝了。
我收集了600多G各種各樣的視頻。
掃描下方二維碼,回復(fù)“自學(xué)視頻”可以獲取資料,注意關(guān)鍵字的回復(fù)!
也可以搜索微信公眾號“quanneishi” 回復(fù)“自學(xué)視頻”可以獲取資料,注意關(guān)鍵字的回復(fù)!
可以拿到我準(zhǔn)備的600G自學(xué)視頻,安卓,ios,c語言,java,html,python,都有。
編輯于 昨天 11:35?22 條評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權(quán)利 32贊同 反對,不會顯示你的姓名 Seasoninthesun?,小樓一夜聽春雨 Chao David、沉浮渡、邢傲偉?等人贊同 來歪個樓。看到上面有不少人推薦《第一行代碼》這本書的。
首先申明,沒有看過那本書,但是之前看過郭霖的博客。
他的博客確實比大多數(shù)人寫得更用心,有一些實用的東西,可能初學(xué)者覺得很炫,但是只是看看就可以,里面的一些思維并不值得借鑒。如果寫代碼時這么做,代碼review時肯定要被老員工噴死。
比如這個Android下拉刷新完全解析,教你如何一分鐘實現(xiàn)下拉刷新功能
除了里面的一些小問題和效果差強人意之外,有一個最大的問題就是沒有做好封裝。這就不是技術(shù)的問題,而是思維的問題了。
這時你再對比一下github上一些star和fork都很多的project,就會很明顯地感覺到其中的差距。
與其去學(xué)那些花哨的東西,不如靜下心來自己寫個緩存框架,認(rèn)真看些Android源碼。ImageLoader再好,也不可能永遠都滿足你的要求。如果緩存框架和網(wǎng)絡(luò)交互框架寫好了,基本上60%的工作都完成了,剩下30%是自定義View,剩下那10%就是很多博客中經(jīng)常樂此不疲去寫的,然而并沒什么卵用。
再說了,有Android Developers和StackOverflow這兩個好東西,哪里還需要什么其他多余的書。說句不客氣的話,99%的國內(nèi)博客和書籍都是其中的片面甚至是蹩腳的翻譯,比原汁原味的東西差得不是一星半點。
更何況做Demo的水平和實際的項目之間,還差著無數(shù)個Debug的過程。 發(fā)布于 2015-08-09?10 條評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權(quán)利 7贊同 反對,不會顯示你的姓名 馬天翼 羊咩咩、許佳佳、武大郎?等人贊同 12年學(xué)Android開發(fā)的時候,當(dāng)時還不知道java是干嘛的,反正看著寫法,照著寫也能搞出來。 發(fā)布于 2015-12-23?2 條評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權(quán)利 11贊同 反對,不會顯示你的姓名 hi大頭鬼hi?,全棧工程師 王強、邢傲偉、傅佳興?等人贊同 Anytime 發(fā)布于 2015-08-09?添加評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權(quán)利 23贊同 反對,不會顯示你的姓名 Tracy?,不算太菜的Android開發(fā)者,就是有點會煮菜 xiaobo kong、七月流火、邢傲偉?等人贊同 沒這么復(fù)雜,只要將J2se基礎(chǔ)學(xué)扎實就夠,學(xué)安卓會變得輕松許多。 J2se基礎(chǔ)扎實才是最重要的,J2se基礎(chǔ)扎實才是最重要的,J2se基礎(chǔ)扎實才是最重要的。重要的話說三遍。只要你J2se基礎(chǔ)扎實,無論是學(xué)Android還是J2ee都會變得好上手。都不會再有很多代碼看著迷迷糊糊的感覺。
至于主要要學(xué)哪些內(nèi)容,基本就是:數(shù)據(jù)類型、數(shù)組、流程控制語句(if、switch、for、while這些東西)、java面向?qū)ο蟮闹R(封裝、多態(tài)、繼承,面向?qū)ο笏枷牒苤匾?#xff0c;但其實你寫多了代碼,思想就來了)、java常用的類、集合、io流、線程、異常、部分網(wǎng)絡(luò)編程知識可以選擇性學(xué)習(xí),因為寫安卓你肯定會遇到,遲早要學(xué)。
最后補充一點,代碼寫少了,說什么都是放屁。所以呢?想要提升就給自己定日程,每天至少有效率的寫兩個小時代碼。 編輯于 2015-08-08?12 條評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權(quán)利 7贊同 反對,不會顯示你的姓名 hhhh233?,攝影小白程序猿 孤獨的程序員、邢傲偉、許佳佳?等人贊同 java什么水平都可以轉(zhuǎn)android 發(fā)布于 2015-08-06?3 條評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權(quán)利 97贊同 反對,不會顯示你的姓名 程序獵人?,《當(dāng)安卓遇上樂高》一書作者。(其實Andr… 江沛森、富鉦壹、楊廣?等人贊同 看了問題之后,第一反應(yīng)是:為什么要學(xué)了Java到一定程度再去轉(zhuǎn)戰(zhàn)Android?
如果原本Java基礎(chǔ)不是很深或者沒有太多相關(guān)經(jīng)驗,那就直接為了做Android而去學(xué)Java好了。
我一直覺得單純學(xué)一個計算機語言是很無聊也很難堅持下來的,因為講語言的書老是弄一些讓人毫無成就感的無聊作業(yè)作為練習(xí)。Java更是如此,由于應(yīng)用面比較廣,可能你看的書還在教你怎么寫Servlet之類的東西呢。雖然那些東西也挺有用的,但是你是想做Android,絕對是想看到自己寫出來的哪怕是簡陋的畫面在手機上動起來,而不是一堆代碼在服務(wù)器端默默地工作。
既然你想做Android,那就直接去看做Android的材料,試著努力做一個簡單的APP出來,在此期間搞懂Java和Android的各種知識。過程中遇到Java不懂的,再回去查Java的基礎(chǔ)知識會比較有動力,也比較有成就感。
無法帶來成就感的學(xué)習(xí),往往很難堅持下來。
== 回應(yīng)部分評論的分割線 ==
評論中有很多人提出了非常中肯的意見,說Java基礎(chǔ)知識很重要,如果不學(xué)好基礎(chǔ)知識,要么變成市場上那些垃圾開發(fā)人員,要么自己會走很多彎路。
對于這樣的意見,我4096%的同意!基礎(chǔ)知識不學(xué)好,越往后走越難,最后就會進入一個瓶頸,只能做最簡單層面的東西,稍微涉及一點高級功能和原理的地方,要么是通過大量毫無根據(jù)的嘗試偶然碰運氣解決,要么是根本無法解決。碰運氣解決的,解決方案通常也都是低效、質(zhì)量不穩(wěn)定的。
我之所以在這里還是說要從實用APP入手,只是說如果一點都不結(jié)合實踐,單純學(xué)習(xí)Java語言的理論,會很難讓自己保持入門的動力。說實話,先實踐入手的學(xué)習(xí)方法,其實不如從基礎(chǔ)入手,把知識學(xué)扎實了再學(xué)習(xí)APP實踐效率高。就像?@佚名者?說的,會走很多彎路。但是,重要的是這樣雖然花的時間稍長,作為學(xué)習(xí)者卻更容易堅持下來。
這就好像程序的進度條,一個程序,在進行某個無法并行進行的循環(huán)處理時,單線程不給任何反饋其實效率最高,做成多線程,同步顯示進度條一定比沒有進度條的程序執(zhí)行效率低,因為一方面要進程間同步,一方面還要做UI處理。然而,作為用戶,絕對是有進度條的讓人感覺不那么難以忍受。所以,雖然從實踐入手稍微效率低些,但更容易進行下去。
我也在上面對原有答案的部分內(nèi)容加了粗體。在結(jié)合實踐的學(xué)習(xí)過程中,千萬不能囫圇吞棗,照著教程把程序復(fù)制過來跑起來就蹦蹦跳跳地去找小伙伴炫耀了。一定要注意學(xué)懂背后的原理,不然真的是浪費自己的青春。
最后,記得以前參加一個培訓(xùn),說不同的人會習(xí)慣不同的學(xué)習(xí)方式。有的人就是喜歡從實踐入手,然后慢慢掌握理論知識,還有的人就是愿意啃理論知識,然后理論學(xué)全了才去實踐。兩種沒有好壞之分,只是天生更適合某一種方式(弗洛伊德說:或者跟童年經(jīng)歷有關(guān))。
我現(xiàn)在回答的這種,剛巧比較適合前一種人。如果你是后一種人,請認(rèn)真學(xué)習(xí)Java理論知識,學(xué)到什么程度的話,至少要把基本的面向?qū)ο蟾拍?#xff0c;包括內(nèi)嵌類、匿名類等稍微另類些的東西掌握,然后listener的機制,當(dāng)然,作為Java的基礎(chǔ)中的基礎(chǔ)的引用、垃圾回收什么的就更得爛熟于胸了,其它例如并行、java.util里面的常用內(nèi)容也是必須的……然后,去看看Android開發(fā),覺得入門有難度,回去繼續(xù)學(xué),覺得還好,就進Android的門玩玩。
其實,還有個折中的辦法。
先把Java基礎(chǔ)知識相關(guān)的書快速瀏覽一遍。目的不是為了學(xué)會學(xué)懂,而是知道Java基礎(chǔ)知識都包含了什么東西,相當(dāng)于在腦子里存一份Java基礎(chǔ)知識的目錄,詳細(xì)內(nèi)容不明。然后去學(xué)Android入門,當(dāng)你遇到講的知識里自己不懂,剛巧在Java基礎(chǔ)知識目錄里存在時,就回去把那條目錄對應(yīng)的內(nèi)容學(xué)懂。 編輯于 2015-08-07?27 條評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權(quán)利 呵呵喝喝 六維清水、辛長欣、邢傲偉?等人贊同
個人認(rèn)為
1.Java相關(guān)知識:
面向?qū)ο蟮母拍?/p>
理解引用
繼承/多態(tài)
接口/內(nèi)部類/匿名內(nèi)部類/回調(diào)(鉤子)/觀察者模式
異常(聲明/捕獲)
I/O:類結(jié)構(gòu)/裝飾者模式
容器:List/Map/…
多線程:同步/線程池/…
其中主要學(xué)會io和內(nèi)部類即可,然后就可以去學(xué)習(xí)安卓的內(nèi)容了。
2.Android的相關(guān)內(nèi)容主要掌握
常用布局/控件的使用/ListView/…
dialog/PopupWindow/Option Menu/Context Menu
fragment
Activity(UIViewController)/broadcastreceiver/service/..
Activity和Service/activity和fragment
intent的各種屬性/顯式意圖/隱式意圖
網(wǎng)絡(luò)通信http:http協(xié)議/httpclient/volley/.../json/xml解析
耗時任務(wù):Thread/asynctask/handler
動畫:Tween Animation(iOS核心動畫:假象)/DrawableAnimation/Property Animation(3.0,UIView)
各種資源文件:字符串/數(shù)組/圖片/.../style/attr/selector
以上是我認(rèn)為做安卓的最基礎(chǔ)的知識。有了這些知識便可以做出一款完整的app。3.會使用一些開源項目。github上面有一個安卓開源項目匯總Trinea/android-open-project · GitHub
4.做一兩個項目
關(guān)于學(xué)習(xí)方法:
1.剛開始的時候,可以看視頻,這樣學(xué)起來快一些,剛開始我認(rèn)為看書是沒有用的,通過看視頻快速掌握基本東西,可以達到事半功倍的效果。主要參考mars和老羅的視頻。
2.這時已經(jīng)會基本的開發(fā)了,接下來可以做一個項目用到平時學(xué)習(xí)的小的知識點。同樣也可以跟著視頻學(xué)習(xí),網(wǎng)上有一些培訓(xùn)公司的視頻,跟著寫一個項目就明白軟件開發(fā)的基本流程了。記住:一定要動手敲代碼!
3.這個時候你會發(fā)現(xiàn),做開發(fā)基本就是代碼拼湊,拿一些現(xiàn)成的開源框架或者以前寫過的代碼復(fù)制粘貼,就是api的調(diào)用,已經(jīng)很容易寫一些東西了。就需要從入門階段進行進階了,可以將重心放在框架層的源碼上面,研究安卓的源代碼也是學(xué)習(xí)安卓的好方式。研究各種manager,Binder,時間分發(fā),view繪制等等,可以做一些自定義的控件,研究開源框架,比如volley等。
4.務(wù)實基礎(chǔ),可能在前面的階段java基礎(chǔ)知識還不是很扎實,比如啟動一個activity用到xxx.class寫代碼的時候只是照貓畫虎,現(xiàn)在完全可以回頭研究到底是什么東西,看java虛擬機等等,3和4也是同步的。
最最重要的就是基礎(chǔ)知識,最近在看操作系統(tǒng),算法這些,非科班出身的一定要重視基礎(chǔ)知識。這樣才能在這條路上走的更遠,更好!
上面說的過程就是我學(xué)安卓和踏入it圈子兩年以來的經(jīng)歷。最上面列舉的java和android的基礎(chǔ)知識是有一次和學(xué)弟學(xué)妹分享做的ppt里面的,希望能幫助到別人。 編輯于 2016-01-05?4 條評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權(quán)利 8贊同 反對,不會顯示你的姓名 Tikitoo?,微信號:AndroidMate;分享Android 開發(fā)… 邢傲偉、文刀刻宇、Lgg?等人贊同 只有有編程基礎(chǔ),《第一行代碼》和《Android 編程權(quán)威指南》就可以來學(xué)了。
按照這個教程,來學(xué)就OK。
寫給Android 初學(xué)者的入門教程
from:?https://www.zhihu.com/question/33993035#answer-35644764
總結(jié)
以上是生活随笔為你收集整理的JAVA 学到什么水平就可以转战 Android 了?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python常见问题(7):Python
- 下一篇: Python matplotlib py