【基于Android的食品店購物系統設計10000字(論文)】_第1頁
【基于Android的食品店購物系統設計10000字(論文)】_第2頁
【基于Android的食品店購物系統設計10000字(論文)】_第3頁
【基于Android的食品店購物系統設計10000字(論文)】_第4頁
【基于Android的食品店購物系統設計10000字(論文)】_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

-IV-基于Android的食品店購物系統設計摘要時代在改變,人們也跟隨著時代在改變,現在的人們可以說是無時無刻不能離開智能手機,手機支付,手機網上購物已經成為現代人不可或缺的一部分,對于手機來說,手機中的“手機app”是尤為重要的,可以說“手機app”就是手機的心臟,沒有“手機app”的手機就是沒有作用的?,F在的市場有很多的食品購物app,但由于商家想要多賣出食品,會在推薦的時候推薦高熱量食品,同時在“手機app”內也會通過推薦類似于漢堡炸雞的食品,這類食品都是當代人愛吃的,也導致了現在的人們出現過度肥胖,易引發心血管疾病。這次設計采用了AndroidStudio開發工具,這是一個Google公司為Android系統量身定做的開發工具。這次的系統主要為用戶和管理員,用戶可以進行查看,評論,預約購買食品等。管理員可以管理食品的信息,用戶的數據,預約等。同時本系統還擁有計算BMI(人體質量指標)功能,在用戶的使用過程中通過輸入用戶的身高體重,來計算BMI,推薦健康的飲食,對現在的人飲食做出引導,進行健康飲食。同時也會推薦一些本店推薦的食品,對于難以選擇的人來說,可以有更好的選擇。關鍵詞:食品店購物App;Android;AndroidStudio;健康飲食目錄184021緒論 緒論隨著當代時代的發展,智能設備已經逐漸深入人心了,可以說每個人都擁有一部智能手機,在每個人每一部的智能手機中都會有各種各樣的“手機app”,這些“手機app”有著各式各樣的內容,都連接著現在的社會,可以說在現在社會中,無時無刻不離開著這些“手機app”,這些“手機app”也體現出發展的多元化。1.1背景及意義通過對現在手機市場的調查,現在的手機系統大體可以分為兩類,其中一類為Android系統,這類系統占現在手機系統的絕大部分,另一類則為IOS系統,這類系統是專為iPhone手機設計的,不過這類系統的使用人群較Android系統的使用人群來說還是較為少的。當前市場份額之中有超過85%以上的智能手機為Android系統,且此系統在未來的發展趨勢良好。同時智能手機發展表現出多樣化與多元化的特征,手機中的軟件也表現出了多樣化的特點。這些軟件的應用范圍逐漸擴大,包括了人們生活的方方面面,在現在幾乎所有的領域都有其獨特的應用。隨著時代的進步,人們的生活水平也在逐漸提高,在21世紀之前,人們很少有電子設備的概念,很難想象,只經過了短短的幾十年,就完成了過去上百年甚至上千年都難以完成的壯舉,同時這種發展還在以難以想象的速度增長中。過去的人們衣食住行都是簡簡單單就好,現在,對于穿衣來說,以前都是通過縫紉機或是手工縫紉,需要很長的時間才能做好一件衣服,而在現在,有著各種流水線的機器,在短短一天的時間內就能造出上千甚至上萬件衣服,著對于以前來說是難以想象的。對于飲食,人們可以在手機上選擇各式各樣的餐廳,可以在手機上就瀏覽各種美食店鋪,查看其中的菜品,甚至還有外賣,可以讓你足不出戶就可以在家中享受美食。在這時代的變遷中,對于現在的飲食行業也有著很大的機遇,要跟隨時代的步伐,對于營業方式需要不斷的改進,踏入新的領域。在現代,飲食可以說是非常重要的,健康的飲食可以保證身體的健康,但是現在的飲食行業卻大部分都在推薦人們購買高熱量的食品,因為這些食品往往比健康食品美味,過量的食用這些食品會導致身體的不健康,導致肥胖癥狀。本系統便想在用戶挑選食品時進行推薦,提供熱量標識,讓用戶在查看過程中會看到這些熱量后對于選擇會有所斟酌,考慮選擇一些低熱量的食品。通過這些需求,便制作了本系統,在用戶的使用過程中,用戶可以查詢食品的詳細信息,通過這些信息的對比后再來選擇食品,通過仔細的挑選后,再來選擇購買食品。同時可以通過輸入身高體重計算BMI(身體質量指數)進行食品的推薦,來完成購買食品。本系統的設計是Android系統為基礎的"食品店購物App"應用軟件的設計和實現。為了用戶可以方便的查看食品的詳細內容,比如價格,評價,熱量等等,同時可以通過預約的方式進行購買食品,在預約的過程進行備注,讓店員知道該如何保存或者制作,同時用戶可以對食品進行點評,評價食品的口感等。1.2課題研究現狀現在的點餐購物系統,是用戶較為常用的種點餐方式。這種方式最早的起源在于國外,在20世紀的70年代,是最早出現的時間點,在當時的德國,出現了一加無人餐館,全程沒有員工對顧客的點菜進行記錄,顧客可以通過使用當時店內的智能設備來進行點菜,點菜完后可以直接進行結算,在結算完后等待服務員端菜。這種方式在當時可以說是非常新穎的,因為當時大部分的餐廳都是通過服務員進對顧客的點菜進行記錄后,到后廚傳達菜品后才能開始做菜。不過這也只是現代點餐系統的雛形,在后來有一家餐廳在這一方式上進行改良,通過當時新興的網絡技術,將網絡技術和點餐設備進行連接,顧客便可以使用點餐設備進行無線預約點餐,這種方法不但節省了服務員的開支,同時也讓顧客可以隨意的點餐,傳達信息的速度也更快,這種方法大大節約了顧客和餐廳工作人員的時間,可以說是雙贏。由此可以看出和互聯網結合的這種技術非常適合點餐。國內現狀在現代,國內的餐飲行業迅猛發展,發展速度很快,逐年提升,這一大提升也讓這一行業相比其他行業有了非常強的競爭力。自從新中國改革開放,人們可以從舊時代的氛圍種解脫出來,迎接新的科技時代,自此國內的科技飛速發展,到現在,已經可以說是成為世界第二大強國,伴隨著科技的不斷進步,人們的生活也隨著科技的進步而進步,對于飲食來說,從以前的的粗茶淡飯,到現在出現了各種各樣的美食,可以說也是離不開時代的發展。隨著人們生活的進步,餐飲行業也在不斷的進步,不斷的發展,這也是可以體現人民生活水平提高的一個見證,至此,餐飲行業逐漸的成為了人們心中的一個支柱產業。在去年國家所公布的權威數據資料,發現2020年全國餐飲行業的總收入達到了6萬億,在市場中的占比也在不斷增加。為什么餐飲行業可以達到如此蓬勃的增長,這還得是當代互聯網的發展促進的,現在用戶可以足不出戶享受美食,也可以直接在手機上查看附近的商家,來挑選心儀的店鋪進行享用食品。經過社會調查部分餐飲店,得出了絕大部分的商家覺得互聯網對自身的營業有了很大的幫助,通過網絡可以很好的拓寬營業范圍??梢哉f外賣系統對于國內的餐飲行業有了非常大的幫助。現在的中國,也在積極的進行“互聯網+”的發展,現在的餐飲也在積極的與“互聯網+”進行融合,打造新型餐飲行業[12]。到目前為止,出現了很多的外賣軟件,例如美團和餓了么還有百度外賣,這種在家足不出戶的方式點餐非常深得民心[12]。但是在使用這些平臺時,點開外賣這一欄,映入眼簾的大部分都是炸雞,漢堡,燒烤這些高熱量,高油脂的食品,雖然說這些大部分人都是非常愛吃的,但是為了健康飲食,應該少吃這些食品,所以我便想在我的系統中設置根據BMI推薦美食的功能,來為用戶提供一種健康的飲食習慣。國外現狀從國外來看,當時的現代化餐飲行業相較于國內的發展是比較早的,而且進程也很快。大部分的餐飲店都是通過線下連鎖的方式進行經營,達到了非常大程度的規模,可以說連鎖營業方式的發展速度非??臁?/p>

