999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺的家政應用訂單模塊開發

2017-11-17 22:17:15梁榮鵬陳世宇陳正銘彭玄璋
軟件工程 2017年10期

梁榮鵬++陳世宇++陳正銘++彭玄璋

摘 要:隨著Android智能系統的發展,APP應用開發也越來越普及,其開發技術也愈發成熟。本文對基于Android平臺的家政應用訂單模塊的設計與開發進行了梳理。首先對該模塊在整個家政應用中的運行路徑進行了介紹,并展示其中運用到的開發技術與設計模式;然后詳細分析了該應用訂單模塊的設計思想、開發步驟與基本原理;最后對該模塊實現的功能進行了總結。該平臺開發的完成能在一定程度上改善目前家政行業服務差、信息不透明等弊端。

關鍵詞:Android;家政;訂單;SSM框架;web后端

中圖分類號:TP311.1 文獻標識碼:A

1 引言(Introduction)

改革開放以來,我國的經濟快速增長,高新產業也不斷發展,互聯網與智能移動終端更是成為廣大人民寸步不離的必需品[1]。家政O2O(Online To Offlline)系統能在一定程度上改善目前傳統家政行業發展緩慢、各方面不成熟、價格亂、服務差、中介坑人、信息不透明等問題。一般家政O2O系統實現的功能主要有:分角色(服務者、雇主)注冊登錄,查看個人信息,查看附近服務者,查看訂單模塊等。本文主要針對家政O2O系統中實時訂單交互的需求,搭建Android Studio開發環境,采用C/S(Client/Server)的架構,結合MVC設計模式,運用Java語言進行該應用訂單模塊的設計與開發。

2 家政應用與訂單模塊流程介紹(Introduction of

the housekeeping application and its order

module)

2.1 雇主端

雇主通過Android手機雇主端APP登錄認證[2]后,可在程序主界面上查看附近服務者的信息,選擇適合自己的服務者,并執行預約;若無相應的服務者,用戶可以點擊立即預約按鈕,讓系統為用戶智能分配服務者。當預約服務者成功時,服務者將會在預約時間內到達用戶指定的地點,啟動服務計時,服務結束時可點擊按鈕停止計時,并進入服務結算界面。此時用戶可以明確地知道本次服務的具體用時與具體計費,當點擊立即支付時可調起時下主流支付渠道來完成支付;支付完成還可以選擇性地給服務者進行相應的評價,系統將根據用戶的評分對服務者進行綜合評分。

2.2 服務者端

服務者通過Android手機服務者端APP登錄認證后,可以通過下拉刷新操作得到雇主請求預約的訂單列表,服務者可以在該列表中選擇相應的用戶接受預約。當服務者確認接單后,需在預約指定的時間內到達指定的地點;當雇主端啟動計時按鈕時,在服務者端將會彈出提示框提示是否開始計時,若確認則兩端端同步計時,直至服務結束。服務結束,服務者端可以向雇主發起收款,完成收款即完成該訂單。

2.3 后臺端[3]

超級管理員可通過瀏覽器登錄后臺端,以管理相關訂單。當用戶端發出預約請求時,后臺端能接收到用戶填寫的預約信息,管理員可以在訂單管理選項中瀏覽和管理所有的用戶訂單,其中包括跟蹤訂單狀態等功能[4]。

家政應用訂單模塊流程示意圖,如圖1所示。

3 相關技術(Relative technologies)

本系統采用C/S經典架構,Client端選用Android作為操作系統,并采用MVC設計模式;Server端選用Java語言進行搭建,并采用SSM框架協助開發。

3.1 C/S結構

C/S結構,即客戶機和服務器結構,使用它可以完全利用兩端硬件環境的優勢,將各自的業務邏輯合理分配到Server端和Client端,從而大大減少系統的通訊開銷。目前市場上主流應用程序系統使用的都是C/S形式的分層結構。

3.2 Android相關開發技術

3.2.1 Android簡介

Android是一種基于Linux?內核的綜合操作系統。隨著科技的發展,Android的用處越來越廣,人們對其的使用也越來越普及。谷歌官方推薦的開發Android應用的軟件是Android Studio 2.3。本應用的開發也將使用此開發軟件,并使用其相應的開發框架。

3.2.2 OKHTTP框架

