freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于android手機的酒店點菜系統(tǒng)的設計與實現精要-資料下載頁

2024-11-04 11:05本頁面
  

【正文】 括:顧客姓名、桌位號、價格 D2 顯示的申請信息包括:顧客姓名、桌位號、價格、日期等信息 補充約束 非功能需求 可擴展性:目前的支付方式只有現金 支付,可預見的變化時以后考慮通過銀行卡或支付寶進行網上支付 待解決的問題 (暫無) 相關圖 (暫無) 當顧客在酒店用完餐后,需要到吧臺進行結賬,吧臺的服務員根據顧客在酒店的消費,從系統(tǒng)中查詢出顧客消費的賬單,然后打印出賬單,顧客根據賬單進行結賬。具體的支付過程如表 35 支付用例文檔所示。 武漢工程大學 畢業(yè)論文 24 數據庫的設計 數據庫對于一個應用程序來說非常重要,特別是有大量數據需要處理和存儲的應用程序,它可以實行數據的結構化和統(tǒng)一化處理,數據的共享性高,同時冗余度較低。無線點餐系統(tǒng)有了數據庫的支持,便可 以方便和高效的存儲和處理數據。整個無線點餐系統(tǒng)分為兩塊, Android 客戶端和服務器端,它們之間進行數據的交互,則就需要良好的數據庫的支持,一個好的數據庫的設計也會給應用程序帶來很好的支持,用戶用過應用程序能夠快速準確到找到自己想要的信息。 基于 Android 的無線點餐系統(tǒng)的客戶端,即 Android 端采用的是 Android 操作系統(tǒng)自帶的 SQLite 數據庫, SQLite 數據庫還大多數的關系型數據庫一樣,能夠實現數據的增、刪、改、查等功能,將一些數據保存在 Android 操作系統(tǒng)自帶的 SQLite 數據庫中,這樣可 以一定的提高應用程序訪問數據庫的時間,從而可以提高應用程序的運行效率。而對于服務器端,采用的則是 MySQL 數據庫, MySQL 也是一種關系型數據庫。服務器端通過 JDBC 連接 MySQL 數據庫,系統(tǒng)的主要數據如菜品、菜品的價格等信息是存放在MySQL 數據庫中的。當 Android 客戶端發(fā)出請求時,通過 Http 協(xié)議,服務器端接收到到請求,然后服務器端在和 MySQL 數據庫進行數據的交互,最后服務器端把數據在傳輸到 Android 手機上,用戶通過 Android 客戶端看到自己想要的數據。 桌 位桌 號I D 編 號描 述標 志服 務服 務 人 員用 戶 密 碼用 戶 名 稱I D 編 號1n 圖 服務人員 桌位關系圖 武漢工程大學 畢業(yè)論文 25 菜 名圖 片標 號菜 品 類 型價 格包 含訂 單 明 細數 量備 注I D 編 號1n描 述對 應訂 單是 否 結 賬客 戶桌 號時 間I D 編 號人 數備 注n1 圖 菜品 訂單 訂單明細關系圖 下面介紹根據系統(tǒng)的需求設計的幾張表: ( 1) 用戶表,用戶表是供用戶登錄系統(tǒng)所使用的表,表的結構以及相關說明如表36 所示: 表 36 用戶表 序號 字段名稱 字段含義 類型 大小 說明 1 id 主鍵 Int 10 自動增加 2 account 登陸賬號 Varchar 20 3 password 登錄密碼 Varchar 20 4 name 姓名 Varchar 20 5 permission 權限 Int 10 14 代表不同 6 remark 備注信息 Varchar 100 用戶如果登陸的時候,輸入的賬號和密碼不能與數據庫中的信息所匹配的話,那么用戶將登陸失敗,無法進入系統(tǒng)界面。在權限一欄, 1 代表經理, 2 代表顧客, 3 代表廚師, 4 代表服務員。 ( 2) 菜譜的分類表,不同的菜品都有屬于自己的分類,例如涼菜、熱菜、酒水等等,表的結構和相關說明如表 37 所示: 武漢工程大學 畢業(yè)論文 26 表 37 菜譜分類表 序號 字段名稱 字段含義 類型 大小 說明 1 id 主鍵 Int 10 自動增加 2 name 分類名字 varchar 20 菜品的分類 ( 3) 菜譜表,菜譜表存放的是菜品的信息,比如菜品的名稱、菜品的價格、菜品所屬的分類等。表的結構和相關說明如表 38 所示: 表 38 菜譜表 序號 字段名稱 字段含義 類型 大小 說明 1 id 主鍵 Int 10 自動增加 2 typeID 菜的類型 Int 10 外鍵 3 name 名稱 Varchar 20 4 price 價格 Int 10 5 pic 圖片路徑 Varchar 100 6 remark 備注 Varchar 100 ( 4) 餐桌表,餐桌表記錄的是餐桌的信息,具體指的是餐桌是否有顧客就座。表的結構和相關說明如表 39 所示: 表 39 餐桌表 序號 字段名稱 字段含義 類型 大小 說明 1 id 主鍵 Int 10 自動增加 2 num 桌號 Int 10 3 flag 餐桌狀態(tài) Int 2 0:空, 1:有 4 description 描述 Varchar 100 Flag 是一個標志位,用來記錄桌子是否有顧客, 0 表示這個 桌子現在沒有顧客就餐,1 表示這個桌子現有有顧客就餐。 ( 5) 訂單表,訂單表示顧客點完菜單后,提交給服務器是生成的信息,它記錄了顧客訂單的時間、人數、桌號等等。表的結構和相關說明如表 310 所示: 武漢工程大學 畢業(yè)論文 27 表 310 訂單表 序號 字段名稱 字段含義 類型 大小 說明 1 id 主鍵 Int 10 自動增加 2 orderTime 下單時間 Varchar 20 3 userID 下單用戶 Int 10 4 tableID 桌號 Int 10 外鍵 5 personNum 人數 Int 10 6 isPay 是否結算 Int 2 7 remark 備注 Varchar 100 表中的 tableID 外鍵引用桌號 ID, isPay 一欄表示的是顧客是否結算賬單,如果結算了,則用‘ 1’表示,未結算就用‘ 0’表示。 ( 6) 訂單明細表,訂單明細表也是顧客點完菜單后生產的信息,一桌客人可以有多個訂單明細表,即點了多次菜,所以客人和訂單明細表示一對多的關系。表的結構和相關說明如表 311 所示: 表 311 訂單明細表 序號 字段名稱 字段含義 類型 大小 說明 1 id 主鍵 Int 10 自動增加 2 orderId 訂單號 Int 10 引用訂單 id 3 menuId 菜單號 Int 10 引用菜譜 id 4 num 數量 Int 10 5 remark 備注 Varchar 100 訂單明細表儲存的是顧客點的菜品的種類、名字和數量,這個表中有兩個外鍵,分別和訂單表、菜譜表關聯(lián), remark 一欄可以供用戶備注一些與訂單有關的信息,靈活的處理一些突發(fā)狀況。 武漢工程大學 畢業(yè)論文 28 武漢工程大學 畢業(yè)論文 29 第四章 詳細設計 本章的內容主要是對代碼實現部分的具體分析。整個系統(tǒng)的功能包括用戶登錄、顧客點餐、顧客修改點餐信息、顧客提交點 餐信息、修改菜譜、結賬等功能。本章將對這些功能是怎樣實現的有具體的分析。系統(tǒng)整體分為客戶端與服務器端,客戶端與服務器端進行數據的交互,服務器端進行對數據庫的訪問,然后將訪問到的信息再發(fā)給客戶端,最后用戶通過客戶端可以看到具體的數據信息。 登錄的實現 登錄是系統(tǒng)所有的功能的開始,當用戶想進入系統(tǒng)時,首先便得進行系統(tǒng)登錄的操作。首先在工程的 res\layout 的目錄下,創(chuàng)建一個名詞為“ 的布局文件。布局文件整體上使用的是一個 LinerLayout 的布局,內層嵌套一個 TableLayout 的布局。外面的 LinerLayout 選擇排列方向 orientation 是 vertical,即選擇的是垂直排列,對于它的 width 寬度屬性和 height 高度屬性,這里都選擇 fillparent 設置,就是充滿整個屏幕的意思,而它的背景 background 屬性把它設置成自已放在 res\drawablehdpi 中的 login 圖片,設置的代碼為 android:background=“ @drawable/login”,這樣背景的顏色就是我們自定義的圖片了。對于內嵌的 TableLayout 布局,寬度和高 度也設置為 fillparent。TableLayout 中有一個屬性叫 stretchColumns,它影響了子對象的布局,通過這個屬性的設置可以標記某些列為拉伸列,標記為拉伸列后,列寬可以拉伸以占用多余的空間。登陸界面中的 xml 中的 TableLayout 的 stretchColumns 設置的是 1,它的意思是將所在行的第二列設置為擴展列。 TableLayout 中定義了兩個 TextView 用來顯示用戶名稱和密碼、兩個 EditText 用來輸入用戶名稱和密碼,兩個 Button 用來登錄系統(tǒng)和取消登錄。 在 文件中,在類的頂部聲明用到的 EditText 和 Button 組件,在onCreate() 方法 中調 用 setContentView() 方 法設 置布局 視圖為。通過 findViewById()方法實例化 EditText 和 Button 對象,然后為取消按鈕和登錄按鈕設置監(jiān)聽器,在它們的監(jiān)聽器中重寫對應的 onClick()方法。在取消按鈕的 onClick()方法中調用 finish()方法,當用戶按下取消按鈕的時候,登錄操作就會取消 ,然后退出系統(tǒng)。在登錄按鈕的 onClick()方法中首先用 if 語句判斷調用 validate()方法,這個方法的作用是對用戶所填寫的登錄名稱和登錄密碼進行非空驗證,如果用戶輸入的登錄名稱和登錄密碼有一個是空值的話,那么系統(tǒng)就會彈出一個對話框,告訴用戶這兩項其中有一項沒有填,需要填寫。如果用戶填寫的用戶名稱和用戶密碼都不是空值的話,就會調用 login()方法。而在 login()方法中,調用了 saveUserMsg()方法將用戶信息保存到配置文件中,該方法又調用了 query()方法, query()方法的功能是想服 務器發(fā)送用戶填寫的登錄名稱和登錄密碼,然后由服務器返回查詢結果,如果查詢無誤,就會從LoginActivity 傳遞一個 intent 消息給 MainMenuActivity,最后進入了主菜單界面。 為了實現登錄功能, Android 需要通過網絡訪問后臺的數據庫進行數據查詢操作。武漢工程大學 畢業(yè)論文 30 Android 訪問網絡的實現方法有很多,如 Web Service、 HTTP、直接使用 WebView 瀏覽器。 Android 集成了 Apache 的 Http Client 模塊,這樣使得用 HTTP 訪問網絡數據成為;了一種可能。在這個無線點餐系統(tǒng)中,我 使用的是 HTTP 訪問網絡。 HTTP 是請求 /相應的一種機制,代碼中定義了一個工具類 HttpUtil 來獲得 HttpRequest 對象和 HttpResponse對象,以及發(fā)送 get 和 post 請求獲得返回的 response 信息的方法。對于 Android 應用程序,想要讓程序能夠訪問網絡資源,則需要要配置文件中賦予應用程序訪問網絡的權限。配置的代碼如下: android:name=,將此段代碼寫在。 定義了基礎的 URL 為 BASE_URL=在客戶端的 query()方法中設置的 url為 : // 根據用戶名稱密碼查詢 private String query(String account,String password){ // 查詢參數 String queryString = account=+account+amp。password=+password。 // url String url = +servlet/LoginServlet?+queryString。 // 查詢返回結果 return (url)。 } 對于 get()方法和 post()方法來說,它們之間是有一定的區(qū)別和聯(lián)系的。 Http 定義了與服務器交互的不同方法,最基本的方法有 4 中, get(), post(), put(), delete()。 get()是從服務器上獲取數據, post()是向服務器傳送數據。 get()安全性非常低, post()安全性較高,但 是執(zhí)行效率卻比 post()方法好。 后臺的服務器實現采用的是 JDBC 訪問后臺數據庫, Servlet 響應 HttpRequest 請求,并返回響應的結果。因為這個程序訪問的是 MySQL 數據庫,所以要添加 MySQL 的驅動包“ ” 。 把 這 個 jar 文 件 放 置 在 工 程WEBContent\WEBINF\lib 目錄下。創(chuàng)建一個訪問數據庫的工具類,該類的主要功能是打開和關閉數據庫的連接,我們把配置信息把存到文件當中,這樣可以在不修改程序的前提下移植數據庫。 需要 在配置文件 中進行如下的配置: driver= u
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1