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

高校網上跳蚤市場Android客戶端的實現

2015-07-05 00:52:37莊海濤田柏玉錢旭
科技資訊 2015年34期

莊海濤 田柏玉 錢旭

摘 要:目前,二手物品交易成為當代大學生課余生活的一大熱門。校園跳蚤市場商品多樣、價格低廉,備受同學們的青睞,有實體跳蚤市場和網上跳蚤市場兩種形式,仍以實體跳蚤市場為主。實體跳騷市場的功能很局限,交易效率低,無法很好地完成物品交換。而網上跳蚤市場,由于并不單獨針對高校學生,個人的安全便無法保障,在交易過程中容易上當受騙。針對以上的問題,為了滿足高校學生二手交易的需求,該文重點研究和設計了一款大學校園二手交易Android客戶端——高校網上跳蚤市場,它具有良好的創新性與實用性,利用在校大學生的學號信息進行實名注冊,使高校學生能夠更安全、更便捷地進行二手物品交易。

關鍵詞:二手交易 網上跳蚤市場 Android 實名注冊

中圖分類號:TP39 文獻標識碼:A 文章編號:1672-3791(2015)12(a)-0026-03

在高校里,傳統的二手交易形式一般表現為一年一度的跳騷市場,通常集中于畢業之際。首先,跳騷市場時間長度很局限;其次,在跳騷市場舉辦期間,會造成學校交通的擁擠;另外,同學在搜集二手物品信息時沒有目標性,交易效率很低。對于高校大學生這個群體,急需創建新型的大學校園二手物品交易平臺。

該文在Android平臺的移動終端下,設計開發了一個借助在校大學生學號信息實現實名注冊的高校網上跳蚤市場應用軟件,極大地提高了交易的可靠性。通過登錄個人賬號,可隨時管理個人主頁信息的發布與收藏。另外,在這款軟件中具有物品分類選項,加上個人對交易物品的文字描述和圖片展7示,更加方便同學們尋找自己需要的物品。相比傳統的二手交易方式有著更加強大的功能,在全國高校內具有很大的實現和使用價值。

該文主要說明了軟件架構設計、總體功能結構設計以及軟件實現。

1 軟件總體設計

1.1 軟件架構設計

“高校網上跳蚤市場”由客戶端和服務器端結合。客戶端主要負責與用戶進行交互,完成注冊、登錄、發布物品信息等操作;服務器負責對用戶的請求進行處理,并在客戶端和數據庫之間傳輸數據;客戶端與服務器則通過服務器接口進行相互通信[1]。

1.2 總體功能結構設計

為了滿足用戶需求,制定如下功能模塊,各功能模塊如圖1所示.

2 軟件實現

2.1 服務器

服務器提供一個API接口,當客戶端發來請求時,服務器會把請求中的字符串轉化成json格式的數據字段,然后根據請求字段中的type來轉入相應的程序流程處理請求[2]。

(1)用戶注冊。

用戶注冊會接收參數sno(學號),school(學校),password(密碼),qq(qq號),moblie(聯系電話),userName(用戶昵稱)六個參數,然后根據學號和學校查詢未注冊用戶表中的用戶,將查到的用戶從未注冊的用戶表中刪除,在已注冊的用戶表中添加用戶并給相應的屬性復值,并根據用戶的密碼明文生成sha1加密用戶密碼,最后保存該用戶。

(2)用戶登錄。

用戶登陸請求會接收兩個參數 username 和 password ,從已注冊的用戶表中查詢該用戶,如果查詢服務器根據當前的時間生成sessionid來標識本次會話,sessionid保存在會話表中,然后返回給客戶端sessionid,并將用戶昵稱字段存進cookie和session數據中,返回給客戶端。sessionid和用戶昵稱存進會話信息表中。如果在注冊的用戶表中查不到相應用戶則返回用戶不存在。

(3)獲取最近的物品發布信息。

用戶登陸后首先獲得最近期的10個交易,該請求接收兩個參數recent-start和recent-end表示獲得交易數量的起點和終點,首先請求會從請求頭中解析本次會話的sessionid,如果數據庫中包含該sessionid則表示該用戶現在是登陸狀態,可以繼續進行請求。

(4)獲取用戶基本信息。

請求接收用戶昵稱參數,從數據庫中查出該用戶后取出用戶的真實姓名,昵稱,學校,電話,qq號并封裝成字典返回。用戶不存在返回提示信息。

