天天看點

Android學習導航線路         PS: 您的個人電腦上一定得有份  Android源代碼,否則何以笑傲江湖 。

        剛學習android基礎,正愁着不知道接下來該怎麼學習android,今天看到了這篇文章,終于将自己接下來的任務明确了,跟着大神走。這裡把原文轉載過來和大家分享。

前言:公司最近來了很多應屆實習生,看着他們充滿信心但略帶稚氣的臉龐上,想到了去年的自己,那是的我是不是也和

   現在的他們一樣呢?現在的我又改變了什麼?公司的給這些實習生指定的相關教育訓練制度還是比較完善的(我可是個菜鳥)。但我反

   過來想,假如是我,我會制定一個怎樣的短期或者長遠的計劃?總結了自己學到的知識,形成了一個學習線路,希望能給予同

   道中人一點兒小小幫助。

      畢業8月有餘,同時伴随着從事Android開發的經驗的提升。仔細思量過去的工作内容,掐指算來也是少得可憐---主要維護FM收

音機子產品,間或看看Lancher子產品的代碼。盡管這樣,總的來說,在這八個月事件的學習裡,我自我感覺收獲還是很大的---自學了很多

Android相關方面的知識。雖然裡真正的大牛還有很遠的一段路程要走,自己也會堅持學習、堅持走下去。

     再次,把自己學習過程中總結的一些經驗總結出來,幫助那些剛剛步入Android的網友以及有了取得了一些經驗但不知如何

 繼續前行的朋友,希望你們能夠早日在Android世界裡看到希望的曙光。同時歡迎各位朋友拍磚。

    另外,本文總結的一些學習線路都是針對于Java上層應用開發的。對中間層相關開發并沒有涉及到。

  一、 基礎篇

         需要掌握的技能如下:

               1、熟練掌握基本控件以及容器控件的使用 ;

                         常用的基本控件有:Button 、TextView、EditText、ListView等

                         常用的容器控件有:FrameLayout、LinearLayout、RelativeLayout等

               2、熟練掌握相關監聽器的注冊和使用:

                         常用監聽器有: OnClickListener、OnLongClickListener、OnItemClickListener等

               3、掌握Log的使用以及分析方法 ;

               4、掌握Activity、Service的生命周期和使用方法 ;

               5、掌握BroadcastReceiver(廣播)的接受和使用   ;

               6、掌握Intent以及IntentFilter的使用   ;

               7、基本掌握資料庫方面知識,包括SQLiteDatabase以及ContentProvider的使用方法

         除此之外,我們必須得掌握adb shell 的使用方法,常用功能有:

                        adb pull 、  adb push 、 adb remount 指令等

         由于shell類同于Linux shell ,我們還得掌握基本的Linux指令等,例如cat、cd 等 。

 知識擷取管道主要為:

                  Android SDK以及網上大牛的部落格。

      附: 關于基礎知識的介紹,國内的一些書籍品質真是相當差勁,味同嚼蠟。強烈不建議在此階段買書籍。

       這時,您已經小有所成了,能夠基本掌握Android開發了。這兒,我推薦一個手把手講解Android項目的視訊:

               zhengping老師講解的,強烈推薦。

                  視訊下載下傳位址:http://www.verycd.com/topics/2847310/

     祝您一臂之力的當然還有Mars老師的視訊了。

     實踐出真知。這個階段,你可以自己編寫一些小Demo了,幫助自己在更深層次發展了。

        PS:我通過看了Mars老師視訊後,編寫了一個簡易的音樂播放器Demo, 感覺挺有成就感的。

  通過前面的學習,我們可以成功進入第二個階段了。

