您的位置:首頁>科技>正文

安卓開發工程師的經驗和人生感悟-與你共勉

回首方覺已碼3年多, 一路走來, 酸甜苦辣嘗遍, 有過激情, 有過迷茫, 有過牽掛, 了無牽掛。 先從畢業說起吧:

1.關於就業

選擇就業方向是很重要的, 有很多同學選擇自己所學專業, 一部分則選擇了其他方向。 無論選擇什麼方向, 自己必須冷靜思考後決定。 有人問, 到底要不要選擇自己的興趣作為工作?我的建議是儘量選擇自己感興趣的, 因為這樣你才會有動力, 你才會堅定自己的方向。

剛畢業那會兒, 迷茫而慌張, 記得那時候, 出來實習, 學習了一個星期的ActionScript3就開始搞項目了, 搞的是房地產項目, 經常往東莞那邊跑,

一個人蹲在堂皇的房子角落裡吃著速食看代碼, 一個筆記本, 一個飯盒基本就待上一天, 我甚至懷疑自己是不是程式師了, 反正那時候, 他們都管我叫“詹工”。 一個月之後, 我思考了一宿, 終於還是提出了離職, 開始正式的程式師生涯。

2.關於進階

做開發, 一般會經歷激情期-->稍微成熟期-->迷茫期-->奮起進步期-->高手期-->架構大師期-->回歸初心。

①視頻:做安卓開發, 入門的話, 推薦先看視頻, 安卓視頻看過不少, 我記得張澤華老師的安卓入門視頻最讓我印象深刻, 通俗易懂, 讓我有興趣繼續開發下去。 入門之後, 可以選擇看一些針對性的視頻, 比如慕課網裡的視頻, 還是不錯的。

②博客:一定要多逛博客、論壇和社區, CSDN、博客園、StackOverflow、Github、簡書、掘金、LeetCode(演算法鞏固必看,

有時間的話磨一下你會發現世界原來這麼大)、開源中國社區、segmentfault、APKBUS等等, 有時間的話, 一定要寫自己的博客。

③書本:市場上的書本很多, 各種各樣, 我買的書本將近40本, 值得推薦的也就幾本。 首先《Java程式設計思想》, 這是必須看的, 無論是搞Java還是Android, 不要問我為什麼, 而且要反復看, 至少看5遍, 不要求每個字每頁都看, 但重要的知識點一定要鑽, 基礎還是要打扎實。 安卓進階推薦《安卓群英傳》和《Android開發藝術探索》, 這兩本進階必看, 如果有條件, 還應該看看《安卓源碼與設計模式》(好像是這個名字, 不知道有沒有記錯)。 後面, 《C++ Primer Plus》也值得推薦。 《演算法導論》是一本聖經, 一般來說, 工作之後, 有條件的話, 可以稍微看一下, 推薦研究生研究, 讀大學的時候有毅力也可以研究下,

這本書我是工作之後才買的, 卻只看了10幾頁, 就每能研究下去了, 身不由己是一個原因, 無論大小公司, 不會給太多時間你去學習的, 你會發現, 社會其實複雜很多, Boss只看結果, 領導只想著邀功, 除了無休止的加班, 就是進行思想上的洗腦, 在這個浮躁的時代, 這其實是一個悲哀, 時間沒有, 做研究的人少了, 都是套用API和別人的開源項目, 有的人編了一輩子程式, 沒有自己的思想, 也沒有理解別人的程式設計思想, 真正成為了代碼的“搬運工”。

關於程式設計語言, 感興趣的話, 你可以多學, 但你必須精通一門, 再去看其他的, 比如安卓開發, 你必須精通Java、C/++次之, 而其他的Python、go、PHP、H5、JS可量力而行。

然後就是一些比較高級的知識點了:

④Java:多執行緒、泛型、正則、容器、Http、Socket、注解、反射、23種設計模式, 演算法(推薦看啊哈磊的)、加密解密、虛擬機器。