在國外的現代化餐飲發展的歷史中,餐飲行業也有很多不一樣的變化,近代,世界的科技水平飛速上漲,可以說近百年完成了過去進千年甚至近萬年的發展,各行各業都飛速發展,可以說是百花齊放,餐飲行業的經營管理模式也各式各樣,這些管理模式有些更加科學,可以提高效率,來降低成本,有些則因為不適于時代的發展而沒落。但是歸根結底,在國內還是國外餐飲行業的發展都大徑相同。

2相關技術和開發環境2.1系統架構設計通過對系統的各項功能進行分析和研究,以及綜合性能的研究,最終還是選擇了使用B/S架構完成設計。當用戶注冊后成為該系統的用戶以后,便可輕松的與后臺的數據進行連接,實時接收數據。用戶進入系統之后,便可使用本系統;該系統通過http與后臺的服務器進行數據鏈接,當服務器接收到用戶手機發出的數據后在后臺進行處理,后臺通過對數據庫進行交互,將處理后的數據傳給用戶,來達到數據的鏈接。由此可得,本系統的總體架構為Android客戶端、MySQL數據庫和后臺的服務器。系統架構如圖2.1:圖2.1系統架構圖通過對系統架構圖的分析,知道了系統的架構由客戶端,服務端和數據端口組成。對于用戶的接觸來說,用戶接觸到的只能是客戶端,即用戶使用的系統,在該端口可以看到活動的窗口并進行之后的操作,通過操作后將數據傳入服務端進行進一步操作??蛻舳私⒃谲浖绦蚣碼pp之上,通過服務器返回的數據進行操作。服務端則是建立在java平臺上的的web程序,其中包括了控制層和業務邏輯層??刂茖訉I務邏輯進行控制,業務邏輯通過和第三方接口鏈接讀取新的數據,同時傳輸數據給本地服務器進行鏈接。存儲數據是最為重要的,數據端通常由兩個數據庫組成,分別為本地數據庫和第三方數據庫,本地數據庫則用來訪問現有的系統數據庫,第三方數據庫則用來在未來進行拓展。所以說本系統的擴展性還是很高的。2.2關鍵技術介紹Andorid平臺開發包含了以下三大塊,分別為功能的設計,數據的存儲,和網絡交互。開發圖如圖2.2:圖2.2Android平臺開發圖(1)功能開發標準的安卓程序主要由以下部分組成:活動、廣播意圖接收器、服務和內容提供商。(2)數據存儲本次選擇的數據存儲方式為SQLite數據庫存儲,系統訪問網絡的方式是通過提供的接口實現數據處理