二、 提高篇

        需要掌握的技能如下:

                 1、掌握Canvas類的使用-- 如何繪圖

                 2、掌握消息通信機制---Handler相關類的使用以及原理

                 3、掌握Context類以及實作原理

                 4、掌握View樹的繪制流程  。 View繪制流程很重要,掌握它就基本上掌握了Android核心之一了。

                         4.1、掌握觸摸事件的分發流程--- onInterceptTouchEvent以及onTouchEvent方法流程

                         4.2、掌握相關監聽器的調用機制。例如OnClickListener監聽時怎麼調用的?

                         4.3、能夠編寫自定義View以及ViewGroup

                 5、了解Binder機制----Binder機制很重要,Android的程序間通信都是靠它完成的。掌握它,才能夠好的完成接下

                    來的學習。

                 6、基本掌握ActivityManagerService類的使用,主要掌握的知識點包括如下:

                          6.1、startActivity()流程,即啟動一個Activity的流程  ;

                          6.2、startService()流程,即啟動一個Service的流程 ;

                 7、基本掌握PackageManagerService類的使用,主要掌握的知識點包括如下:

                          7.1、開機時如何解析所有已安裝應用程式的Apk包的資訊

                          7.2、Intent以及IntentFilter的比對規則以及解析過程

                 8、基本掌握View添加至視窗的過程---即WindowManagerIml 、WindowManagerService類的用法

    知識管道:

                      網上相關大牛的部落格。 (我這一畝三分地也有點貨咯。(*^__^*) )

                   必備書籍: <Android核心剖析>

                           Android源代碼一份

         PS: 您的個人電腦上一定得有份  Android源代碼,否則何以笑傲江湖 。

  三、 進階篇

            1、基本了解SystemServer類加載流程以及WatchDog的功能

            2、more......

         我也還是個小菜鳥,更多的就不知道咯。希望以後能夠完善起來。和大家共同成長。

      最後,我總結的一些學習知識點隻是一個提綱挈領,幫助大家學習成長的點或者線。例如:我負責通訊錄子產品,當然得把資料

庫方面知識弄得一清二楚啊。不然,公司要我何用。是以大家在學習的時候,找出更适合自己的點。

      有些人可能會想,工作中我用不到,學它幹嘛?再次也規勸大家在工作之餘,給自己充充電,多學點知識隻有好的沒有壞的。

      希望大家每天能進步一點,成長一點,接近心目中的那個天空更近一點。     

   前面說的部落格,在此推薦兩個我常去的吧:

        1、   應用方面,主要是魏祝林的csdn部落格 :http://blog.csdn.net/Android_Tutor 。 但他的部落客要是以代碼為主,

            需要自己結合源代碼揣摩 。

        2、   架構方面,主要是老羅的csdn部落格 : http://blog.csdn.net/Luoshengyang/ 。  但他的部落客要是以流程分析

            為主,  而對 流程 需要的前期準備知識介紹不足,初步看起來比較難以了解,是以,買本《Android核心剖析》是必須

            的,可以參考源代碼仔細領悟, 強烈推薦該書籍。

    由于網絡上Android源碼不太好找,特此共享下Android部分源碼,主要包括架構層、中間層、以及一些App等,對上層開發

和中間層開發還是很有益處的:

           源碼對應目錄:                            下載下傳位址:

           frameworks             http://115.com/file/dpna22jr#frameworks.rar

           packages                http://115.com/file/dpnay9ug#packages.rar

           kernel                     http://115.com/file/anqptq4l#kernel.rar

           ndk                         http://115.com/file/c2libfmk#ndk.rar

           system                   http://115.com/file/beh14i2o#system.rar

   //Attention:    由于115網盤關閉了大衆分享功能,僅僅好友之間可以共享, 各位朋友隻需要加我為好友即可

   //                                     1、打開上面連結位址; 2、添加我為好友即可; 

   //                       我的115賬号目前是允許所有人添加我為好友的。

      由于我上115網絡不給力,導緻很多時候都耽擱了大家的期望。我申請了一個小号,希望大家能夠自由下載下傳,以後我也會把

  東西都放在這個小号裡的。由于這個小号是用手機号碼注冊的,大家也不要修改了,同時希望大家不要人肉我啊。

             ID : 85699022

            密碼:csdnqinjuning 

   分享檔案在我的網盤裡,即可下載下傳。

       Good luck to U ! 

轉載于:http://blog.csdn.net/qinjuning/article/details/7416208