自7日14決定學習Android,開始下載Android SDK算起,到現在已經五月有餘,現把學習情況,向各位CSDNer總結彙報下。
引子
本人自畢業後一直從事對日軟體外包方向的工作,涉及的領域主要是嵌入式應用方法,應用的開發語言主要是C/C++,Java,以及正在使用的MFC,並且期間通過了日語二級考試。由於自08年開始的經濟危機,對日本影響很大,所以對日外包業變得不景氣,業務量明顯萎縮,這也意味著作為一個普通員工的實際待遇下降;而且我們國家在這幾年,經濟迅猛發展,通貨膨脹,物價隨之飛漲,即使收入沒有減少,但不增加的話那意味著生活品質的下降。由於在08年曾經接觸過一個Android項目,雖然項目最後不了了之,但畢竟接觸了過Android,這兩年Android飛速發展,所以最終決定從事Android方面的學習,為以後能夠從事Android方面的工作而努力,從此就利用業餘時間學起了Android。
現狀
經過這幾個月的學習,對Android有了一定的認識,但還是不深刻,不全面,還只限於上層應用方面。做了幾個小應用,用的只是有限的一些控制項,雖然Android的四大組件Activity,Service,Broadcast,ContentProvider,以及SQLlite資料庫也接觸了一些,其實還是沒有深入到更深層次的應用。尤其是沒有修改過系統代碼,只是拿來用,沒有進行最佳化和自訂,原因還是自己太懶惰了,一看不會就沒有深入去研究。
學習自訂控制項,大部分都是根據網上的介紹,修改一些ListView的item定義,增加selecter定義xml檔案等。
畫圖方面,只是繼承View的自訂了一個類,在onDraw裡面畫了一些簡單的圖形。
ApiDemo是個好東西,但自己還是僅僅限於口頭上的口口聲聲說ApiDemo是個好老師,好例子,當並沒有認真的去研究源碼,哪怕是有選擇的去看,除了前不久才在真機上運行了一遍ApiDemo的各個例子外,並沒有深入研究是怎麼實現的。總是想著用到了再看,其實以前都沒有看過又怎麼知道會用到哪個呢?例如說有話ListView的速度,在ApiDemo的List14裡面就是,但自己沒看過,就自然不知道了。
對於手勢識別,IPC,JNI,NDK,AIDL,TCP/IP,WiFI,Bluetooth,Vedio等又完全沒有涉及過,除了運行一下網上的例子外,根本沒有自己動手實現過。好比走過場,看完就忘了,起不到任何作用。
還有就是對UI的要求太低了,沒有好好的最佳化,介面普普通通,缺少華麗的裝飾。大學畢業那麼多年,又是血電腦軟體專業的,到現在還沒有把PS學會,只限於簡單的放大縮小,修改個圖片格式,至少也要學會PS圖片,哪怕不用在程式上,平時照個相也可以自己來處理一下照片,所以PS這個早晚還是要學的。
未來
除了學會學精各個控制項的使用外,還要學會底層的處理,明白Android系統結構,學會編譯系統內容,shell的編寫等等。還有一大堆的東西要學要掌握,需要克服惰性,把Android掌握好。
具體的任務有:
當前是完善音樂播放器的功能,增加按照檔案夾尋找播放,實現歌詞下載和解析,實現音符跳動的動畫效果,這個以前用C++做過,這次在Android上也要實現。
學會處理序間通訊的處理,Broadcast的幾種方法,多線程調度,SQL文的編寫。
以及掌握論壇中sodino等面試題中的內容,早日跨入Android之門。