2.3開發環境及平臺本次系統的開發平臺為AndroidStudio,該平臺是由美國的Google公司為Android的開發量身打造的開發系統,有較好的兼容性,同時在設計過程中非常智能方便。該平臺采用IntelliJIDEA,這讓開發人員無論在何種分辨率的屏幕都能進行適配并顯示。2.3.1Android平臺Android平臺的基本結構由以下四層所構成。依次為應用程序層、使用流程框架、操作系統庫及其Android操作庫,由Linux及核心層構成,其基本結構圖包括圖2.3所述:圖2.3Android系統架構圖(1)應用程序層該層的主要職能就是與用戶進行交流,并利用界面對用戶產生交互作用。(2)應用程序框架本層主要提供了一個框架,為開發人員提供可用的任務管理器,控件,服務以及即時通訊功能。使用了API中的個性化服務來完成對程序的打開,從其中也側面的體現出了安卓操作系統具有相當獨特的開放特性。(3)系統庫和Android運行庫本層次為操作系統的中心層次,主要采用的是C語言的數據庫系統,并可以采用一些在相應庫中提出的接口。而對于操作系統設備的數據庫中,大部分采用的是C語言的函數庫,但對于Linux等操作系統設備在實際使用過程中也會采用;媒體庫也能夠管理視頻,音頻文件,并且是管理其他音頻文件所必須的基本方法;而SQLite數據庫系統則是一個輕量級的事情,但其相對應功能要十分完善,所以許多應用中都會用到此數據庫;通過對界面的管理功能也可以對用戶使用界面做出修改與完善。核心庫和虛擬機也成了安卓操作系統的基本運行庫。在java和安卓等操作系統中都有它們各自對應的核心庫,它們的功能有很多相似。所以在安卓平臺的軟件開發流程中,也應該通過相同的方式重新調用內核庫中的數據,來減少在書寫流程中應用復雜的問題,或者直接就應該選擇通用的界面。(4)Linux內核層而內核層則主要是包括對硬件的驅動,并且使用這種驅動方式來確保軟件與硬件之間的相結合并進行正常工作,這也就是操作系統的內核,通過對其內核進行服務,所以它是能夠確保硬件與軟件之間相互交流的抽象層面。