(5)發布一個物品。

接收上傳用戶昵稱,交易標題,簡介,類別參數。根據交易的標題和當前時間生成交易的sha1來唯一標識該交易,計算出當前時間,在數據庫交易表中創建一個新的交易,并將交易的屬性根據之前的參數賦值,之后保存該交易。返回該交易的sha1和上傳用戶昵稱。

圖片上傳在創建交易請求之后執行,接收一個交易sha1參數和圖片的二進制數據參數。首先從圖片的二進制數據中獲取圖片名稱,根據名稱和當前時間生成圖片sha1來唯一表示。再由圖片的數據生成圖片文件和縮略圖文件并保存。最后在圖片表里創建一個圖片的數據,將所屬的交易sha1和圖片sha1存入數據庫。

(6)獲取單個發布物品的詳情。

請求接收交易的sha1和上傳用戶昵稱作為參數。首先根據交易sha1從數據庫中得到該交易,取出交易的類別,簡介,標題,時間屬性封裝成字典,返回屬性值。在根據用戶昵稱和交易sha1在用戶收藏表中取值,如果取到則表明用戶已經收藏,反之沒有收藏,返回是否收藏的標志。根據交易sha1在交易圖片表中取出交易圖片的sha1,返回圖片sha1[3]。

(7)收藏和取消收藏。

收藏:接收用戶昵稱和交易sha1參數,然后根據昵稱和sha1在用戶收藏表中判斷該收藏是否存在,如果存在返回你已經收藏過,不存在就在用戶收藏表中添加一個收藏。

取消收藏:接收戶昵稱和交易sha1參數, 然后根據昵稱和sha1在用戶收藏表中判斷該收藏是否存在,如果存在就刪除交易,不存在就會返回錯誤信息提示收藏不存在。

(8)獲取我發布的物品。

接收開始和結束的數量參數,從session數據中獲取當前用戶昵稱,在根據開始和結束數量從交易表中取出制定數量的當前用戶發布的交易,再分別對每一個交易取出各項屬性,根據用戶收藏表判斷用戶是否收藏過,根據圖片表取出交易的圖片,把各項屬性值封裝成字典,形成一個屬性集合的列表,對列表按照時間排序后返回。

(9)獲取我收藏的物品。

接收開始和結束的數量參數,從session數據中獲取當前用戶昵稱,根據用戶昵稱在收藏表中取出所有當前用戶收藏的交易sha1,再分別對每一個sha1取出對應的交易,取出交易的各項屬性值,在圖片表里取出對應圖片形成交易的信息的字典。把每個交易信息按照時間排序后返回。

(10)按照分類獲取發布的物品。

接收類別參數,開始和結束的數量參數從session數據中獲取當前用戶昵稱,根據類別在交易表中找到所有當前類別的交易,在根據數量參數得到對應的交易,再分別對每一個交易取出所有屬性,在圖片表里取出對應圖片,在收藏表里取出當前用戶是否收藏過,形成一個交易的屬性的字典。返回所有交易字典的列表。

2.2 客戶端

手機客戶端采用android平臺。

程序中需要頻繁地發送http請求和接收http回復,如果將請求和回復分別在每一個activity中都進行定義的話,勢必會導致程序代碼量增大,結構混亂。同時,如果一個請求需要在不同的activity中執行,就會出現重復定義的問題。因此,在整個應用中,最重要的就是對整體框架的搭建[4]。

(1)定義兩個接口CollegeBarterRequest和CollegeBarterResponse。

在CollegeBarterRequest中定義方法toJsonString()和getType()。toJsonString()用來將字符串轉換成http請求中需要用到的JSON數據,getType()返回當前請求的類型。

在CollegeBarterResponse中定義方法fromJsonString()、getType()和getStatus()。fromJsonString()用來將服務器返回的JSON數據進行解析,獲取需要獲得的字段值,getType()返回當前回復的類型,getStatus()返回是否正確的對數據進行解析。

在程序中每一個http請求和回復都要分別實現上述兩個接口。

(2)自定義一個CollegeBarterClient用來處理http的請求和回復。

在構造函數中,初始化應用程序需要訪問的服務器地址。

定義一個函數CollegeBarterResponse executeRemoteComm

