国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的寵物商城互動(dòng)平臺(tái)《Pap》的設(shè)計(jì)與應(yīng)用

2018-07-20 01:40葉建林陳銳植吳秋坤方燦坤林均濤
電腦知識(shí)與技術(shù) 2018年13期
關(guān)鍵詞:移動(dòng)APP網(wǎng)上商城

葉建林 陳銳植 吳秋坤 方燦坤 林均濤

摘要:現(xiàn)如今,隨著人們生活水平提高,寵物在人們心中的地位也越來越高。伴隨著Android和iOS移動(dòng)平臺(tái)的普及,人們對(duì)服務(wù)于他們的愛寵的APP的需求也越來越大。伴隨線下實(shí)體店的寵物美容和用品店之間競(jìng)爭(zhēng)的增加,實(shí)體店老板們對(duì)于打通線上銷售的渠道的需求也越來越大。綜合以上原因,團(tuán)隊(duì)設(shè)計(jì)開發(fā)這么一款將寵物,寵物主人和寵物美容店三者緊緊聯(lián)系在一起的APP。根據(jù)軟件工程的相關(guān)知識(shí),在需求分析的基礎(chǔ)上,設(shè)計(jì)了系統(tǒng)總體架構(gòu)及功能。使用Java語言和Android Studio開發(fā)工具開發(fā)App,運(yùn)用Service和Intent實(shí)現(xiàn)頁面的跳轉(zhuǎn),Share Preference和SQLite實(shí)現(xiàn)商品的數(shù)據(jù)中心,最后將產(chǎn)品UI、界面控制和數(shù)據(jù)庫整合,通過運(yùn)行和測(cè)試。這款A(yù)PP不但可以解決寵物主人不知去哪為愛寵美容的問題,而且提供給了寵物優(yōu)質(zhì)生活用品和提高了寵物美容店和用品店的營收。而且通過測(cè)試表明,該APP為用戶解決了相應(yīng)的難處,并給用戶的日常生活帶來了更多的便利和更好的體驗(yàn)。

關(guān)鍵詞:Android;Servlet;寵物服務(wù);網(wǎng)上商城;移動(dòng)APP

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)13-0100-04

The Design and Application of Pap, an Interactive Platform Based on Android

YE Jian-lin, CHEN Rui-zhi, WU Qiu-kun, FANG Chan-kun, LIN Jun-tao

(Xinhua College of Sun yat-sen University, Dongguan 512133, China)

Abstract: Nowadays, with the improvement of people's living standards, pets have a higher and higher status in people's hearts. With the popularity of Android and iOS mobile platforms, there is a growing demand for apps that serve their loved ones. With the increase in competition between the pet grooming and supply stores in offline stores, physical store owners are increasingly demanding access to online sales. For the above reasons, the team designed and developed an APP that connects pets, pet owners and pet beauty stores. Based on the knowledge of software engineering, the overall architecture and function of the system are designed on the basis of demand analysis. Using the Java language and Android Studio development tool App, use the Service and the Intent to realize the jump of the page, Share Preference and SQLite data center for their goods, finally the product UI, interface control and database integration, by running and testing. The APP will not only solve the problem of pet owners not knowing where to go for beauty, but also provide the pet with quality living products and increase the revenue of pet beauty shop and store. Moreover, the test shows that the APP solves the corresponding difficulties for users and brings more convenience and better experience to users' daily life.

Key words: Android; Servlet; Pet service; Online mall; Mobile APP

1 背景