3系統分析與設計3.1需求分析系統的總體目標是讓該軟件可以提供顧客對食品的信息進行查詢,顧客可以根據對食品的信息來選擇需要選購的食品,對于要減肥的人群可以通過對食物熱量進行排序,選擇相對于低卡路里的食品來滿足對減肥時所需食品的需求。而對于想要到店里面品嘗美食的人來說,可以選擇對食品的評分,評價等進行排序選擇在店內比較符合大眾口味的食品。

為了實現系統設計的總目標,Android的食品店購物系統應具備以下功能目標,主要包括:注冊:該模塊負責初次使用的用戶。要想操作該系統需先注冊,注冊后再進行登錄才可以使用本系統,如果是管理員則在注冊后可以通過其他管理員來對新注冊的賬號賦予管理員權限。(2)登錄:該模塊負責注冊過后的用戶進行登錄,在輸入賬號密碼后,系統會自動判斷是用戶還是管理員,兩者分別會進入對應頁面。(3)主界面:該模塊負責在用戶登錄以后??梢栽谠摻缑婵吹接捎嬎愠龅?BMI)值來推薦今日的食品,在該界面下可以選擇進入食品界面或者個人界面。(4)食品界面:該模塊負責在用戶在主界面選擇后查看食品信息。可以根據食品熱量,銷量,價格進行排序,來看到自己所需的內容。(5)個人界面:該模塊負責在用戶登陸。在主界面選擇后查看自己的用戶名和自己的評論,如果用戶想要修改自己的用戶名,昵稱,電話,頭像或是密碼可以在此處修改。(6)評論食品界面:該模塊負責查看用戶對于食品的評價。用戶在進入食品的詳細界面時,可以在下方看到其他用戶對其的評價,同時用戶可以對食品進行評論。(7)管理員界面:該模塊負責可以增添,修改,刪除店內的食品以及食品的信息;可以修改注冊用戶的信息,用于刪除或者修改一些不良用戶名;可以將普通用戶設置為管理員;將食品的不良評論進行刪除;第一位使用系統的管理員可以設置一位密碼,在之后的使用過程中,當想要刪除其他管理員時,只有輸入該密碼才能刪除。

3.2概要設計本管理系統是的基于Android的食品店及購物App管理系統,系統主要區分為一般使用者和管理者,功能結構圖如圖3.1所顯示。圖3.1系統功能結構圖對于管理員模塊,主要的功能有查看用戶個人資料,如賬號,手機號,頭像等,并且包含有刪除用戶的信息。對食品的管理,可以增加食品信息、刪減食品信息、調整食品的信息,可以對今日的食品進行推薦。對預約的食品進行管理,可以查看預約過的食品信息和刪除預約。對評論的管理,可以刪除用戶對食品的評論。用戶模塊的功能主要有當沒有賬號時候注冊個人賬號,注冊成功后登錄自己的賬號,查看今天推薦食品,通過對對食品的推薦進行更好的選擇??梢圆榭词称?,查看到所有食品的詳細內容??梢詫κ称愤M行評論,也可以查看該食品的評論??梢孕薷膫€人頭像賬號,昵稱,電話以及密碼等。

