自學Android到什么程度才能找到工作?
其實不管你是自學的還是培訓的,是在校生還是畢業(yè)生,最終都逃離不開這個話題,不管你是找實習工作還是全職工作,性質(zhì)都一樣。今天我就來給大家詳細說下自學 Android 到什么程度才有資格找到一份說得過去的工作!
1、Java基礎(chǔ)
Java語言其實應(yīng)用很廣泛,對于Android開發(fā)來說只需要你掌握 Java SE 就夠了,尤其對于一個Android初學者只需要掌握Java基礎(chǔ)就行,這包括哪些呢?我粗略的列了下,主要包括:
Java基本語法、面向?qū)ο笙嚓P(guān)的基本概念與思想,常用String類的api,異常處理,IO基礎(chǔ),容器,多線程,內(nèi)存管理與垃圾回收, 知道并***知道幾種常見的 Java 設(shè)計模式等,建議可以找些網(wǎng)上Java面試寶典之類的文章,熟悉下面試常遇到的一些Java知識點,一般都是Java基礎(chǔ)。
2、Android基礎(chǔ)
Java 如果算基礎(chǔ)中的基礎(chǔ),那這部分才是你找工作的核心技能,畢竟你要從事的是Android開發(fā),所以Android基礎(chǔ)一定要牢固,這部分包括:
Android基礎(chǔ)UI控件的熟練掌握,也就是指 Button、TextView、EditText、CheckBox、RadioButton、ImageView、Spinner、ProgressBar、SeekBar、ListView、RecycleView、ScrollView等,可能不全,以上只是一時想到的,可自行補充。
Android四大組件的理解與熟練掌握,四大組件就不必說了吧,具體掌握到什么程度呢?如果我問到「Activity的生命周期」你還支支吾吾的那我就沒心情繼續(xù)問下去了,其他一些如Activity的四種啟動模式,F(xiàn)ragment的生命周期、Fragment與Activity之間的關(guān)系,BroadcastReceiver、ContentProvider、Service的使用場景與具體用法,更細節(jié)點的如 BroadcastReceiver 的廣播類型與不同的注冊方式的區(qū)別等都應(yīng)該關(guān)注并理解到位。
動畫相關(guān)也是必須掌握的,不管是矢量動畫還是屬性動畫的api都應(yīng)該熟練,一些簡單的動畫應(yīng)該隨手就能寫出來才行。
自定義View得會吧?這個在實際的開發(fā)中經(jīng)常遇到,因為基本的那些UI控件不可能完全滿足你的需求。
Sqlite與SQL語句得掌握吧,數(shù)據(jù)庫雖然說在客戶端開發(fā)上只有特定的業(yè)務(wù)或者場景才用得到,但是SQL語句這是基礎(chǔ),基本的操作sqlite相關(guān)的api也必須要掌握。
常見的數(shù)據(jù)格式與解析方法得了解吧,雖然目前常用的數(shù)據(jù)格式就是json,解析庫也有很多,如Gson、Jackson、Fastjson等。
網(wǎng)絡(luò)編程相關(guān)的基礎(chǔ)知識要掌握,如http協(xié)議相關(guān),如http method, status code, request & response, http cache, request header, params等,Android請求網(wǎng)絡(luò)相關(guān)的api,雖然現(xiàn)在成熟的網(wǎng)絡(luò)請求庫很多,但是自己應(yīng)該試著用 HttpUrlConnection 封裝一個網(wǎng)絡(luò)庫,哪怕封裝的很爛,自己也要嘗試著寫一下。
還有...暫時想不到了,以上都是隨手想到的,后面如果再想到就補充下。
3、項目經(jīng)驗
其實大部分人都覺得自己的基礎(chǔ)掌握的還算可以,但是為什么就找不到一份工作呢?其實項目經(jīng)驗這個才是很關(guān)鍵的,因為編程行業(yè)是一個非常注重能力的行業(yè),你理論基礎(chǔ)掌握的再好,沒有實踐驗證都是不可靠的。
那有些人又說了,我一個自學的,或者一個在校生,沒有工作過哪來的項目經(jīng)驗啊?那你就錯了,項目經(jīng)驗并不單純指工作中的項目經(jīng)驗,你自己完全可以寫一個業(yè)余練手項目,這都可以算作項目經(jīng)驗。
但是這些練手項目哪里來呢?我只會寫Android,其他都不會啊,哪那么容易就寫一個項目出來了?
在現(xiàn)在這個時代隨便寫一個項目練手還真的非常容易,現(xiàn)在有各種開放的api,你完全不用關(guān)心后端數(shù)據(jù)問題,舉個例子,新浪微博有api,我就基于新浪微博api寫個簡單的微博客戶端,有多簡單呢?我甚至只能查看微博,其他啥都干不了,完成了查看這一步,再接著慢慢完善其他功能,不要覺得寫一個微博客戶端遙不可及。如果微博需要登錄授權(quán),可能稍難點,有更簡單的直接讀取數(shù)據(jù)的,如知乎日報,如對糗百進行數(shù)據(jù)抓包,寫一個糗百的簡易客戶端,這類就完全不用授權(quán),再比如我寫個天氣的客戶端,關(guān)于天氣現(xiàn)成的接口不要太多。
至于我怎么知道有哪些現(xiàn)成的api可以直接用?就知道你要問這個問題,給你找好了,百毒有個api store,收集了太多可以直接用的開放api,地址:http://apistore.baidu.com/
(PS:別借機黑我,抵制百毒不代表百毒的所有東西都是垃圾,有一說一,這個 api store 對開發(fā)者來說還是蠻不錯的!)
***,可能不是特別詳細,如果我有時間,我甚至都想搞份超詳細的教程課表給你們,可惜精力真的有限,沒那么多時間去做。但是大的方向絕對ok的,如果你掌握了以上列舉的基礎(chǔ),然后又自己從頭到尾做了一個還算完整的項目,相信我,找到一份實習或者工作很輕松。如果你沒找到,那可能只是運氣跟機會的問題罷了,自己有能力完全不用擔心,只是機會還沒到,缺的只是時間而已!
最***覺得本文對你有幫助再贊賞,這是我堅持原創(chuàng)干貨分享的***動力,但是贊賞的人不承諾有任何福利,請慎重!
本文由51CTO專欄作者stormzhang原創(chuàng),作者微信公眾號: AndroidDeveloper。
