根據(jù)中國產(chǎn)業(yè)信息網(wǎng)資料顯示,2015年中國寵物行業(yè)市場(chǎng)規(guī)模約為978億元,到2020年有望突破2000億元,2010-2020這十年增長期的年均復(fù)合增長率預(yù)計(jì)可達(dá)32.8%。而根據(jù)中國產(chǎn)業(yè)信息網(wǎng)資料顯示,2016年全球手機(jī)出貨量為14.7 億部,預(yù)計(jì)2017年和2018年全球手機(jī)出貨量分別為15.2億和15.8億部,未來幾年復(fù)合增速在3.5%左右。在寵物行業(yè)市場(chǎng)和手機(jī)行業(yè)市場(chǎng)良性發(fā)展的大背景下,現(xiàn)實(shí)生活當(dāng)中,有著許多的因主人臨時(shí)外出而寵物無人看管的場(chǎng)景。比如,某白領(lǐng)王某因公出差而家里的愛寵無人撫養(yǎng),所以急迫尋找可以代勞的人。其次,愛寵人士一定會(huì)為其愛寵的食物質(zhì)量是否安全健康有保障而擔(dān)憂。另外,愛寵們的主人們還會(huì)為尋找到可以給自己的愛寵修剪指甲、整理毛發(fā)、清潔全身、購買漂亮的小衣物的地方而發(fā)愁。

2 系統(tǒng)分析

2.1 系統(tǒng)目標(biāo)

為解決現(xiàn)實(shí)生活中存在的各種寵物與人之間的常見的生活上的各種問題,Pap寵物商城交流互動(dòng)平臺(tái)需要以技術(shù)為主,必須開發(fā)出相應(yīng)的計(jì)算機(jī)平臺(tái)系統(tǒng)。該平臺(tái)系統(tǒng)主要包括以下組成部分:服務(wù)器端,接收客戶端所有請(qǐng)求,同時(shí)提供數(shù)據(jù)存儲(chǔ)服務(wù);客戶端,提供用戶注冊(cè)、登錄、發(fā)布寄養(yǎng)信息、接收寄養(yǎng)信息以及商城購物等功能。

2.2 系統(tǒng)功能

寵物商城交流互動(dòng)平臺(tái)Pap的主要功能有:發(fā)布寄養(yǎng)信息、接收寄養(yǎng)信息、完成寄養(yǎng)和商城購物。如圖1。

注冊(cè)登錄:為確保每個(gè)用戶的信息的完整性,用戶除填寫賬號(hào)密碼外還需要提供手機(jī)號(hào)碼、通訊地址和郵箱等信息進(jìn)行注冊(cè)。注冊(cè)時(shí)將會(huì)提交數(shù)據(jù)到Pap的服務(wù)器端,然后服務(wù)器端校驗(yàn)數(shù)據(jù)庫中是否存在相同的賬號(hào)信息。如若信息匹配相同則不通過,反之注冊(cè)登錄成功。

發(fā)布寄養(yǎng)信息:注冊(cè)登錄后便可發(fā)布寄養(yǎng)信息,在填寫好相關(guān)信息,如寵物名字、寄養(yǎng)天數(shù)、寄養(yǎng)酬勞和備注等信息后便可以發(fā)布了。

接收寄養(yǎng)信息:注冊(cè)登錄后便可接收寄養(yǎng)信息,在根據(jù)自身實(shí)際情況,在寄養(yǎng)欄選定合適的寄養(yǎng)訂單后,便可以接下寄養(yǎng)信息了。

商城購物:注冊(cè)登錄后便可以通過購物欄進(jìn)行商品的瀏覽,加入購物車或者立即購買。

3 系統(tǒng)設(shè)計(jì)

3.1 寵物商城互動(dòng)平臺(tái)關(guān)鍵抽象

關(guān)鍵抽象是概要設(shè)計(jì)的不,即將需求模型中的關(guān)鍵實(shí)體以及實(shí)體之間的關(guān)系識(shí)別并抽取出來,亦即領(lǐng)域模型,如圖2所示為寵物商城互動(dòng)平臺(tái)的關(guān)鍵抽象。

3.2 寵物商城互動(dòng)平臺(tái)架構(gòu)描述

該平臺(tái)系統(tǒng)采用了 MVC(Model-View-Controller)設(shè)計(jì)模式,實(shí)現(xiàn)一個(gè)典型的三層架構(gòu)模型。三層模型包括:表示層(UI 層),業(yè)務(wù)邏輯層以及數(shù)據(jù)訪問層。

1)表示層

