於是就會需要improt其他專案檔或是封裝好的jar檔。
這有許多好處:
- 避免重複開發:
自己或是有找到已經開發過的系統,我們可以直接引用來使用,
加快開發的時間。 - 專職分工:
在合作開發上,每個人負責一個獨立的需求的系統,
由team leader或是專職負責的人來進行整合的工作。
此時將它做成專案檔或是jar檔就很有用了,
如果配合上足夠的java doc,對於公司或是開發的同步速度上會有很大的幫助。 - 分享:
就像是工具箱的功能,網路上也有許多神人與強者分享自己所開發的jar檔,
這真的很偉大,尤其是有許多朋友提供了其中的source code給大家進行更多優化,
未來我們也應該要多做這樣的事情來貢獻軟體產業才是。
所以,在合法使用的前提之下,我們可以盡量import專案或是jar檔來達到快速達到功能需求的目的。至於我為什麼會一直提到"improt專案和jar檔"呢?
因為目前我知道的有兩種方法可以避免重複創作輪子:
- jar檔:
副檔名為".jar"的單一檔案,其中大多為許多class,為實現特殊需求所創作出來的工具箱,
之後我們會有個簡單的範例來教學如何import jar檔。 - 專案檔:
我想如果有開發過google map api for android v2的朋友應該會有印象,我們會add一個google所開發的專案作為lib。我們也可以自己製作一個完整的專案來讓其他專案import呢!
順道一提,.jar檔基本上如果沒有擾碼,其安全性是非常低的,
可以使用反組譯的方法來看到其中的source code。
不過如果正常使用的範圍,基本上是不需要這樣操作的,
而通常我們自己做的工具箱不太會需要把它封裝成.jar檔,
大多是設定為"Is Library"來作為讓其他專案引用的接口。
可以使用反組譯的方法來看到其中的source code。
不過如果正常使用的範圍,基本上是不需要這樣操作的,
而通常我們自己做的工具箱不太會需要把它封裝成.jar檔,
大多是設定為"Is Library"來作為讓其他專案引用的接口。
好,說到底,方法很簡單。首先我們來實作怎麼樣import .jar檔案:
- 首先,把.jar檔放到"libs"資料夾中,這不是最重要的。
等等我們會設定參考位置,你也可以放在外部資料夾中,
這樣的話要注意所放置的位置必須不能改變,要不牽一髮而動全身呀。 - 接著看圖片:
- 對著專案案右鍵,選擇Properties:
- 然後如果你是放在"libs"資料夾中的話,參考位置的設定依照下列步驟:
- 如果是放在外面,可以選擇右邊第二個"Add External JARs.."選項,
選擇外部的檔案來使用。 - 如果完成的話,會發現我們可以開始使用.jar檔裡面的class啦!
至於有件很重要的事情便是:"該怎麼知道裡面有什麼東西?"
這時我們除了對他反組譯之外,在下載時所看到的doc或是範例就很重要了。除此之外,我們也可以直接用檔案名稱來google,通常也可以找到相關的說明文檔。例如之前分享過的專案(see: 說說,關於文件匯出至Excel檔案中。)可以直接搜尋"jxl.jar",會找到一些相關的資料。
嗯嗯..我還是建議放在"libs"的資料夾中,話說這個資料夾在以前稱之為"lib",在2012年大概六月底左右eclipse的android ADT改版,當時除了create new project的流程大改之外,也改了一些結構的部分,所以如果當時有更新這波流行個開發者們會突然發現之前的project都不能run了,主要就是原本import的jar檔連結斷掉,不過解法其實很簡單,只要稍微改資料夾名稱就好哩。
然後接下來,是開發project透過import來引用的作法。
這我覺得還滿重要的,因為我們常常同時一起開發一個專案,如果我是PM或是team leader,我應該怎麼管理RD的工作方式,以能夠有最好的效率呢?
目前我的解如下:
目前我的解如下:
- 將目前規劃的app依照需求功能切分和分類的動作。開始進行功能實現調查的動作。
- 功能調查完畢,我們應該會獲得所有功能完整的實作參考,甚至是demo。
- 此時便開始分工了,leader開始建構主程式的架構部分,實做出接口。
- 其他人同步開始將所負責的功能做成project,並且依照架構提供接口。
- 此時會架構出工具箱,提供未來開發需求時使用。
- 最後leader或是負責整合的夥伴,依照其他人所提供的project與doc來進行整合的動作,將系統完整建構出來。
- 依照該app的case進行最後修改的動作,例如刪除工具箱中不需要的功能,或是依照特殊的需求整理project的function。並且最最後壓力測試。
- 可靠度測試完成後,將app上線!
真的是完美的如意算盤。當然如果整個case只有一個人來做的話,這一切就只有一個人來弄了。
其中第2點和第3點的步驟中,我們將project設定成可以給其他夥伴使用的project,關鍵在這裡:
該project的Properties之中,設定為一個library用途的project,
而在main project中,要按下Add來選擇之前所設定的project,示意圖如下:
而在main project中,要按下Add來選擇之前所設定的project,示意圖如下:
這和import .jar檔有什麼不一樣呢?
- 他是android獨特的import方法,可以用來import android相關的應用,包括了Activity和Service等相關類別。
- 因為是直接import編輯檔,所以可以一邊使用一邊檢查/修改所import的project。
不過要注意,當library project修改過後,main project需要Refresh(按F5)過後才會重新更新鏈結,達到更新的效果。 - 系統功能分類會更加明確,可能不同的功能會需要相對應不同的res資料,透過這個方法我們可以將工具箱所需要的res資源分類的更好,但是另外一面來看我們也會發現可能會造成app檔案太大的問題,所以在最後才會需要有所整理的動作。
以上,個人認為import project非常好用。而以上提供兩種方法,希望對大家有所幫助。
沒有留言:
張貼留言
你好,我是小書,如果文章內容有錯誤,或是看到有建議以及任何感想時,歡迎提出分享,我們一起學習一起努力。