[英]How to implement multiple categories in a Java data structure?
我正在嘗試在 android 中為模擬送餐應用程序實現類別。
我想為餐廳設置類別,如漢堡、比薩等。每個類別中可能有任意數量的食品。 這些餐廳將包括 n 個類別。 我該如何實現這樣的事情?
目前,數據將被硬編碼到程序中,僅用於概念驗證,因此請不要包含數據庫,因為我仍在學習 android 並且對 SQLite 或 FireBase 等不太熟悉。
這取決於您要如何訪問數據。 您可以將Category
FoodItem
Enum並將其分配給FoodItem
,然后讓Restaurant
具有FoodItems
的ArrayList。
要么
您可以使用FoodItems
的ArrayList來使Category
為類,並讓Restaurant
具有Categories
的ArrayList。
根據您的概念,您似乎將集成任何Web API (REST或其他諸如Firebase)以從Web服務器獲取數據。
我建議執行以下操作:
創建一個.json文件 ,其中包含您可能需要顯示的內容。
制作一些與您需要解析的.json文件相關的模型數據類 。
現在,從Assets文件夾中臨時讀取.json文件,以充分利用內容(然后在應用程序中顯示) 。
這樣,如果您必須在不久的將來進行一些JSON解析 ,那么您已經擁有解析JSON所需的所有內容(例如您的數據傳輸對象DTO )以及用於解析的代碼。
因此,那時,您要做的就是集成一些HTTP客戶端和設置端點,因為您已經在端進行JSON解析或使用Firebase進行了設置(其他東西已經處理完畢) 。
EnumSet類可能會有所幫助。 這是存儲一組枚舉類型的值的有效方法。 鑒於該類提供了從1-5個任意元素創建此類集合的簡單工廠方法,因此它特別適合N <= 5
。 例:
public class Restaurant {
enum FoodType { BURGER, PIZZA, RAMEN };
private final EnumSet<FoodType> foodTypes;
public Restaurant(FoodType type1, FoodType type2, FoodType type3) {
foodTypes = EnumSet.of(type1, type2, type2);
}
public Restaurant(FoodType... foodtypes) {
// Various options
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.