序言
2013年已經和我們告別瞭,迎來瞭2014年,從來上海到現在將近一年的時間瞭,感觸也頗深。自從選擇從事軟件開發,到現在感覺至少還是我喜歡的工作,雖然中間遇到瞭很多困難,還是學到瞭不少東西。android作為現在手機系統占有率最多的系統,至少在目前,工作飯碗不會出現問題。但是,作為一名技術人員,就得不能滿足對知識的追求,因為技術是在不斷的更新,我們隻有不斷的學習,不斷的 完善自己,才能使自己在這一片天地中有一席立足之地。我一直告誡自己要不斷的去學習、去完善自己。作為一個剛畢業的人來說,前三年工作最重要的還是學習,邊工作邊學習,隻要這樣才能提升自己。工作當中也是最能提升自己的,隻有不斷的總結,才能深刻的發現問題,找到解決問題的關鍵所在。相信,每一個人都有自己的夢想,但是隻有走好眼前每一步,才能離自己的夢想更近……
眼看年假也快到瞭,這一年真的就要告別瞭,手頭上工作也不是很多,就打算系統的總結一下android開發中涉及到的一些知識。一方面和大傢交流分享,另一方面也可以不斷的提升自己。所以就打算寫一個系列的博客“android淺析”,由於本人技術有限,也隻能從簡單的方面和大傢交流。每一年的三四月份也是找工作的高潮,相信會有很多的新人步入android的行業來,在博客當中將會對在面試android初級工程師中遇到技術問題一一 說明,希望能幫助一些朋友!
項目文件結構目錄分析
上面說瞭一些閑話,還是趕緊如題吧,今天我們主要介紹一些關於一個android項目文件的結構目錄。這使我想起來,當年在求職面試時,有一次一個面試官問我:你知道res文件夾裡面放的是什麼文件?圖片文件放在那裡,不同分辨率的文件怎麼存放?清單文件作用是什麼,你是怎麼理解的?相信這些問題,通過今天的博客,你就會找到合適的答案。
在此我們新建瞭一個helloworld的項目,先看一些目錄結構:
這麼多的文件夾和文件中,我們重點關註是res目錄、src目錄、AndroidManifest.xml文件:
一、res目錄主要是用來存放android項目的各種資源文件,res就是resource單詞的縮寫。該目錄幾乎存放瞭android應用所用的全部資源,包括:圖片資源、字符串資源、顏色資源、尺寸資源,以及佈局文件等。不同的文件存放在不同的目錄當中,在res目錄下面又有下一級目錄:
1、layout目錄主要是存放佈局文件,比如主界面佈局文件main.xml就在這裡面。我們在頁面中加入一個textview控件:
2、menu目錄主要是存放菜單文件,現在在android開發中使用菜單不是很頻繁,比如手機很多軟件在點擊菜單按鈕是彈出來的對話框的佈局就是放在這個目錄當中。
3、valus目錄主要是存放一些數值,比如字符串資源存放在strings.xml中:
HelloWorld Settings Hello world!
顏色資源存放中colors.xml中:
#ff8B7355 #ffC6E2FF
尺寸資源放在dimens.xml文件中:
16dp 16dp
主題樣式存放在styles.xml中:
4、圖片資源:由於圖片資源要考慮到不同分辨率的圖片,所以就要把不同的圖片放到不同的文件目錄中,系統會根據手機分辨率去調用適合的分辨率圖片資源。drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi這四個目錄分辨存放低分辨率、中等分辨、高分辨率、超高分辨率的圖片資源。在實際項目中,我們一般會自己新建一個drawable目錄用於存放控件在不同狀態實現的不同效果,比如按下、選中、松開等狀態。大傢可以在實際項目中操作一下。
二、src目錄隻是一個普通的、存放java資源文件的目錄。一般我們會建很多的包,不同包名下存放不同的java文件,比如:服務、廣播、活動等我們區別放。之前的博客手寫簽名系統系列,我們就做瞭很詳細的區分:
這樣可以使項目的架構更加的清晰,無論是後期維護還是前期的開發都更加的方便瞭。養成這個習慣是非常有必要的。
三、AndroidManifest.xml文件:這是android項目的系統清單文件,也是整個android應用的全局描述文件。清單文件說明瞭android應用的名稱、所使用的圖標以及包含的組件等,主要包括:
1、應用程序的包名,該包名將會作為該android應用的唯一標識。
2、應用程序包含的組件,如activity、server、broadcastreceier、contentprovider等,這個就告訴我們在新建一個類繼承這些組件時,我們要在清單文件中進行註冊一下,否則應用程序在執行時會報錯,無法找到相應的類。
3、應用程序兼容的最低版本。
4、應用程序使用系統所要獲取的權限,比如你要向sd卡中寫入文件就要加入:
值得註意的是,相應的權限沒有獲取,在應用程序執行時會報錯或者不執行。android中權限很多,這裡就不一一列出瞭。
5、其他應用程序訪問該程序所需要的權限。
項目中除瞭res、src以及清單文件,我們簡單瞭解一些其他的文件目錄:
1、gen目錄:保存自動生成的、位於android項目包下的R.java文件。
2、bin:存放自動生成的二進制文件、資源打包文件以及dalvik虛擬機的可執行文件等。
3、libs:存放引用的一些java包,比如第三方的java包。
好瞭,到此就把一個android項目的文件目錄介紹完瞭,具體還是需要我們自己新建一個項目,去實地的體會每一個目錄的實際作用。今天的介紹就到這裡,歡迎大傢繼續關註……