and(CollegeBarterRequest request, AppData appData)。在這個函數中,需要初始化一個HttpPost,然后將需要上傳的數據添加到NameValuePair類型的參數里面,包括驗證用戶是否登錄的sessionId。在接收到http回復之后,通過request的不同類型對http回復執行不同的操作。

(3)定義類CollegeBarterOperation實現一個Runnable接口。

在CollegeBarterOperation中,通過線程發送http請求,接收http請求后,通過handle.post進行通知。可以避免由于服務器沒有響應導致UI線程超時,應用程序出現ANR(Application No Response)的問題。

(4)定義接口CollegeBarterOperationListener。

在接口中定義方法onCollegeBarterOperationFinish()。在每一個需要進行服務器通訊的activity中實現這個接口,可以在當前activity中的onCollegeBarterOperationFinish()中接收到對應請求的回復,從而對回復進行處理。

3 結語

“高校網上跳蚤市場”是針對當前跳蚤市場的現狀和校園對跳蚤市場的需求開發的,目標人群是在校大學生。通過實名制的注冊與登錄,可以查看到發布者的個人真實有效的信息。因此,無論是對賣家還是對買家而言,都提供了一個良好的交易平臺。此外,軟件的功能設計完善,可做到更高效、更便捷地處理高校大學生的閑置物品,減少浪費,提高物品利用率。

參考文獻

[1] 楊豐盛.Android應用開發揭秘[M].北京:機械工業出版社,2010:88-91.

[2] 范懷宇.Android開發精要[M].北京:機械工業出版社,2012:154-156.

[3] 孟巖.Android組件模型評析(上)[J].程序員,2008(1):49-51.

[4] 張棟棟,徐峰.一個移動應用個性化集成框架的研究及其在Android平臺的實現[J].計算機科學,2014(11):63-68.

主站蜘蛛池模板: 91亚洲免费视频| 91视频精品| 亚洲国产欧美中日韩成人综合视频| 三级欧美在线| 影音先锋亚洲无码| 偷拍久久网| 日韩美一区二区| 伊人激情综合网| 国产精品自在在线午夜| 欧美成人免费| 国产精品99久久久久久董美香| 欧美精品一区二区三区中文字幕| 国产精品黄色片| 精品久久久久无码| 亚洲乱码在线播放| 欧美精品亚洲精品日韩专区va| 亚洲无码精彩视频在线观看| 香蕉蕉亚亚洲aav综合| 亚洲成人播放| 五月婷婷伊人网| 亚洲伊人天堂| 99尹人香蕉国产免费天天拍| 久久久久中文字幕精品视频| 青青青视频免费一区二区| 欧美精品亚洲日韩a| 99激情网| 亚洲精品在线影院| 国产黄在线观看| 亚洲人精品亚洲人成在线| 看看一级毛片| 日韩无码视频网站| 99热这里只有成人精品国产| 亚洲第一成人在线| 无码高潮喷水专区久久| 亚洲天堂精品在线| 久久毛片网| 国产一区二区三区免费观看| 欧美午夜在线观看| 亚洲视屏在线观看| 欧美成人a∨视频免费观看 | 全裸无码专区| 成人小视频在线观看免费| 91视频日本| 国产欧美日韩va另类在线播放| 国产18页| 国产av无码日韩av无码网站| 不卡无码h在线观看| 在线精品亚洲一区二区古装| 亚洲国产中文精品va在线播放| 亚洲全网成人资源在线观看| 在线欧美国产| 色噜噜狠狠色综合网图区| 亚洲天堂精品在线观看| 亚洲国产高清精品线久久| a级毛片视频免费观看| 欧美日韩第三页| 人妻无码AⅤ中文字| 亚洲成a人片在线观看88| 91视频国产高清| 试看120秒男女啪啪免费| 国产成人一区免费观看| 色综合激情网| 亚洲一道AV无码午夜福利| 夜夜操狠狠操| 国产精品99r8在线观看| 日韩小视频在线播放| 成人福利在线观看| 乱人伦中文视频在线观看免费| 亚洲无码在线午夜电影| 亚洲第一色网站| 一级片一区| 亚洲精品少妇熟女| 成人a免费α片在线视频网站| 日韩精品免费在线视频| 日韩无码黄色网站| 国产午夜无码专区喷水| 日本高清视频在线www色| 97se亚洲综合在线| 不卡的在线视频免费观看| 国产微拍一区| 国产成人高清精品免费| 国产免费黄|