學習android兩年後有感
本人僅是一名西安某高校的在校研究生,就android而言也算是個新手,但是從事這方麵的研究學習也兩年了(說長不長,說短也不短,畢竟每天10多個小時),在這裏給大家說說自己愚昧的心得體會吧。
首先呢,很多人可能會擔心android會走下坡路或者經常會問:“android會壓過ios嗎?”。我覺得這些問題都問的很沒水平,為什麼呢?因為你學習android要麼搞研究要麼搞開發,如果你搞研究,那麼你肯定會設計到底層,會設計到C,C++,LINUX,這就意味著就算它走下坡路就算它連IOS的一根鳥毛都抵不過,又怎樣呢?你有了C,C++,LINUX的學習經驗還怕自己的能力不行嗎?如果你搞開發,那麼好,你web會吧,你數據庫該會吧,你java該懂吧,那麼你還怕自己就業難嗎?所以說,買定離手買定離手,(突然想起西遊降魔中黃渤說的: 我說的手起刀落手起刀落手起刀落,你卻問我眼睛幹不幹。。。),買定離手後就好好的搞你的學習而不要反複的質疑自己所學的專業,術業有專攻,落實必有出路。
其次呢,我覺得學習android的路線呢應該是這樣的(求別噴)。從上往下,由淺至深。意思就是說,對於android學習應該從應用層到底層,畢竟應用層的東西很簡單或者說相對簡單,而應用層的學習呢也不要一鼓作氣的來個從0到100的撒網式的學習,你可以先把重要的必須理解的幾個知識點學好了,比如說什麼主線程,intent,控件。然後再選擇某個項目自己試著去做開發(最好涉及到與pc機的交互,畢竟移動終端跟服務器的交互應該是幾年內的重點),在開發的途中肯定會遇到很多問題,然後再去查漏補缺,什麼不懂學什麼,然後一個程序下來你基本的內容也就懂了,而且比你看書起的作用大很多,畢竟是經過實戰演練的。底層的學習呢,應該是看它的代碼吧,一個模塊一個模塊的去學習,從上層的調用到底層的實現,順藤摸瓜的方式去一個點一個點的擊破。比如說你寫個發送短信的程序,然後你去看它為什麼會發送出去,你就會碰到進程間通信啊,係統調用啊,不懂就問問度娘或者穀哥。還有就是去學習JNI,學習在linux下去mm你的代碼(得有Android.mk文件),然後把so(動態鏈接庫)文件放入你的程序,給你的APK簽名等。
然後呢,總結下我這兩年來開發獲得的一點小小經驗吧。android開發中,我應該采用的一個理念就是:模仿中起步,實踐中完善。什麼意思呢,就是不論你寫什麼程序,首先你去看看市場上現有的或者類似的程序,去看看他們的實現效果與源碼,再基於了參考他們的內容的基礎上去做你自己的程序,然後做出來demo後呢再不斷的修改完善,做成一個像樣的產品(像個產品,主要就是功能上不足由界麵上來填補,試問誰想娶個奇醜無比但姿勢全會的媳婦呢)。還有就是android屬於移動平台的,在未來幾年內移動平台與終端服務器的交互必當是重中之重,學習二者的交互是很有用的,比如socket通信,HTTP啊,當然服務器端得有什麼servlet啊,web service啊,數據庫啊,切記不要一個東西一個東西的死學,用的時候去查查資料就行了。技術是拿來用的,不是拿來背在腦子裏的,你可以說不出來,但你能做出來就行了。
最後呢,對剛開始學習android的誌同道合的朋友提出自己一點小小的建議吧。就是不要太盲目地奢求從android寫個程序撈個幾十幾百萬,放輕鬆。。。心態擺正,才能有所作為。千萬不要認為一個很牛B的程序就是一些很牛B的人寫了一些很牛B的代碼!關鍵隻是一些很好的設計,把一些常用的功能在合適的地方拚湊在一起,這些都是基礎,所以搞好基礎是關鍵。還有就是盡量的擴展自己的學習範圍,不要老局限於android內的學習,你可以涉及到網絡啊,數據庫啊,LINUX啊,這樣對你的發展也有一些幫助,每天的新聞或者近期內的市場發展情況應該了解的,這樣一來自己也比較清楚市場的走勢與需求,比如說note2要開始銷售了,android的無線充電啊,眼球跟蹤啊,NFC通信啊,你也有了了解,然後再去查查這方麵的資料,那麼你知識麵又擴展了,談資也有了。未來的市場是不可預知的,但是真功夫是不怕被市場淘汰的,加油,行駛在android路上的我們!
補充一點:越分享,越精彩。不要覺得自己學到的知識是人家沒學到的或者是自己的見解是獨到的,不要覺得自己比人家牛B而小瞧人家,如今是個人才輩出的時代,山外有山,人外有人。學會無私的奉獻所學,這樣的人生才會變得有意義,世界才會更美,中國才會進步。
最後更新:2017-04-03 21:30:11