3.3數據庫設計數據庫的設計是為了存儲數據,同時也為了前端用戶使用過程中可以調用數據,同時后端可以對數據進行修改更新。3.3.1數據庫E-R圖設計它運用建模,創建信息模型,數據庫在進行設計的過程中,需要先分析系統所需的各種數據,得出數據之間的對應關系,進行數據與數據之間的連接。通過對該系統的分析,得出了對應關系圖,設計出了對應的E-R圖,設計結果如圖3.2所示圖3.2食品店購物系統E-R圖

3.3.2數據庫關系模型評論信息表:(id,用戶id,評論食品的時間,對食品的評價,食品id)食品信息表:(id,食品名,食品內容,價格,熱量)用戶信息表:(id,頭像,注冊時間,賬號,密碼,電話,有無管理員權限)預約信息表:(id,用戶id,食品id,時間,預約內容)3.3.3數據庫表設計數據庫的設計是在用戶使用過程可以進行高效的存儲,同時在進行數據交互時可以安全的保護數據。數據庫表的設計很大程度的決定了系統的運行效果,未來的擴展,設計出一份良好的數據庫表,可以降低數據的存儲,降低系統延遲,改善程序運行的效果,體現出系統的完整性和一致性。創建的數據庫有以下四個表:用戶評論comments表,食品信息Food表,用戶user表和預約order表。(1)評論表:包括評論用戶編號,用戶姓名,評論時間,評論內容,評論的食品id,如表3.1所示表3.1用戶評論comments表名稱說明字段備注ididvarchar(100)主鍵、非空uid用戶idvarchar(100)外鍵time時間datatime非空content評價varchar(100)非空pid食品idvarchar(100)外鍵uname用戶名varchar(100)非空

(2)食品表:包括食品的編號,產品名,圖片,描述內容,熱量以及價格,是否為推薦,添加的時間,如表3.2所示表3.2食品信息Food表名稱說明字段備注idvarchar(100)主鍵、非空foodname食品名varchar(100)非空pics圖片varchar(100)非空spxx描述varchar(100)非空heat熱量varchar(100)非空price價格varchar(100)非空tj推薦varchar(100)非空time時間datatime非空(3)用戶表:包括用戶的編號,用戶賬號,用戶的密碼,姓名,和電話,以及是否有管理員權限和注冊時間,如表3.3所示表3.3用戶user表名稱說明字段備注ididvarchar(100)主鍵、非空usid賬號varchar(100)非空usmm密碼varchar(100)非空xmin姓名varchar(100)非空tel電話varchar(100)非空type權限varchar(100)非空time時間datatime非空

(4)預約表:包括預約食品的id,食品名稱,用戶的練習電話,用戶id,預約時間和備注,如表3.4所示表3.4預約order表名稱說明字段備注ididvarchar(100)主鍵、非空pidvarchar(100)外鍵pnamevarchar(100)非空telvarchar(100)非空uidvarchar(100)外鍵yysjdatetime非空bz備注varchar(100)非空3.3.4連接數據庫實現本系統通過將所需數據導入數據庫,得到所有數據信息,在系統使用過程中后臺通過前臺的操作來不斷更新數據庫。本次數據庫采用JDBC連接數據庫的方式,JDBC是Java與數據的連接。例如對登錄時進行的數據庫連接如下:OkGo.<BaseData>post("16:8088/user/connect")//連接后臺

.params("usid",usid.getText().toString())讀取用戶名

.params("usmm",usmm.getText().toString())讀取密碼