OKHTTP是Android網絡框架之一,是一個處理網絡請求的輕量級框架。該框架的使用允許每個客戶端的請求都是連接到同一個主機地址,大大提高請求的效率;擁有共享的Socket,使得對服務器的請求次數減少;建立共享連接池,大大減少請求的延遲;利用緩存響應數據來減少重復的網絡請求,在根本上減少對流量的消耗。

3.2.3 極光推送框架[5]

該框架簡單易集成,使開發者能夠快速部署,從而更專注主營業務。該框架具有便捷的推送接口集成,同時支持在網站上直接推送,也提供送達統計的API使用;另外,該框架還具有強大的技術優勢,客戶端SDK采用自定義的協議保持長連接,而從根源上大大降低電量與流量的損耗。

3.3 后臺端相關開發技術

3.3.1 SSM框架簡介

SSM框架[6],是Spring+SpringMVC+MyBatis的縮寫,是繼SSH之后主流的Java EE企業級框架,對搭建各種企業級應用系統起到異曲同工之妙。SSM框架是標準的MVC設計模式。它將整個系統劃分為顯示層、Controller層、Service層、DAO層,從而簡化后臺端的設計與開發。

3.3.2 Ajax技術簡介

Ajax技術是一種無須在全局刷新網頁的情況下,能夠更新局部網頁內容的技術。它的工作原理是瀏覽器通過網絡發送一個httpRequest到服務器,服務器解析該httpRequest并創建一個Response和發送瀏覽器請求的數據給瀏覽器,瀏覽器通過JavaScript來解析返回的數據并刷新頁面內容,完成一個Ajax刷新[7]。endprint

4 訂單模塊開發(Developing of order module)

訂單模塊的設計與實現思路如下:雇主端與服務者端(統稱Android端)使用Android studio開發。服務器則利用Tomcat搭建Web容器,用Eclipse作為服務器編程工具,并使用MySql數據庫開發環境提供數據層應用。同時使用了Navicat for MySql對數據庫進行可視化操作。最終通過兩端的協同工作,完成訂單模塊功能。

4.1 Android端設計

Android端采用了MVC的設計思想[8],即視圖層與控制層分開,先分別實現各自的目標,再通過相關操作實現兩者的綁定關系,最終得到統一協作的可運行系統。

4.1.1 視圖層

在Android的應用開發中,視圖設計和代碼編寫的工作是分離實現的。開發者可以首先完成界面的設計再進行下一步的開發。兩個客戶端的訂單首界面如圖2和圖3所示。

訂單模塊的訂單首界面主要采用了組件ListView,即以列表的形式對內容進行展示。為了能讓App擁有更豐富的功能,在雇主端訂單首界面的ListView中添加了列表頭header。而由于原生的header和ListView中每個Item的界面均為空白,開發者需根據具體需求分別設計header和兩個端對應Item的界面。

4.1.2 訂單實體類

在顯示數據之前,需要自定義一個類用于保存這些必要數據。因此,以雇主端訂單為例,開發者自定義了RecommendBodyValue類用于作為數據存儲的基礎。其中,這個類繼承自BaseModel類,該類實現了將變量進行序列化的操作,以備數據傳輸。用戶端訂單實體類代碼如下:

public class RecommandBodyValue extends BaseModel{

public int type; //用戶預約的阿姨服務類型

public String auntname;//阿姨姓名

public String auntlogo;//阿姨頭像

public String address;//服務地址

public String time;//服務時間

public int price;//服務計費

...

}

4.1.3 數據綁定控制

由于在界面設計的時候使用到ListView[9],而其原生的Adapter的功能相當有限,為了能讓對應的數據顯示在相應的位置上,開發者自定義了繼承自ListAdapter的orderListAdapter,并編寫了關于綁定數據的構造方法,其中的參數除了當前Activity的上下文,還有就是類型為訂單實體的ArrayList對象,如圖4所示。

當程序執行到這個方法的構造函數時,即完成了數據的初始化。除此之外,為了將保存的數據顯示在各自的控件上,還在該自定義的orderListAdapter中綁定了要使用到的控件。當要顯示時,通過調用setText()來設置控件的內容,從而顯示到屏幕上。orderListAdapter()方法構造函數代碼如下:

public orderListAdapter(Context context,ArrayListdata) {

mContext=context;

mData=data;

mInflate=LayoutInflater.from(mContext);

mImagerLoader=ImageLoaderUtil.getInstance(mContext);

}

4.1.4 界面綁定控制

開發者在編寫XML布局文件時,可以為每個組件設置一個唯一標識Id。