表示層負(fù)責(zé)接收用戶的命令,交給控制層處理,并顯示處理結(jié)果。實(shí)現(xiàn)上,我們將采用 J2SE 的 SWING 框架,則表示層主要由一系列的窗體和控件組成。監(jiān)聽器的功能是對(duì)用戶的輸入進(jìn)行監(jiān)聽,并調(diào)用控制層提供的接口進(jìn)行數(shù)據(jù)傳遞。

2)業(yè)務(wù)邏輯層

業(yè)務(wù)邏輯層是系統(tǒng)的核心組成部分。管理所有系統(tǒng)功能有關(guān)的數(shù)據(jù)流和控制流,從而實(shí)現(xiàn)系統(tǒng)的邏輯功能。向上提供服務(wù)接口給表示層調(diào)用。在控制層中,不同的子系統(tǒng)提供獨(dú)立的服務(wù)接口,各自獨(dú)立實(shí)現(xiàn),互不干預(yù)影響。

3)數(shù)據(jù)訪問層

數(shù)據(jù)訪問層是包括了數(shù)據(jù)實(shí)體和持久化邏輯實(shí)現(xiàn),并向上提供接口。屬于不同子系統(tǒng)的數(shù)據(jù)實(shí)體放置在不同的包中。而持久化邏輯統(tǒng)一實(shí)現(xiàn),本系統(tǒng)將采用輕量級(jí)的嵌入式數(shù)據(jù)庫derby,其優(yōu)點(diǎn)是小巧方便,客戶機(jī)上無需進(jìn)行復(fù)雜的數(shù)據(jù)庫服務(wù)器的安裝和配置。持久化邏輯可以采用不同的實(shí)現(xiàn),不同的子系統(tǒng)不規(guī)定要使用同一個(gè)持久化邏輯。

3.3 界面流程設(shè)計(jì)

寵物商城互動(dòng)平臺(tái)Pap的界面流程設(shè)計(jì)如圖3所示。

4 系統(tǒng)實(shí)現(xiàn)

寵物商城互動(dòng)平臺(tái)Pap采用C/S架構(gòu),它由客戶端和服務(wù)器端兩個(gè)部分組成。

4.1 客戶端應(yīng)用程序

客戶端采用Java編寫以及Android studio來開發(fā)。采用MVC(Model-View-Controller)設(shè)計(jì)模式,網(wǎng)絡(luò)請(qǐng)求通過Http Client類實(shí)現(xiàn),本地?cái)?shù)據(jù)存儲(chǔ)則通過Shared Preference類實(shí)現(xiàn)。寵物商城互動(dòng)平臺(tái)實(shí)現(xiàn)如圖4所示。

Pap當(dāng)中的主要功能發(fā)布寄養(yǎng)信息是通過發(fā)送http請(qǐng)求到服務(wù)端,然后再從服務(wù)端返回?cái)?shù)據(jù)到客戶端來實(shí)現(xiàn)的。其中主要通過線程類Thread提交數(shù)據(jù)到服務(wù)端,然后通過JSON Array解析數(shù)據(jù)集合取出消息對(duì)象,最后通過List View展示數(shù)據(jù)。代碼如下:

提交數(shù)據(jù)給服務(wù)端:

new Thread(new Runnable() {

@Override

public void run() {

BasicNameValuePair bnvp0 = new BasicNameValuePair("uid",Constant.user.getUserid()); //userlist.get(0).getUerid().toString()

BasicNameValuePair bnvp1 = new BasicNameValuePair("brand",EtBrand.getText().toString());

BasicNameValuePair bnvp2 = new BasicNameValuePair("price",EtPrice.getText().toString());

BasicNameValuePair bnvp3 = new BasicNameValuePair("des",EtDes.getText().toString());

BasicNameValuePair bnvp4 = new BasicNameValuePair("dic",imagepath);

BasicNameValuePair bnvp5 = new BasicNameValuePair("pic",imageName);

BasicNameValuePair bnvp6 = new BasicNameValuePair("bcount","0");

String response = UploadByServlet.post(url,bnvp0,bnvp1,bnvp2,bnvp3,bnvp4,bnvp5,bnvp6);

Message msg = new Message();

msg.obj = response;

msg.what = 1;

handler.sendMessage(msg);

}

}).start();