.execute(newJsonCallBacak<BaseData>(BaseData.class){……publicvoidonSuccess(Response<BaseData>response){//數據讀取完畢后進入

super.onSuccess(response);

if(response.body().getCode().equals("2")){//在后臺進行數據讀取后,成功會返回數值2

if(ConfigApplication.getU().getzjf().equals("用戶"))

openActivity(Main.class);//進入用戶界面

else{

openActivity(Admin_Main.class);

}

}else{

showTip("登錄失敗");

}

}……}在后臺中:publicvoidconnect(){

Stringusid=getPara("usid");//讀取輸入的用戶賬號

Stringmm=getPara("mm");//讀取用戶的密碼

Alluserm=Alluser.cs.findFirst("select*fromalluserwhereusid=?",usid);//在數據庫中進行查找

if(m!=null){

if(m.getStr("usmm").equals(usmm)){//當查找到數據相符則返回2,進行后續操作

renderJson(newmon.spxxData("2","成功",JSON.toJSONString(m)));

}else{

renderJson(newmon.spxxData("5","失敗",JSON.toJSONString(m)));

}

}else{

renderJson(newmon.spxxData("5","賬號不存在",JSON.toJSONString(m)));

}

}

4系統各個功能模塊實現4.1系統業務流程4.1.1登錄界面設計實現使用本系統如圖4.1所示登錄界面圖4.1用戶登錄界面

4.1.2注冊界面設計實現注冊的主界面為輸入賬號、密碼、昵稱、電話和頭像。輸入完后點擊注冊后,數據庫中的賬號和輸入的賬號沒有相同的話,成功注冊。如圖4.2所示注冊界面圖4.2所示注冊界面

4.1.3用戶模塊設計實現該模塊主要為了完成用戶所需的操作,例如食品展示,預約等。(1)首頁模塊在該模塊,可以查看包括了所有食品的列表,還可以進行搜索食品,查看食品的詳細信息,比如介紹,首頁可以輸入輸入身高體重,經過計算得出身體質量指數,通過得出的數據進行推薦,同時還有預約、評論等操作。如圖4.3所示。圖4.3首頁模塊實現界面

(3)預約記錄模塊在該模塊,可以查看預約信息,修改自己的預約信息和刪除自己的預約信息等操作。如圖4.4所示。圖4.4預約記錄模塊實現界面(4)個人信息在該模塊,可以查看頭像,賬號,名稱,電話和本人身份,也可以修改頭像,名稱,電話。如圖4.5所示。圖4.5個人信息模塊實現界面4.1.4管理員模塊設計實現管理員主要實現用戶管理、食品管理、預約管理、評論管理等功能模塊。(1)食品管理主要實現管理員對食品信息進行增刪改查、設置推薦等操作。如圖4.6所示。圖4.6食品管理實現界面

(2用戶管理管理除了管理員之外的用戶信息,可以對頭像進行設置,名稱修改,也可以刪除所有的信息。如圖4.7所示。圖4.7用戶管理實現界面(3)評論管理在該模塊,可以查看各個食品的評論,以及評論的發表信息,可以對評論進行刪除。如圖4.8所示。圖4.8評論管理實現界面

4.2系統功能實現4.2.1用戶登錄實現用戶登錄時候通過前端通過發起http請求,請求后端的接口,后端接收請求后進行數據庫校驗,后返回參數給前端。以下代碼為用戶登錄實現:前端:

if(ConfigApplication.getU().getzjf().equals("用戶"))

openActivity(Main.class);//進入用戶界面

else{

openActivity(Admin_Main.class);

}后端:publicvoidconnect(){

Stringusid=getPara("usid");

Stringusmm=getPara("usmm");

Alluserm=Alluser.cs.findFirst("select*fromalluserwhereusid=?",usid);

if(n!=null){

if(n.getStr("usmm").equals(usmm)){

renderJson(newmon.spxxData("2","成功",JSON.toJSONString(m)));

}else{

renderJson(newmon.spxxData("5","失敗",JSON.toJSONString(m)));

}

}else{

renderJson(newmon.spxxData("5","賬號不存在",JSON.toJSONString(m)));

}

}

4.2.2用戶模塊設計實現(1)首頁推薦模塊登錄后自動顯示推薦食品,以下為代碼實現:OkGo.<BaseData>get(Ugettj())

publicvoidconvert(ViewHolderspq,productitem){

spq.setText(R.id.foodname,item.getFoodname());

spq.setText(R.id.zjf,item.getzjf());

spq.setText(R.id.price,"價格:"+item.getPrice());

SimpleDraweeViewpic=spq.getView(R.id.pic);

if(item.getPics()==null||item.getPics().equals(""))

pic.setImageURI(Uri.parse(Url.baseUrl()+"upload/zwtp.jpg"));

elseif(item.getPics().contains("[")){

pic.setImageURI(Uri.parse(Url.baseUrl()+"upload/"+JSON.parseArray(item.getPics(),String.class).get(0)));

}else

pic.setImageURI(Uri.parse(Url.baseUrl()+"upload/"+item.getPics()));

}

});……}

