2012-06-25 65 views
0

我從公司得到了一個沒有文檔的項目。現在我必須添加一些東西到這個項目中,像新增加的功能等等。但我不知道這個項目是如何組織和開始的......有誰知道如何使用這樣的項目?我可以用shema分析嗎?如何在沒有文檔的情況下分析和使用Android項目?

我如何找到此應用程序的起點?

有沒有辦法從A調試到Z?

回答

3

查找範圍的入口點主要活動的清單文件。

雖然其他人可能會使用特定於Android的答案作爲參與,但您應該將此項目視爲「遺留代碼」 - 由其他人創建,缺乏文檔或缺少文檔,並且對最初的實現。

退房Working Effectively with Legacy Code Feathers,如果你想你的問題一本體面的書。同樣相關的,但不是針對Android的,是Rails Test Prescriptions中電子書「Rails Rescue」和「遺留代碼」一章中的建議。雖然Rails相關,但作者的建議直接適用於大多數項目。

一言以蔽之:

  • 獲得版本控制下的項目,如果它是不是已經(如果是,你很幸運,你可以查看提交歷史獲得了感覺東西)
  • 讓測試套件乾淨地運行。沒有測試套件?找一個簡單的測試存根開始
  • 提交自己創造每一個新功能的測試你實​​現

最後,閱讀代碼。你必須咬緊牙關,熟悉實施過程 - 這是沒有辦法的。

+0

我不明確地得到你的觀點與測試套件..你能解釋這一點嗎?並且nope沒有該應用程序的版本控制...:S – MrTouch

+0

Aytac,*在進行任何更改之前,獲取版本控制下的項目*。接下來,教您自己測試Android應用程序和JUnit。 – ybakos

2

起點的應用程序(主要活動)可以在清單文件中找到:

<activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

哪種活動有此意圖過濾器是應用程序

+0

謝謝,這也是有用的,但沒有回答我的整個問題。這就是爲什麼我只能給你一個+1 – MrTouch

0

支票的Manifest.xml的<activity>線應該有人得了

<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 

這哪裏是APK開始

的話,我將在這個類的onCreate()方法開始。您還應該檢查設備啓動時可能啓動的服務。 檢查一個BroadcastReceiver和像這樣

if("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) 
0

正如JesperB說,發現清單中的啓動活動。

然後,我會在調試模式下運行應用程序,然後沿着使用該應用程序的所有內容前進,然後沿着路徑做筆記。

你也可以嘗試運行視圖heirarchy查看器,它也可以提供一些方向。

相關問題