2011-09-08 165 views
5

我需要爲我的應用程序創建一個架構設計。需要設計一個Android應用程序的架構設計

應用詳細信息:在我的應用程序中,我顯示了一些從服務器獲取的數據。所以基本上當你啓動應用程序時,你會得到一個類別列表,當你點擊一個類別時,應用程序使用REST調用Web服務並獲得JSON響應。得到響應後,解析JSON數據以創建對象的Arraylist,最後一個適配器在列表視圖中顯示這些數據。這是我想到的

包裝結構:

com.app.activities:包含所有應用程序所需的活動。

com.app.customviews:該應用程序需要定製視圖。

com.app.adapters:不同的列表/網格適配器可以創建不同類型的列表和網格視圖。

com.app.parsers:包含解析從服務器收到的JSON響應的所有解析器類。這些類基本上會將數組列表返回到適配器類將用於創建列表和網格視圖的活動。

com.app.utils:包含其用於通過從應用功能等用於獲取從服務器的請求的響應,從InputStream得到一個字符串函數,從特定URL下載的圖像,記錄等

com.app.model:包含所有用於各種用戶定義數據類型的模型類。

應用程序的工作流程:當選擇某個類別,activity會從utils響應並將其發送到parsers得到Model類型的ArrayList。現在,這個數組列表被傳遞給adapters,它返回一個適配器對象,最終用於顯示activity中的列表/網格。

現在根據應用的架構,你的代碼應分爲以下三個層次:

  1. 表示層
  2. 業務層
  3. 數據層

現在我需要知道,根據我的申請哪部分屬於哪一層。

請幫忙,我完全不知道這件事。

謝謝!!

更新:在谷歌上搜索我偶然發現了這個鏈接:

http://apparchguide.codeplex.com/wikipage?title=Chapter%2019%20-%20Mobile%20Applications

它說,你的應用程序應該有一定的工作流程,業務組件,實體等。

所以,我認爲我目前的包裝結構是不正確的,因爲我只在活動中做大部分事情。

所以現在,我的問題是:如果我遵循這種架構,應該是什麼包結構或如何設置我的代碼庫。

回答

0

您的應用程序僅用於演示文稿嗎?業務層在服務器中實現,因爲您不更改數據,只顯示它。 對於我來說,模型是在數據層,其餘的都是演示文稿。

0

你的UI的應用程序是,你可以說它的表示層。在業務層中,您可以使用REST和JSON Web服務執行操作。數據層駐留在服務器上。所以基本上你使用一些服務(Business)來顯示列表視圖(Presentation)以從服務器(Data)獲得結果(信息)。