(2)食品查看模塊可以在該界面查看所有食品,也可以點擊食品進行查看詳細信息和評論。以下為代碼實現:publicvoidcv(ViewHolderspq,productitem){

Stringtjsj="";

if(item.getTj().equals("1"))

tjsj="推薦";

spq.setText(R.id.foodname,item.getName());

spq.setText(R.id.tj,tjsj);

spq.setText(R.id.heat,"熱量:"+item.getheat());

spq.setText(R.id.money1,"價格:"+item.getPrice());

spq.setText(R.id.jzf,item.getzjf());

SimpleDraweeViewpic=spq.getView(R.id.pic);

if(item.getPics()==null)

pic.setImageURI(Uri.parse(Url.baseUrl()+"upload/zwtp.jpg"));

else{

if(item.getPics().contains("[")){

pic.setImageURI(Uri.parse(Url.baseUrl()+"upload/"+JSON.parseArray(item.getPics(),String.class).get(0)));

}else

pic.setImageURI(Uri.parse(Url.baseUrl()+"upload/"+item.getPics()));

}

}

});(3)評論模塊用戶可以在商品下方進行評論,以下為代碼實現publicvoidconvert(ViewHolderspq,plitem){

spq.setText(R.id.foodname,item.getUname());

spq.setText(R.id.spxx,item.getContent());

spq.setText(R.id.time,item.getTime());

SimpleDraweeViewhead=spq.getView(R.id.head);

head.setImageURI(Uri.parse(Url.baseUrl()+"upload/"+item.getPic()));

}

});(4)個人信息修改模塊可以修改個人信息,以下為代碼實現:OkGo.<BaseData>post(Url.userupdate())//將數據導入后臺后進入數據庫

.params("xmin",xmin.getText().toString())

.params("head",pic_url)

.params("zjf",zjf.getText().toString())

.params("id",idxz).params("usid",usid.getText().toString())

.params("tel",tel.getText().toString())

4.2.3管理員模塊設計實現(1)食品管理主要實現管理員對食品信息進行增刪改查、設置推薦等操作。以下為代碼實現:增刪改:OkGo.<BaseData>post(Uductupdate())

.params("foodname",foodname.getText().toString()).params("zjf",zjf.getText().toString()).params("id",pro.getId()).params("spxx",spxx.getText().toString())

.params("heat",heat.getText().toString())

.params("pics",pics)

.params("price",price.getText().toString())