(1)當使用者進入訂單模塊首界面時,即開始了一個Activity。在該Activity的onCreate()方法中,使用new ListView()語句來創建一個ListView對象,并通過findViewById()方法尋找布局文件中唯一的Id以實例化該ListView對象。

(2)通過ListView的setAdapter()與自定義的適配器orderListAdapter進行綁定,用以顯示預先設計好的item界面。

(3)通過ListView的addHeaderView()方法與預先設計好的header布局綁定顯示。

4.1.5 網絡請求控制

基于Okhttp在Android應用上的優勢,開發者將其封裝成一個工具類CommonOkHttpClient。該類可以實現get/post請求的發送[10],并對Response回來的json數據進行字符串轉換。此外,開發者還定義一個請求中心RequestCenter類,并在該類中調用了Okhttp工具類以方便get/post請求的發送。該類的主要作用是管理一切業務請求。

以雇主端界面為例,當用戶希望通過下拉刷新其訂單列表時,可在RequestCenter類中定義一個靜態方法,通過傳參調用向服務器發送get請求。如果服務器攔截到該請求,則在后臺進行代碼處理,返回相應json數據給該方法,并后續地將json數據轉化成相應訂單實體類保存在實例化的參數中,即完成了一次訂單列表的刷新。

4.1.6 消息推送控制

Android端集成了極光推送框架JPush Android SDK。它以Android Service的形式長期運行在手機后臺而創建并保持長連接,使設備保持永遠在線的能力,以便消息能夠及時推送到手機端。其工作原理圖如圖5所示。

4.2 后臺端設計

4.2.1 數據庫設計

家政系統采用了MySql作為存儲數據的數據庫[11]。開發者在開啟了數據庫服務后,連接數據庫,并新建了數據庫AuntComing,其中包括了用戶信息表、服務者(阿姨)信息表等數據表。對于訂單填寫時所需的信息,開發者定義了如下字段:訂單Id、用戶Id、阿姨Id、服務時長、服務地址、服務價格、預約時間。其中主鍵為訂單Id,用戶Id與阿姨Id則作為外鍵。當需要使用用戶和阿姨的基本信息時,可通過用戶Id與阿姨Id進行多表復合查詢。訂單信息表的物理模型如圖6所示。

4.2.2 SSM框架組合實現

基于SSM框架開發的系統結構分層明顯,可簡化開發流程。家政平臺的后臺端采用SSM框架進行搭建。SSM框架的層次結構具體可以分為view層、model層、DAO層、service層、controller層,各層各屬其職,又相互協作。

(1)model層為數據庫各表的實體類該類的成員變量均為各表的各字段。在本研究對象中,model層則包含了訂單信息類。

(2)DAO層則定義了所有數據訪問接口,為數據庫查詢作準備。以本研究對象為例,DAO層包含了selectByPrimaryKey(String id)等接口。

(3)service層則定義了與業務邏輯有關的接口,如查詢所有訂單信息接口List selectAllOrder()等。

(4)controller層則是實現數據處理與反饋的地方,即在該層,開發者可以與view層進行綁定,并把相應的數據更新顯示到view層上。

各個處理層是否能夠相互協作,關鍵在于框架中各配置文件是否能夠正確編寫。其中spring-mvc.xml則實現了指定后綴視圖文件的視圖解析[12],自動掃描控制器,注解的啟動等功能;而myBatis.xml則實現了配置數據源的功能。另外,其還能自動掃描DAO層中所有接口,讓其與xxxmapping.xml一一對應起來,即可通過編寫數據庫操作語句來操作數據庫。

5 結論(Conclusion)

以家政平臺中的訂單模塊作為研究對象,先對其執行流程作出了介紹,接著介紹了分各端使用到的關鍵技術,最后就各端的設計與實現進行了詳細的介紹。該模塊的實現能基本滿足當前家政行業的市場需求,方便了雇主與服務者,結合了“互聯網+”與創新創業,為家政行業的發展起到推進作用。

參考文獻(References)

[1] Rattanachai R,Sreekaewin P,Sittichailapa T.Development of Thai rice implantation recommend system based on android operating system[J].Procedia-Social and Behavioral Sciences,2015,197:1048-1052.

[2] Dong C,Liu X.Development of android application for language studies[J].IERI Procedia,2013,4:8-16.

[3] Korkmaz I,Metin S K,Gurek A,et al.A cloud based and android supported scalable home automation system[J].Computers & Electrical Engineering,2015,43:112-128.