⑤UI:普通的View動畫、屬性動畫、SVG向量圖、Material Design。

⑥安卓進階:Binder、AIDL、NDK(FFmpeg視頻處理、視頻直播、語音變聲、LBS、WAV無損音訊解碼、音訊拼接與音訊混聲、美顏)、HOOK(反射、動態代理, 需非常瞭解安卓實現流程)、安卓增量更新、安卓外掛程式化、MultiDex、冷開機。

⑦熟悉開源專案, 熟悉之後研究其源碼思想:

A.開發裡的MVP模式你得會吧, 大型項目你不可能在Activity裡做所有操作, 這樣一個類一兩天下來就超過一千行了。

B.網路請求的Okhttp和Retrofit你得會吧, 這麼火的網路請求框架, 瞭解一下不是壞事。

C.你得掌握RXAndroid(RXJava)吧, 這麼經典的框架。

D.不解釋:ImageLoader、Glide、ViewPagerIndicator、xUtils3、PhotoPicker、AVLoadingIndicatorView、CircleImageView。

⑧常見SDK接入:

⑨常用工具使用:

SVN、Git、Swagger UI、JIRA、SourceTree、阿裡巴巴向量圖。

⑩必須:一定要註冊成為應用開發者,

發佈自己寫的應用到應用寶、360應用市場、谷歌應用市場, 這是必經之路。

除了精通Java, 你要看C++了, 看腳本, 開始研究安卓源碼, 即使不從事底層開發, 也要在心中有一個安卓藍圖, 明白底層的實現流程。 你至少也要自己動手, 買一部谷歌手機, 選擇一個版本, 編譯一次安卓源碼, 燒錄到手機上, 途中你可能會遇到一些阻礙, 比如天朝的牆等, 只要你努力想辦法, 是可以跨越過去的, 成功之後, 你會發現, 內心是多麼興奮!這就是安卓的吸引力之處, 這就是開源的魅力!

3.關於理想

小時候常常在晚上仰望星空, 多麼嚮往外面的宇宙(現在抬頭落你一臉灰), 想過當宇航員, 逐漸長大, 喜歡上文學, 又想當個語文老師, 直到高中接觸電腦, 我就知道,以後自己一定是個程式師了。

理想畢竟是理想,到了社會,你就會發現,你被生活捆綁住了,你得拼命賺錢,你得要有車、要買房、各種壓力壓著你,喘不過氣,你很想掙脫這一切,但是你不敢,你怕讓家人失望,你怕自己碌碌一生,但其實人生百年孤寂,活得快樂不是最現實的嗎?何必在大城市裡拼命奔波呢?因為你想過得更好,所以你還是按部就班地來。

賺錢,很少人靠工資能發財,所以得另闢蹊徑。你開始炒股,你會發現,你買哪個哪個就跌停,即使你只是買了這麼幾萬塊,所以炒股之前一定要做好功課。你想到了功能變數名稱投資,想著哪一天有個大公司花重金買下你的功能變數名稱,一夜暴富,於是寫一個爬蟲,開機器去爬,你會發現,好的功能變數名稱早已被人佔有了,剩下的都是些不怎麼值錢的,所以,留下幾個對自己有意義的功能變數名稱建個博客玩玩就好。真正能增加自己收入的,估計自媒體和淘寶閑魚比較有希望。

4.關於思想

①自動停止播放音樂的應用。有些人喜歡戴著耳機聽音樂睡覺,但是如果睡著之後,音樂一直播放的話,會影響我們的聽力,能不能有這麼一款播放機,偵查到主人睡著之後5分鐘即停止播放音樂呢?目前應該還沒有,目前的音樂播放機,都是定時停止播放,而讓人無語的是,當音樂停止了,可能你還沒睡著,或者是睡著很久之後才停止,這都是不理想的。而如何定義並監聽用戶睡著?這可能和硬體、感測器有關了,比如監聽呼吸頻率、心跳、脈搏等等,這需要開發相應的耳機,需要硬體的支援,而我對於硬體基本上是一竅不通,所以擱置了。×