.execute(newJsonCallBacak<BaseData>(BaseData.class){……}推薦:OkGo.<BaseData>post(Url.tjproduct())//寫入數據

.params("tj",tjs)

.params("id",list.get(i).getId())

.execute(newJsonCallBacak<BaseData>(BaseData.class){(2)評論管理可以對不良評論進行刪除,以下為實現代碼:OkGo.<BaseData>post(Url.pldel())

.params("id",list.get(i).getId()).execute(newJsonCallBacak<BaseData>(BaseData.class){……}(3)預約管理可以對預約進行查看和刪除,以下為實現代碼:查看:publicvoidconvert(ViewHolderspq,yyitem){

spq.setText(R.id.pname,"預約食品:"+item.getPname());

spq.setText(R.id.bz,"備注:"+item.getBz());spq.setText(R.id.tel,"預約人電話:"+item.getTel());

spq.setText(R.id.yysj,"預約時間:"+item.getYysj());

}刪除:OkGo.<BaseData>post(Url.baseUrl()+"yy/del")

.params("id",list.get(i).getId()).execute(newJsonCallBacak<BaseData>(BaseData.class){……}5.購物系統測試5.1系統測試該測試是程序設計的最關鍵,也是最后。用來檢驗軟件系統的品質、性能、安全可靠等方面能否滿足的要求。通過一次嚴格、標準、全面的檢測過程將極大地提高軟件系統的品質、準確度和穩定性,從而減少了軟件系統的錯誤率,并減少了用戶的風險因素。5.1.1白盒測試白盒測試有稱之為結構測試,是為了發現在編寫的過程中出現的代碼問題,這類測試很難保證完全合格,這對軟件開發者來說也是一項考驗,就算是有多年經驗的編寫者也很難保證寫出的代碼完全沒問題,所以主要的是黑盒測試。5.1.2黑盒測試黑盒測試有稱為功能測試,是為了測試程序的功能是否能正常執行,在測試的過程中要把測試者想象成從未使用過該軟件的人員,對軟件面向用戶的內容進行測試,來驗證軟件的功能是否能夠正常執行,不產生bug,這也是本次系統測試的最重要內容,通過測試后才可以知道軟件的運行是否有問題。5.2測試總結通過對軟件的整體進行測試后,雖然有出現一些問題,導致程序無法正常執行,出現閃退,報錯,但是經過得出問題所在后,通過重新編寫,大部分問題都處理完成。以下列出在本次系統中進行的測試情況。(1)登錄模塊測試結果如表5-1

表5.1用戶user登錄模塊測試舉例用戶舉例登錄密碼測試預期結果是否達到預期用戶名123456無任何輸入彈出框顯示:賬號密碼不能為空是無任何輸入123456彈出框顯示:賬號密碼不能為空是用戶名123456123456出現登錄成功并進入管理員界面是無任何輸入無任何輸入彈出框顯示:賬號密碼不能為空是用戶名a123456彈出框顯示:登錄失敗是當沒有進行任何輸入時,以及缺少一項輸入時,系統提示如圖5.1。圖5.1登錄錯誤提示對于用戶進行評論的模塊測試如表5.2。表5.2評論模塊測試測試舉例說明測試預期結果是否達到預期未在評論區輸入評論彈出框顯示:請勿輸入空白評論是在評論區輸入評論彈出框顯示:出現留言成功是當輸入空白評論,系統提示如圖5.2所示圖5.2評論錯誤提示

(3)注冊模塊測試如表5.3。表5.3注冊模塊測試測試舉例說明測試預期結果是否達到預期未輸入賬號,昵稱,密碼,電話彈出框顯示:請輸入全部信息是賬號,昵稱,密碼,電話僅一項輸入彈出框顯示:請輸入全部信息是賬號,昵稱,密碼,電話輸入兩項彈出框顯示:請輸入全部信息是賬號,昵稱,密碼,電話輸入三項彈出框顯示:請輸入全部信息是賬號,昵稱,密碼,電話全部輸入彈出框顯示:注冊成功是輸入數據庫中已有賬號彈出框顯示:賬號已被使用是當輸入有空白時,系統提示如圖5.3圖5.3注冊錯誤提示5.2測試結果分析通過上述全面的黑盒測試,可以得出各個模塊的運行正常,滿足本系統對于用戶基本需求。所有模塊都符合模塊所需要達到的要求,在運行的過程中并未bug,具有良好的運行狀態。

結論本篇內容重點介紹了怎樣使用AndroidStudio+AndroidSDK開發的一種性能優良、可擴展性強和安全的食品店購物App系統。系統主要由用戶為普通用戶和管理者。個人用戶主要完成登陸、注冊、商品陳列、預訂記錄、個人信息等職能模塊。而管理者則主要完成用戶信息管理、商品管理、預訂管理、評價管理等職能模塊。接著針對這部分功能進行了分析設計,對所使用到的XML、JSON等技術進行了簡單的說明。然后再進行對需求分解的說明。然后是對概要設計,最后再進行更詳細的設計。然后說明了這個系統的部分功能的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論