[4] 宋恒力.基于Android平臺與Web服務器的課程管理信息系統[J].電子技術,2014(12):59-63.

[5] 黃河清,陳文.Android平臺消息推送服務的實現[J].電腦編程技巧與維護,2014,18:53-55.

[6] 王艷清,陳紅.基于SSM框架的智能web系統研發設計[J].北京:北京化工大學,2012,12:33.

[7] 盧曉陽.JSON數據交換語言在Ajax技術中的應用[J].河南科技,2013(20):23.

[8] 于少波,李新明,劉東.基于B/S和MVC模式的武器裝備體系評估系統設計[J].太赫茲科學與電子信息學報,2015,13(4):

635-640.

[9] 葉斌,李玉榕,陳建國,等.基于Android系統的KOA運動監測系統研究[J]. 儀器儀表學報,2014(S2):7-11.

[10] 賈文杰,孫志峰.基于Android平臺的智能導游系統[J].機電工程,2011,28(10):1257-1259.

[11] 吳瓊.基于Android平臺下高校師生作業答題系統的設計與實現[J].農業網絡信息,2014(04):129-130.

[12] 廖嘉燦,侯超鈞.基于SSM和HttpClient的在線選課輔助系統的設計與實現[J].計算機與現代化,2016(10):116-120;126.

作者簡介:

梁榮鵬(1996-),男,本科生.研究領域:移動端應用程序研發.

陳世宇(1996-),男,本科生.研究領域:網站開發,微信小程序開發.

陳正銘(1978-),男,碩士,信息系統項目管理師(高級).研究領域:數據結構與計算機應用軟件開發.

彭玄璋(1962-),男,本科,講師.研究領域:計算機系統結構,嵌入式系統開發.

主站蜘蛛池模板: 国产一级在线观看www色| 99re66精品视频在线观看| 麻豆国产在线观看一区二区| 视频一本大道香蕉久在线播放| 色成人亚洲| 77777亚洲午夜久久多人| AV老司机AV天堂| 色婷婷成人| 精品伊人久久久大香线蕉欧美 | 国产亚卅精品无码| 午夜福利无码一区二区| 国产亚洲高清在线精品99| 精品无码日韩国产不卡av| 五月天福利视频| 亚洲系列中文字幕一区二区| 视频二区国产精品职场同事| 亚洲午夜综合网| 国产精品久久久免费视频| 激情网址在线观看| 人妻丝袜无码视频| 国产精品网拍在线| 国产精品对白刺激| 国产成人亚洲精品无码电影| 亚洲高清无码久久久| 国产亚洲视频免费播放| 91综合色区亚洲熟妇p| 91麻豆国产在线| 综合久久久久久久综合网| 国产午夜福利在线小视频| 国产美女人喷水在线观看| 91成人在线免费观看| 国产精品视频公开费视频| 久久网综合| 57pao国产成视频免费播放| 成年人福利视频| 亚洲制服丝袜第一页| 深爱婷婷激情网| 亚洲日本一本dvd高清| 在线日韩日本国产亚洲| 毛片视频网址| 国产成人精品男人的天堂下载| 无码丝袜人妻| 国产午夜在线观看视频| 亚洲自拍另类| 野花国产精品入口| 91精品人妻互换| 成人一区专区在线观看| 中文字幕无码av专区久久| 国内丰满少妇猛烈精品播 | 人妻丰满熟妇αv无码| 国产色偷丝袜婷婷无码麻豆制服| 亚洲欧美日韩动漫| 国产福利免费视频| a亚洲天堂| 99精品免费欧美成人小视频 | 欧美三级自拍| 欧美日韩专区| 中文字幕欧美日韩高清| 欧美日韩国产一级| 国产高清在线精品一区二区三区| av色爱 天堂网| 2021最新国产精品网站| 亚洲欧州色色免费AV| 国产成人超碰无码| 精品国产91爱| 国产精品久久久久久久伊一| 天天躁狠狠躁| 亚洲第一视频网| 国产精品尹人在线观看| 亚洲国产成人久久精品软件| 真人高潮娇喘嗯啊在线观看| 毛片视频网址| 777国产精品永久免费观看| 综合色天天| 久久精品欧美一区二区| 亚洲成AV人手机在线观看网站| 国产区福利小视频在线观看尤物| 亚洲天堂免费| 久久精品无码一区二区国产区| 一级毛片免费高清视频| 大陆精大陆国产国语精品1024| 亚洲中文字幕无码mv|