②智慧的連絡人應用。面對面搖一搖或碰一下手機互換手機號碼,這個應該涉及到LBS和手機相關感測器的,我暫時沒時間去細究......

③線上一邊看視頻一邊截gif的視頻播放APP,目前好像已經有了,愛奇藝好像已經有這個功能,唉,很多想法,還沒來得及去實現,就已經被別人實現了。×

④如果偵查到時間是淩晨,那麼手機自動切換到靜音狀態,短信聲音為靜音,或者說進入震動模式。除非是通訊錄裡的人打電話進來,或者同一個人多次打電話進來,否則不會響鈴,只會震動,防止干擾用戶。這個360和聯想手機已經實現了,360手機助手有這個功能,聯想樂檬手機自帶這個模式,打開就可以了。×

⑤語音接電話。比如你在床上睡覺,手機在書桌上,電話來了,喊一句“幫我接通”就自動接電話並打開免提,適合懶人使用,嘿嘿。很可惜,vivo已經實現了。×

⑥特權用戶可以看到對方正在輸入什麼,當然對方可以設置不讓其他人看。QQ有一個提示,就是“對方正在輸入...”,但是正在輸入什麼內容呢,只有發送了才能知道。如果QQ有這麼一個開關,“聊天時允許其他人查看我正在輸入的內容”,打開的時候,那些會員用戶,就有特權查看正在編輯的內容,每輸入一個字都即時展現在聊天框的上方,直到發送。嘿嘿,說不定某天QQ就出了一個靛鑽,靛鑽用戶才有權查看。唉,沒辦法,進不去騰訊,所以這個功能,還是交給騰訊的開發人員吧。×

⑧管理電腦的APP,這個360快傳好像實現了,連接同一個wifi,可以遠端遙控筆記型電腦,並查看電腦裡的檔,但是好像還不能把手機的東西拷貝到電腦。這個就交給360的開發人員去實現了。×

⑨我最想實現的一款應用:移動分享匯。我個人是比較喜歡聽音樂的,於是突發奇想,在坐地鐵的時候,能不能讓周圍的人也能聽到我正在聽的音樂?當然不是指外放了,這樣會引起公憤的,我的想法是這樣的:通過這個APP,把我正在聽的音樂,以廣播的形式播放出去,附近也使用這個應用的人,可以搜索到附近的所有的信號,點擊則可以聽到我正在聽的音樂了,說不定還能找到志趣相投的好友呢。後面還可以和發射歌曲信號的人聊天,互發檔等等,這個應用,不是挺好的麼。我現在是心有餘而力不足,有志同道合的朋友,可以一起探討下哈。

5.關於鍛煉

最後,當程式師一定要注意鍛煉身體和休息,畢竟生活是根本,不要因為追逐理想而舍本求末!你會認識到一些有趣的夥伴,多爬山、看看電影、和同學朋友們聚會、去看看海、去拍風景照。如此生活才有趣,才能輕鬆應對人生道路的坎坷。共勉、祝福。

我就知道,以後自己一定是個程式師了。

理想畢竟是理想,到了社會,你就會發現,你被生活捆綁住了,你得拼命賺錢,你得要有車、要買房、各種壓力壓著你,喘不過氣,你很想掙脫這一切,但是你不敢,你怕讓家人失望,你怕自己碌碌一生,但其實人生百年孤寂,活得快樂不是最現實的嗎?何必在大城市裡拼命奔波呢?因為你想過得更好,所以你還是按部就班地來。

賺錢,很少人靠工資能發財,所以得另闢蹊徑。你開始炒股,你會發現,你買哪個哪個就跌停,即使你只是買了這麼幾萬塊,所以炒股之前一定要做好功課。你想到了功能變數名稱投資,想著哪一天有個大公司花重金買下你的功能變數名稱,一夜暴富,於是寫一個爬蟲,開機器去爬,你會發現,好的功能變數名稱早已被人佔有了,剩下的都是些不怎麼值錢的,所以,留下幾個對自己有意義的功能變數名稱建個博客玩玩就好。真正能增加自己收入的,估計自媒體和淘寶閑魚比較有希望。