發(fā)送數(shù)據(jù)給客戶端:

public List getFostList(String url){

List mylist = new ArrayList();

String response = getByServlet(url); //獲取list

try{

JSONArray ja = new JSONArray(response);

for(int i = 0;i < ja.length(); i++) {

JSONObject jo = ja.getJSONObject(i);

Fosterage fosterage = new Fosterage();

fosterage.setId(jo.getInt("id"));

fosterage.setTitle(jo.getString("title"));

fosterage.setDes(jo.getString("des"));

fosterage.setPrice(jo.getDouble("price"));

fosterage.setDic(jo.getString("dic"));

fosterage.setPic(jo.getString("pic"));

fosterage.setAddress(jo.getString("address"));

fosterage.setDay(jo.getString("day"));

fosterage.setDate(jo.getString("date"));

fosterage.setUid(jo.getString("uid"));

mylist.add(fosterage);

}

}catch(Exception e){

e.printStackTrace();

}

return mylist;

}

4.2 后臺(tái)服務(wù)器端實(shí)現(xiàn)

客戶端應(yīng)用程序主要通過WiFi或3G、4G網(wǎng)絡(luò)連接方式連接到Web服務(wù)器端??蛻舳送ㄟ^http請(qǐng)求將相關(guān)參數(shù)傳輸?shù)椒?wù)器端(數(shù)據(jù)采用AES雙向加密傳輸),服務(wù)器端接收數(shù)據(jù)后進(jìn)行業(yè)務(wù)邏輯處理,對(duì)數(shù)據(jù)庫的數(shù)據(jù)根據(jù)相應(yīng)的操作進(jìn)行增刪改查,并將查詢結(jié)果以JSON數(shù)據(jù)格式返回給客戶端。服務(wù)器端則采用了Servlet提供后臺(tái)服務(wù)和管理。其中,Servlet用于接收服務(wù)器請(qǐng)求,并將處理后的響應(yīng)內(nèi)容傳給服務(wù)器,由服務(wù)器將響應(yīng)內(nèi)容返回給客戶端。服務(wù)器端是部署在騰訊云上,數(shù)據(jù)采用MySQL數(shù)據(jù)庫存儲(chǔ)。

Servlet是Java Servlet的簡(jiǎn)稱,稱為服務(wù)連接器,用Java語言編寫的服務(wù)器端程序,主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。在本系統(tǒng)中,服務(wù)器端應(yīng)用程序使用Servlet的do Post方法返回JSON數(shù)據(jù)給客戶端。代碼如下:

protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{

String state1 = "";

request.setCharacterEncoding("utf-8");

String uid = request.getParameter("uid");

String name = request.getParameter("name");

String price1 = request.getParameter("price");

String des = request.getParameter("require");

String day = request.getParameter("day");

String date = request.getParameter("date");

String address = request.getParameter("address");

String dir = UploadServlet.getPath();

String pic = UploadServlet.getName();

double price = Double.parseDouble(price1);

DBUtil dbutil = new DBUtil();

state = dbutil.setFosterageState(uid, name, price,des, pic, dir, day,date);

state1 = String.valueOf(state);

OutputStream os = response.getOutputStream();

os.write(state1.toString().getBytes());

猜你喜歡
移動(dòng)APP網(wǎng)上商城
商業(yè)銀行進(jìn)軍網(wǎng)上商城的優(yōu)劣勢(shì)分析
山西省政府采購網(wǎng)上商城采購?fù)黄?億元
信息技術(shù)環(huán)境下會(huì)計(jì)專業(yè)教學(xué)模式的構(gòu)建
高校學(xué)習(xí)者對(duì)日語學(xué)習(xí)APP使用狀況的研究調(diào)查
大學(xué)生利用移動(dòng)APP自主學(xué)習(xí)英語的現(xiàn)狀調(diào)查研究
移動(dòng)APP在英語教學(xué)中的應(yīng)用研究