潘益婷,肖鵬飛
(1.浙江工貿(mào)職業(yè)技術(shù)學(xué)院,浙江溫州325003;2.溫州職業(yè)技術(shù)學(xué)院,浙江溫州325035)
在后工業(yè)時代,市場需要個性化、有創(chuàng)意的商品和服務(wù),而且創(chuàng)意與生活密不可分,創(chuàng)意能把生活中很簡單的東西進行升華。隨著互聯(lián)網(wǎng)應(yīng)用的不斷創(chuàng)新和深入,以及移動終端智能化的普及,越來越多優(yōu)秀的創(chuàng)意通過網(wǎng)絡(luò)找到了一條實現(xiàn)市場價值的新途徑。陰艷超[1]等設(shè)計了最優(yōu)客戶創(chuàng)意算法,將該算法應(yīng)用于客戶創(chuàng)意挖掘中,有效指導(dǎo)產(chǎn)品創(chuàng)新的實施。
鄭楓[2]采用SSH開發(fā)框架和MySQL數(shù)據(jù)庫設(shè)計實現(xiàn)了基于網(wǎng)絡(luò)的絲綢圖案創(chuàng)意系統(tǒng)。李曉楠[3]通過Web界面為用戶提供數(shù)字媒體與文化創(chuàng)意社區(qū)。林靂[4]建立基于Java Web的創(chuàng)意眾籌網(wǎng)站系統(tǒng)。但是以上研究關(guān)于創(chuàng)意系統(tǒng)的移動應(yīng)用方面闡述較少,缺乏有實際應(yīng)用針對性強的移動互聯(lián)網(wǎng)解決方案。因此,如何建立一個面向移動平臺的創(chuàng)意工坊系統(tǒng)具有現(xiàn)實意義,將大眾的“夢想”、“點子”通過文字、圖片、視頻等方式融入到移動應(yīng)用中,達(dá)到“讓生活遍及創(chuàng)意,讓創(chuàng)意豐富生活”的目的。
移動創(chuàng)意工坊系統(tǒng)分為Android客戶端和Web服務(wù)端兩部分,系統(tǒng)的功能結(jié)構(gòu)圖如圖1所示??蛻舳说墓δ苤饕?個模塊:(1)用戶模塊。包括用戶注冊、登錄、修改密碼、收藏活動視頻、評論活動視頻、查看收藏夾訂單等功能。(2)活動模塊。用戶可以查詢活動列表,查看活動詳情,上傳自己的創(chuàng)意活動,對活動進行收藏、購買、評價等。(3)視頻模塊。用戶可以查看視頻詳情、播放視頻、評論視頻等。(4)收藏模塊。用戶可以收藏自己喜歡的活動和視頻。(5)訂單模塊。用戶購買創(chuàng)意活動后,可查看訂單的狀態(tài),完成訂單的付款、確認(rèn)收貨等。(6)評論模塊。用戶對購買的創(chuàng)意活動有評價功能,也可以對創(chuàng)意視頻進行評價。
服務(wù)端的功能主要包含6個模塊:用戶管理、活動管理、視頻管理、收藏夾管理、訂單管理、評論管理。管理員在服務(wù)端登錄后,可以對客戶端用戶進行查詢等管理,可以進行創(chuàng)意活動、視頻的上傳、修改、查詢等管理,還可以對用戶的收藏夾、評論、訂單進行相應(yīng)管理。服務(wù)端所有用戶、活動、視頻、評論等數(shù)據(jù)都存儲在MySQL數(shù)據(jù)庫中。
圖1 系統(tǒng)功能結(jié)構(gòu)圖
系統(tǒng)分為客戶端和服務(wù)端,采用C/S架構(gòu)[5],系統(tǒng)的架構(gòu)設(shè)計圖如圖2所示。客戶端是運行在Android移動平臺[6]上,利用Fragment、ListView、子線程、Handler等技術(shù)完成系統(tǒng)界面的展示,發(fā)送登錄、查看活動、收藏視頻等請求到服務(wù)器,顯示服務(wù)器返回的結(jié)果。
服務(wù)端采用MVC設(shè)計模式[7],提高系統(tǒng)的可擴展性和可維護性,利用Struts2、Spring、Hibernate框架和MySQL數(shù)據(jù)庫[8]實現(xiàn)對創(chuàng)意活動、視頻、用戶、收藏夾、訂單等所有數(shù)據(jù)的存儲和管理。服務(wù)端接收客戶端的請求,進行相關(guān)信息的查詢或新增等操作,并將結(jié)果通過JSON格式返回給移動客戶端。
客戶端與服務(wù)端之間使用HTTP協(xié)議[9]進行通信,利用JSON格式[10]進行數(shù)據(jù)交互。前臺客戶端是移動應(yīng)用,后續(xù)如果需要可以利用SSH框架[11]輕松實現(xiàn)Web程序。后臺服務(wù)器主要用來提供數(shù)據(jù)的增刪改查管理。
圖2 系統(tǒng)架構(gòu)設(shè)計圖
Android客戶端利用Fragment、ListView、子線程、Handler等技術(shù)實現(xiàn)Android客戶端:1)使用Fragment、ViewPager實現(xiàn)頁面點擊切換和手勢滑動,如活動和視頻的簡介頁面和評論頁面,訂單的待付款、待確認(rèn)、待評論頁面等。Fragment可以方便地實現(xiàn)Activity界面之間的切換,創(chuàng)建靈活的UI設(shè)計適應(yīng)移動設(shè)備不同屏幕尺寸,以及動態(tài)的添加、替換或移除某個Fragment。2)使用ListView控件以列表的形式展示具體內(nèi)容,根據(jù)數(shù)據(jù)的長度自適應(yīng)顯示。這里展示的內(nèi)容需要通過子線程發(fā)送HTTP請求訪問服務(wù)端來獲取相應(yīng)的JSON數(shù)據(jù),再通過Handler去解析JSON數(shù)據(jù),最后將數(shù)據(jù)通過適配器展示在ListView控件。
客戶端利用子線程和Handler獲取解析展示數(shù)據(jù)的流程分析如圖3所示,其中主線程不能直接發(fā)送HTTP請求,因為網(wǎng)絡(luò)訪問很有可能造成阻塞,這樣主線程會出現(xiàn)假死現(xiàn)象,導(dǎo)致很不好的用戶體驗,所以網(wǎng)絡(luò)請求等耗時操作必須通過子線程來完成。而且子線程不能直接更新UI,常用的處理方法是通過消息機制由Handler來更新界面。
圖3 客戶端獲取解析展示數(shù)據(jù)流程
Web服務(wù)端利用SSH框架(Struts2、Spring、Hibernate)實現(xiàn)Web服務(wù)端。SSH框架將整個系統(tǒng)分為:表示層、業(yè)務(wù)層、持久層和實體層:1)表示層利用Struts框架實現(xiàn),通過JSP頁面進行交互,根據(jù)Struts中的配置文件將請求委派給相應(yīng)的Action處理,并將結(jié)果返回。2)業(yè)務(wù)層由Spring框架實現(xiàn)具體業(yè)務(wù)邏輯處理,Spring是一個輕量級的IOC和AOP容器框架,能很好地與其他框架集成,使Struts與Hibernate更好地工作。3)數(shù)據(jù)持久層由Hibernate框架實現(xiàn),處理與數(shù)據(jù)庫的交互操作,利用對象關(guān)系映射,把對數(shù)據(jù)庫的操作轉(zhuǎn)化為對象的操作,處理請求數(shù)據(jù),并返回處理結(jié)果。4)實體層即模型,它與MySQL數(shù)據(jù)庫中的表一一對應(yīng)。
服務(wù)端利用SSH框架實現(xiàn)對數(shù)據(jù)的分頁查詢操作的流程分析如圖4所示,Action接收請求,將請求分發(fā)給相應(yīng)的Service去處理業(yè)務(wù)邏輯,具體的數(shù)據(jù)則需要訪問Dao層獲得,Dao層與數(shù)據(jù)庫交互,獲取的是所有滿足條件的數(shù)據(jù),如果要獲取一頁的數(shù)據(jù),則還需要通過工具類來完成。
圖4 服務(wù)端分頁查詢數(shù)據(jù)流程
Android客戶端與Web服務(wù)端使用HTTP協(xié)議和JSON數(shù)據(jù)進行網(wǎng)絡(luò)通信和數(shù)據(jù)交互。HTTP是超文本傳輸協(xié)議,是客戶端/瀏覽器與服務(wù)器之間信息交互的方式,它分四個過程:通過URL建立連接,發(fā)送請求信息,發(fā)回響應(yīng)信息,關(guān)閉連接。JSON是一種輕量級的數(shù)據(jù)交互格式,類似XML,但比XML更小、更快、更易解析。Android客戶端與Web服務(wù)端交互的具體過程為:1)客戶端發(fā)送HTTP請求到服務(wù)端,比如查看“情人節(jié)創(chuàng)意表白”活動列表;2)服務(wù)端接收客戶端請求參數(shù),通過在MySQL數(shù)據(jù)庫進行模糊查詢得到結(jié)果;3)服務(wù)端將結(jié)果數(shù)據(jù)封裝為JSON格式返回給客戶端;4)客戶端解析服務(wù)端返回的JSON數(shù)據(jù)并展示在界面上。
Android客戶端的訂單支付功能調(diào)用的是支付寶來完成用戶的移動支付功能,具體的支付流程如圖5所示。用戶使用APP發(fā)起訂單支付,該訂單由SSH服務(wù)端創(chuàng)建,并調(diào)用支付寶支付接口,支付寶會將支付結(jié)果通知SSH服務(wù)端。這里移動支付安全由支付寶負(fù)責(zé),支付寶通過支付密碼、無線支付、風(fēng)險監(jiān)控、數(shù)字證書等保障支付安全。該系統(tǒng)還通過HTTPS實現(xiàn)安全性,加密用戶與系統(tǒng)之間的交互訪問。HTTPS是一種基于SSK協(xié)議的加密傳輸協(xié)議,安裝SSL證書后,使用HTTPS加密協(xié)議訪問,可激活客戶端和服務(wù)器之間的SSL加密通道,從而實現(xiàn)高強度雙向加密傳輸,防止傳輸數(shù)據(jù)被泄露或篡改。HTTPS簡單來說相當(dāng)于HTTP加SSL,是HTTP的安全版。
系統(tǒng)的運行環(huán)境如下:Win7操作系統(tǒng)、Android4.4 手 機、 Android Studio、Tomcat7.0、 My-Eclipse、MySQL。
系統(tǒng)目前已經(jīng)在情人節(jié)前進行了應(yīng)用,管理員上傳了關(guān)于情人節(jié)告白主題的一些創(chuàng)意活動和創(chuàng)意視頻,用戶登錄系統(tǒng)后可以搜索查看這些信息,對這些創(chuàng)意進行收藏和購買,還可以上傳自己的創(chuàng)意。系統(tǒng)界面簡潔,操作方便,在Android手機上可以快速安裝使用,方便用戶隨時隨地瀏覽、分享、實現(xiàn)各種創(chuàng)意,真正讓創(chuàng)意豐富人們的生活。
圖6是客戶端的創(chuàng)意視頻詳情界面,用戶點擊查看某一創(chuàng)意視頻的詳細(xì)介紹,包括視頻標(biāo)題和播放次數(shù)等信息,滑動還可以查看該視頻的評論信息;圖7是服務(wù)端的創(chuàng)意視頻管理界面,管理員登錄后擁有對視頻的增改權(quán)限,所有視頻分頁顯示。
圖5 用戶完成移動支付流程
圖6 客戶端視頻詳情界面
圖7 服務(wù)端視頻管理頁面
本文在分析了當(dāng)前市場對創(chuàng)意商品和服務(wù)的需求,以及移動互聯(lián)網(wǎng)產(chǎn)品的不斷創(chuàng)新深入的基礎(chǔ)上,提出“互聯(lián)網(wǎng)+創(chuàng)意”的思路,研究分析了HTTP協(xié)議、SSL證書、JSON數(shù)據(jù)、子線程與Handler、SSH框架等技術(shù),設(shè)計了基于移動平臺和SSH框架的創(chuàng)意工坊系統(tǒng),將大眾的“夢想”、“點子”通過文字、圖片、視頻等方式融入到移動應(yīng)用中,使得用戶可以隨時隨地搜索、瀏覽、收藏、購買、評價、上傳各種創(chuàng)意,達(dá)到“讓生活遍及創(chuàng)意,讓創(chuàng)意豐富生活”的目的。
本系統(tǒng)經(jīng)過一段時間的運行使用情況良好,后續(xù)隨著新需求的提出和數(shù)據(jù)量的增加仍然需要做進一步的完善和拓展。