4.關於思想

①自動停止播放音樂的應用。有些人喜歡戴著耳機聽音樂睡覺,但是如果睡著之後,音樂一直播放的話,會影響我們的聽力,能不能有這麼一款播放機,偵查到主人睡著之後5分鐘即停止播放音樂呢?目前應該還沒有,目前的音樂播放機,都是定時停止播放,而讓人無語的是,當音樂停止了,可能你還沒睡著,或者是睡著很久之後才停止,這都是不理想的。而如何定義並監聽用戶睡著?這可能和硬體、感測器有關了,比如監聽呼吸頻率、心跳、脈搏等等,這需要開發相應的耳機,需要硬體的支援,而我對於硬體基本上是一竅不通,所以擱置了。×

②智慧的連絡人應用。面對面搖一搖或碰一下手機互換手機號碼,這個應該涉及到LBS和手機相關感測器的,我暫時沒時間去細究......

③線上一邊看視頻一邊截gif的視頻播放APP,目前好像已經有了,愛奇藝好像已經有這個功能,唉,很多想法,還沒來得及去實現,就已經被別人實現了。×

④如果偵查到時間是淩晨,那麼手機自動切換到靜音狀態,短信聲音為靜音,或者說進入震動模式。除非是通訊錄裡的人打電話進來,或者同一個人多次打電話進來,否則不會響鈴,只會震動,防止干擾用戶。這個360和聯想手機已經實現了,360手機助手有這個功能,聯想樂檬手機自帶這個模式,打開就可以了。×

⑤語音接電話。比如你在床上睡覺,手機在書桌上,電話來了,喊一句“幫我接通”就自動接電話並打開免提,適合懶人使用,嘿嘿。很可惜,vivo已經實現了。×

⑥特權用戶可以看到對方正在輸入什麼,當然對方可以設置不讓其他人看。QQ有一個提示,就是“對方正在輸入...”,但是正在輸入什麼內容呢,只有發送了才能知道。如果QQ有這麼一個開關,“聊天時允許其他人查看我正在輸入的內容”,打開的時候,那些會員用戶,就有特權查看正在編輯的內容,每輸入一個字都即時展現在聊天框的上方,直到發送。嘿嘿,說不定某天QQ就出了一個靛鑽,靛鑽用戶才有權查看。唉,沒辦法,進不去騰訊,所以這個功能,還是交給騰訊的開發人員吧。×

⑧管理電腦的APP,這個360快傳好像實現了,連接同一個wifi,可以遠端遙控筆記型電腦,並查看電腦裡的檔,但是好像還不能把手機的東西拷貝到電腦。這個就交給360的開發人員去實現了。×

⑨我最想實現的一款應用:移動分享匯。我個人是比較喜歡聽音樂的,於是突發奇想,在坐地鐵的時候,能不能讓周圍的人也能聽到我正在聽的音樂?當然不是指外放了,這樣會引起公憤的,我的想法是這樣的:通過這個APP,把我正在聽的音樂,以廣播的形式播放出去,附近也使用這個應用的人,可以搜索到附近的所有的信號,點擊則可以聽到我正在聽的音樂了,說不定還能找到志趣相投的好友呢。後面還可以和發射歌曲信號的人聊天,互發檔等等,這個應用,不是挺好的麼。我現在是心有餘而力不足,有志同道合的朋友,可以一起探討下哈。

5.關於鍛煉

最後,當程式師一定要注意鍛煉身體和休息,畢竟生活是根本,不要因為追逐理想而舍本求末!你會認識到一些有趣的夥伴,多爬山、看看電影、和同學朋友們聚會、去看看海、去拍風景照。如此生活才有趣,才能輕鬆應對人生道路的坎坷。共勉、祝福。

Next Article
喜欢就按个赞吧!!!
点击关闭提示