【正文】
該界面提供記住 密碼成功,假如用戶在登錄時(shí)勾選了“記住密碼”復(fù)選框,則下次再進(jìn)入到本界面用戶將不需要再次輸入密碼,而只需要點(diǎn)擊登錄按鈕即可實(shí)現(xiàn)登錄操作,記住密碼的過(guò)程是通過(guò) Android 平臺(tái)提供的 SharedPreferences 來(lái)實(shí)現(xiàn)的。 計(jì)算機(jī)信息工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 36 第 7 章 系統(tǒng)實(shí)現(xiàn) 37 第 7章 系統(tǒng)實(shí)現(xiàn) 本章主要進(jìn)行了系統(tǒng)客戶端和服務(wù)器端的 實(shí)現(xiàn) ,對(duì)一些 運(yùn)行 界面進(jìn)行了簡(jiǎn)單的截圖。訂單可根據(jù)用戶名模糊搜索。 到 Servlet類(lèi) 中 查 詢getlist發(fā) 送 get請(qǐng) 求查 詢 數(shù) 據(jù) 庫(kù) 表dishes 圖 63 getlist 圖 菜 譜 界 面添 加搜 索 s e a r c h 刪 除 修 改 圖 64 菜單界面功能 第 6 章 系統(tǒng)詳細(xì)設(shè)計(jì) 35 修改時(shí)根據(jù)菜品 id修改菜單,修改時(shí)跳轉(zhuǎn)到 界面 ,相應(yīng)的文本框加載此菜品信息,如圖 65 所示 修 改( b u t t o n )u p l o a d F i l e D i a l o g . j s p界 面 跳 轉(zhuǎn)獲 得 要 修 改 的 那 一 行 數(shù) 據(jù)g e t O n e R o w輸 入 新 的 數(shù) 據(jù)保 存e d i t ( )u p l o a d s e r v l e t 圖 65 菜品修改 刪除的時(shí)候根據(jù) id刪除。 菜譜管理 菜單界面發(fā)送名稱為 getlist 的 sevlet 請(qǐng)求,將獲從獲取獲取菜單數(shù)據(jù)界面展示,如圖 63 所示。 } 端模塊詳細(xì)設(shè)計(jì) 本系統(tǒng)服務(wù)端模塊包含兩個(gè)功能 ,第一個(gè)是為客戶端提供數(shù)據(jù)服務(wù)接口 ,客戶端調(diào)用服務(wù)端的接口來(lái)獲取數(shù)據(jù)庫(kù)當(dāng)中的菜譜、訂單等各類(lèi)信息,然后顯示在客戶端界面上。 顧客可以查看已點(diǎn)菜單列表,長(zhǎng)按選項(xiàng)可以取消已選菜品。 (seat, ().toString().replace(已選擇 :, ))。 (dishesid, id)。座位信息也是從服務(wù)器端獲取。菜單界面上部有搜索菜品的選框。 客戶端模塊詳細(xì)設(shè)計(jì) 客戶端登陸注冊(cè)模塊 用戶使用系統(tǒng)時(shí)需要先登錄,沒(méi)有賬號(hào)的話可以注冊(cè),然后登錄使用。 表 53 orders 表 序號(hào) 列名 數(shù)據(jù)類(lèi)型 標(biāo)識(shí) 主鍵 允許空 說(shuō)明 1 id int 是 是 否 auto_increment 2 userid int 是 3 username text 是 4 seat text 是 5 status int 是 6 dishesid int 是 7 price double 是 8 amount double 是 9 createtime varchar 是 4. 座位表由座位 id,座位號(hào) no,座位狀態(tài) state( 1 表示無(wú)座, 0 表示有座位)組成,如表 54 所示。 根據(jù)本點(diǎn)餐系統(tǒng)的模塊需求分析,本系統(tǒng)共用到 6 個(gè)數(shù)據(jù)庫(kù)表,管理員表 admins,菜單表 dishes,訂單表 orders,座位表 orders,菜品類(lèi)型表 types,用戶表 users。 客戶端和服務(wù)器端的數(shù)據(jù)交換流圖如圖 53 所示 第 5章 系統(tǒng)概要設(shè)計(jì) 23 服 務(wù) 器 端 數(shù)據(jù) 庫(kù)服 務(wù)訂 單訪 問(wèn)發(fā) 送 請(qǐng) 求菜 品 信 息 , 座 位用 戶 圖 53 客戶端和服務(wù)器端數(shù)據(jù)交換流圖 客戶端包圖設(shè)計(jì): 左邊是客戶端界面 activity,右邊為工具包 c o m . m m . m e a la p p . a c t i v i tyc o m . m m . m e a la p p . a d a p t e rc o m . m m . m e a la p p . a p i客 戶 端 包 圖 54 客戶端包圖 計(jì)算機(jī)信息工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 24 客戶端類(lèi)圖設(shè)計(jì) Dishes 類(lèi), + g e t I d ( ) : i n t+ s e t I d ( ) : v o i d+ g e t T i t l e ( ) : s t r i n g+ s e t T i t l e ( ) : v o i d+ g e t I n t r o ( ) : s t r i n g+ s e t I n t r o ( ) : v o i d+ g e t I m g _ u r l ( ) : s t r i n g+ s e t I m g _ u r l ( ) : v o i d+ g e t P r i c e ( ) : d o u b l e+ s e t P r i c e ( ) : v o i d+ g e t A m o u n t ( ) : d o u b l e+ s e t A m o u n t ( ) : v o i d i d : i n t t i t l e : s t r i n g i n t r o : s t r i n g i m g _ u r l : s t r i n g p r i c e : D o u b l e a m o u n t : d o u b l e u t i l i t y d i s h e s 圖 55 Dishes類(lèi)圖 訂單類(lèi) orders 第 5章 系統(tǒng)概要設(shè)計(jì) 25 + g e t I d ( ) : i n t+ s e t I d ( ) : v o i d+ g e t U s e r i d ( ) : s t r i n g+ s e t U s e r i d ( ) : v o i d+ g e t D i s h e s i d ( ) : s t r i n g+ s e t d i s h e s i d ( ) : v o i d+ g e t U s e r n a m e ( ) : s t r i n g+ s e t U s e r n a m e ( ) : v o i d+ g e t P r i c e ( ) : d o u b l e+ s e t P r i c e ( ) : v o i d+ g e t A m o u n t ( ) : d o u b l e+ s e t A m o u n t ( ) : v o i d+ g e t C r e a t e t i m e ( ) : s t r i n g+ s e t C r e a t e t i m e ( ) : v o i d+ g e t I m g _ u r l ( ) : s t r i n g+ s e t I m g _ u r l ( ) : v o i d+ g e t S t a t u s ( ) : i n t+ s e t S t a t u s ( ) : v o i d i d : i n t u s e r i d : i n t d i s h e s i d : i n t u s e r n a m e : s t r i n g s e a t : s t r i n g p r i c e : d o u b l e a m o u n t : d o u b l e c r e a t e t i m e : s t r i n g i m g _ u r l : s t r i n g s t a t u s : i n t u t i l i t y o r d e r s 圖 56 orders 類(lèi)圖 計(jì)算機(jī)信息工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 26 服務(wù)器端結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)服務(wù)端模塊包含兩個(gè)功能 ,第一個(gè)是為客戶端提供數(shù)據(jù)服務(wù)接口 ,客戶端調(diào)用服務(wù)端的接口來(lái)獲取數(shù)據(jù)庫(kù)當(dāng)中的菜譜、訂單等各類(lèi)信息,然后顯示在客戶端界面上。服務(wù)器端向客戶端提供數(shù)據(jù)下載、數(shù)據(jù)上傳接口以交換數(shù)據(jù)。在整個(gè)系統(tǒng)中,客戶端負(fù)責(zé)采集數(shù)據(jù)和顯示的工作,對(duì)于客戶的輸入,輸入端會(huì)將信息發(fā)送至服務(wù)端的 Servlet 上, Servlet接收信息之后,會(huì)對(duì)數(shù)據(jù) 庫(kù)進(jìn)行相關(guān)的操作,并將結(jié)果發(fā)送回客戶端,客戶端再進(jìn)行處理,從中得到結(jié)果。 :用戶可以輸入關(guān)鍵字查詢想要的菜品。 下面給出客戶端和管理端用例圖。系統(tǒng)分析中明確了要做什么,怎么去做。 假如您用的是 Windows 機(jī)器,您需要在 C:\ 文件中添加以下兩行: set CATALINA=C:\ set CLASSPATH=%CATALINA%\mon\lib\。以下是 Tomcat的配置方法: 下載最新版本的 Tomcat: 將壓縮文件解壓到一個(gè)方便的地方,比如 Windows 下的 C:\ 目錄或者Linux/Unix 下的 /usr/local/ 目錄,然后創(chuàng)建 CATALINA_HOME 環(huán)境變量指向這些目錄。在 Linux/Unix 系統(tǒng)下,如果 SDK 的安裝目錄為 /usr/local/ 并且使用的是 C shell,那么您就需要在 .cshrc 文件中添加以下兩行: setenv PATH /usr/local/:$PATH setenv JAVA_HOME /usr/local/ 或者,假如您正在使用類(lèi)似于 Borland JBuilder、 Eclipse、 IntelliJ IDEA 和 Sun ONE Studio這樣的集成開(kāi)發(fā)環(huán)境,可以試著編譯并運(yùn)行一個(gè)簡(jiǎn)單的程序來(lái)確定 IDE(集成開(kāi)發(fā)環(huán)境)是否已經(jīng)知道 SDK 的安裝目錄。 Java SDK 下載完后,請(qǐng)按照給定的指示來(lái)安裝和配置 SDK。 JSP 開(kāi)發(fā)環(huán)境搭建 JSP 開(kāi)發(fā)環(huán)境是您用來(lái)開(kāi)發(fā)、測(cè)試和運(yùn)行 JSP 程序的地方。 sdk 下載的地址圖如圖 32 所示: 計(jì)算機(jī)信息工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 12 圖 32 sdk下載的地址圖 第四步:安裝 Android ADT 插件。 計(jì)算機(jī)信息工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 10 第 3章 開(kāi)發(fā)環(huán)境搭建 11 第 3章 開(kāi)發(fā)環(huán)境搭建 搭建 Android開(kāi)發(fā)環(huán)境 任何事物要運(yùn)行,都要有它的環(huán)境, Android 也有它的環(huán)境才能夠運(yùn)行,下面介紹Android 的開(kāi)發(fā)環(huán)境配置。 Hibernate 是一個(gè)開(kāi)放源代碼對(duì)象關(guān)系的映射框架,它對(duì) JDBC 進(jìn)行了非常輕量級(jí)的對(duì)象封裝,這樣 Java 程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 活動(dòng)管理器( Activity Manager) 用來(lái)管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。 隱藏在每個(gè)應(yīng)用后面的是一系列的服務(wù)和系統(tǒng) , 其中包括 。 開(kāi)發(fā)人員也可以完全訪問(wèn)核心應(yīng)用程序所使用的 API 框架。 Android 的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。另外為了推廣此技術(shù) ,Google 和其它幾十個(gè)手機(jī)公司建立了開(kāi)放手機(jī)聯(lián)盟。 (9).Jconsole: Java 進(jìn)行系統(tǒng)調(diào)試及監(jiān)控的工具 Android 系統(tǒng) Android 一詞的本義指 “ robot Google 于 2020 年 11 月 5 日宣布的基于 Linux 平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng)的別名,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成 ,號(hào)稱是首個(gè)為了移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。 (例如,一個(gè)持久性 類(lèi)不能映射到多個(gè)表 )其獨(dú)有的界面和可憐的市場(chǎng)份額也讓人不安,盡管如此, Hibernate 還是以其強(qiáng)大的發(fā)展動(dòng)力減輕了這些風(fēng)險(xiǎn)。 的性能非常好,因?yàn)樗莻€(gè)輕量級(jí)框架。易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成。 JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。 SDK SDK:( software development kit) 軟件 開(kāi)發(fā)工具包。 MySQL 所使用的SQL 語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言??梢哉f(shuō) MyEclipse 幾乎是囊括了目前所有主流開(kāi)源產(chǎn)品專屬的 eclipse 開(kāi)發(fā)工具。 MyEclipse 企業(yè)級(jí)工作平臺(tái),是對(duì) EclipseIDE 的擴(kuò)展,利用它我們可以在 數(shù)據(jù)庫(kù) 及 JavaEE 的開(kāi)發(fā)、發(fā)布以及 應(yīng)用程序 服務(wù) 器整合方面極大的提高工作效率。最初主要用來(lái) Java 開(kāi)發(fā),通過(guò)安裝不同的插件 Eclipse 可以支持不同的計(jì)算機(jī)語(yǔ)言,比如 C++和 Python 等開(kāi)發(fā)工具。 開(kāi)發(fā)工具及環(huán)境 Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)