吳浩源
摘 要:針對目前家庭中存在的閑置圖書過多而又不能很好利用的情況,構建了基于社區(qū)家庭用戶的社區(qū)書籍分享系統(tǒng),該系統(tǒng)實現(xiàn)了閑置書籍的循環(huán)再利用,做到物盡其用,同時也體現(xiàn)了綠色共享的發(fā)展理念。系統(tǒng)采用手機APP/SERVER為技術架構,利用J2EE技術實現(xiàn),基于用戶和書籍二者之間供需關系,建立手機APP分享系統(tǒng),使用戶在手機上就可以方便的進行書籍地分享和交互,通過共享-借閱模式實現(xiàn)了家庭圖書的流動,讓人們在閱讀中感受分享的快樂。
關鍵詞:社區(qū); 書籍分享; 手機; APP; HTTP協(xié)議
Abstract: In view of the fact that there are too many idle books in the family and they can't be used very well, a community books sharing system based on community family users is constructed. The system realizes the recycling of idle books, makes the best use of them, and embodies the concept of green sharing. The system adopts the mobile APP/Server as the technical framework, uses J2EE technology to realize. Based on the supply and demand relationship between the users and books, the system establishes a mobile APP sharing system, enabling users to share books and interact with each other conveniently on mobile phones. The flow of idle family books is realized through the sharing-borrowing mode, which makes people enjoy the pleasure of sharing in reading.
Key words: community; books sharing; mobile phone; APP; HTTP protocol
引言
書籍是人類的精神食糧,人們一生中會閱讀和購買無數(shù)的書籍。家庭中伴隨著孩子的成長,書籍的數(shù)量也在不斷地增加。因此,每個家庭,不管是大人還是孩子都會積攢大量的書籍,閱讀過的書籍,如何合理的利用呢是儲藏、捐贈、賣掉或是丟棄若書籍作為廢品處理掉是非??上У囊患虑?。若送給需要的人,那在現(xiàn)實生活中又如何能方便快捷地尋找到需要書籍的人呢
本文通過構建社區(qū)書籍共享手機APP系統(tǒng),來為這些處于家庭中“過時“的書籍,找到更好的去處。讓每個家庭中多余的圖書“動”起來,做到物盡其用,讓人們享受分享閱讀的快樂。為了安全和交換書籍的便利,該系統(tǒng)設定分享范圍為同一個社區(qū)或者同一個學校。這樣能夠讓閱讀者方便快捷的在自己的附近尋找到自己喜歡的書籍,同時也可以分享自己的圖書資源。相比那些以“共享經(jīng)濟”作為變相租賃的產(chǎn)品,社區(qū)書籍共享手機APP系統(tǒng)真正的體現(xiàn)了共享的本質和善意,那就是互惠互利,減少資源浪費,真正的做到免費分享。不僅如此,通過閱讀還可以促進交流,更有助于幫助孩子自小就形成利他,共同進步的人生價值觀。
1 社區(qū)書籍分享信息系統(tǒng)分析
在社區(qū)書籍分享信息系統(tǒng)中,用戶需要分享自家閑置的書籍,同時,作為一個閱讀者,又需要尋找適合自己閱讀的書籍。因此,可以得到本系統(tǒng)管理的兩個基本要素:書籍和用戶,以及二者之間的關系(見圖1)。
本系統(tǒng)就是對書籍和用戶兩個基本要素進行管理,實現(xiàn)二者的基本信息及交互信息的管理,即對用戶和書籍的管理。具體包括:用戶閑置書籍信息的共享;用戶對他人共享書籍的獲取以及書籍共享請求的申請和答復;共享成功后的系統(tǒng)確認等。本系統(tǒng)實現(xiàn)的是書籍信息的共享管理,而書籍實物的交換,則需要根據(jù)共享的答復和確認信息,由用戶在線下來操作完成。
1.1 用戶信息的管理
本系統(tǒng)中用戶的產(chǎn)生,需要具體的使用者進行賬戶的申請,并在獲得管理員的審核批準后,方可在系統(tǒng)中生效并進行相關的操作。
系統(tǒng)的用戶分為兩類:管理員用戶和一般用戶。管理員用戶擁有所有信息的管理權限。其中包括:用戶信息、書籍信息、共享信息的管理等。而一般用戶只具有共享本人的書籍和獲取他人共享書籍的權限,以及對本人共享書籍的請求申請和答復。
1.2 書籍信息的管理
在本系統(tǒng)中書籍是主角,是被用戶分享的資源。為了方便借閱,用戶需詳細了解書籍的基本概況。書籍有4個基本屬性:書籍名稱、書籍適合的年齡段、書籍所屬類型以及書籍內容簡介。目前的書籍大都有ISBN條形碼,故該系統(tǒng)中書籍簡介的錄入可以通過掃描條形碼獲取相關內容。
1.3 系統(tǒng)中數(shù)據(jù)流交互信息分析
本系統(tǒng)中針對管理員用戶和一般用戶權限不同的特點,設定了不同用戶的操作范圍和登錄界面。管理員用戶除了具有一般用戶的操作權限外,還負責對注冊的賬戶進行審核或者關閉異常賬戶。一般用戶具有的操作權限是查詢自己目前共享的書籍以及狀態(tài);對被共享的書籍作出共享申請答復;管理自己共享的書籍的信息;查詢其他用戶分享的書籍并對感興趣的書籍提交借閱申請,等待書籍主人的答復;當線下完成書籍共享后,需要對該次共享進行確認,確保共享流程的閉環(huán)。系統(tǒng)整體數(shù)據(jù)流[1]交互信息如圖2所示。
2 系統(tǒng)的設計實現(xiàn)
2.1 技術框架
本文采用手機APP/SERVER的技術架構,服務器端使用J2EE[2]技術來實現(xiàn)。選用Spring+myBatis集成框架構建,Spring作為實例對象的管理容器,同時為手機APP的請求進行集中控制處理,提高系統(tǒng)的運行效率和高維護性;myBatis用于持久化數(shù)據(jù),完成Java對象和數(shù)據(jù)庫記錄之間的轉換,完成對數(shù)據(jù)庫的操作訪問,如數(shù)據(jù)的增、刪、改、查等操作。手機APP構建在Android[3]環(huán)境之下,構建用戶操作界面,通過安卓提供的GUI接口實現(xiàn)與服務器的交互訪問。數(shù)據(jù)庫采用開源的Mysql[4]數(shù)據(jù)庫。
服務器端使用Tomcat[5]容器作為客戶請求處理服務器。手機APP跟服務器之間信息交互是基于HTTP協(xié)議的;交互的數(shù)據(jù)格式采用JSON數(shù)據(jù)串為載體。JSON數(shù)據(jù)格式簡單易用,業(yè)界技術支持比較成熟。系統(tǒng)技術框架說明如圖3所示。
2.2 主要系統(tǒng)功能實現(xiàn)
本系統(tǒng)的實現(xiàn)分為手機APP端的實現(xiàn)和服務器端Web組件的實現(xiàn)。手機端APP的開發(fā)語言為Adroid[6]語言,開發(fā)工具為Adroid Studio。服務器Web組件的開發(fā)使用J2EE技術,完成手機APP與服務器的數(shù)據(jù)處理和交互,開發(fā)工具為Eclipse EE。
2.2.1 賬戶注冊申請
社區(qū)家庭均可申請賬戶,申請者填寫必要的信息(見圖4)后,提交服務器處理并保存。其中系統(tǒng)處理注冊信息的時序圖如圖5所示。賬戶審核通過生效后,便可登錄系統(tǒng)進行書籍的分享活動。
2.2.2 “我的分享”管理
在”我的分享”菜單中可完成共享自己書籍的功能。用戶通過添加書籍,錄入書籍的基本信息后進行分享。一旦分享成功,其他用戶可以在“我的借閱“中查詢到該書籍的共享信息,并可以鎖定該書籍進行借閱。分享書籍時,書籍信息可以手工錄入,也可以采用掃描書籍封底的ISBN條形碼自動錄入信息。
條形碼掃描獲取書籍信息的原理是通過掃描條形碼系統(tǒng)獲取書籍的ISBN號,然后本系統(tǒng)發(fā)送該書的HTTP請求給豆瓣網(wǎng),豆瓣網(wǎng)返回該書的基本信息,信息格式為JSON串。圖書ISBN信息掃描界面如圖6所示。
該功能實現(xiàn)的時序如圖7所示。
2.2.3 “我的借閱”管理
在“我的借閱”菜單中可進行書籍的借閱或者書籍的搜索(見圖8)。點擊“搜索”,可查看可借閱的書籍,然后選擇自己感興趣的書籍,并向該書籍的主人發(fā)送借閱該書籍的請求,等待書籍主人的確認和答復。通過答復信息,線下聯(lián)系并完成書籍的實際分享。查詢借閱圖書功能的時序如圖9所示。
2.2.4 “我的管理”功能
“我的管理”功能可以實現(xiàn)按照選擇的操作模式:全部、我的借入、我的借出、我的確認來分別查詢有關我的書籍。根據(jù)書籍的狀態(tài)對書籍進行管理,如:刪除、取消借閱、確認用戶的借閱等操作。該項的功能用例如圖10所示?!拔业墓芾怼苯缑嫒鐖D11所示。如:點擊圖11中的“雄獅去流浪”這本書,可查看到關于該書的詳細資料和借閱信息。
該系統(tǒng)針對書籍在用戶之間的流轉,定義了書籍的幾個狀態(tài)值,來表明用戶可以進行何種操作。書籍的狀態(tài)值含義見表1。
3 系統(tǒng)的實現(xiàn)案例與要點
3.1 實現(xiàn)案例
本節(jié)重點闡述“書籍的上傳分享”功能案例的實現(xiàn),其功能實現(xiàn)的流程基本類似。未注冊用戶,申請賬戶成功后,使用該賬戶登錄后即可進行此操作。
3.2 界面布局
本案例主要采用Android的相對布局方式[7](RelativeLayout)排列頁面中的可視化元素。相對布局靈活性高,而且可視化組件可以任意擺放位置,根據(jù)其相對于其父元素或兄弟元素的位置確定自己的定位,這是實際布局中最常用的布局方式之一。布局中可視化組件主要是標簽、文本框、列表框、圖片、按鈕、窗體等。
書名、類別、適合人群、關鍵字等有關書籍的要素填寫完畢后,就可以點擊按鈕提交保存了。填寫這些基本信息時可以使用條形碼掃描獲取相關信息后,自動填寫。
3.3 處理流程
案例中當用戶點擊“我的分享”時,就會出現(xiàn)書籍的信息填寫界面。信息的填寫可以手工錄入,也可以通過掃描書籍的ISBN碼向豆瓣網(wǎng)請求并獲取書籍信息自動填入。當書籍信息填寫正確完成后,提交該書籍信息保存至服務器。服務器端組件通過解析書籍信息的JSON串,并調用相關數(shù)據(jù)庫訪問組件完成書籍信息的保存。處理流程如圖12所示。
3.4 組件封裝
手機APP提交書籍數(shù)據(jù)以及向豆瓣網(wǎng)獲取書籍信息,都是基于HTTP協(xié)議的請求,該功能在本系統(tǒng)中多次被使用。對HTTP請求功能進行網(wǎng)絡類組件封裝,手機端跟服務器端信息交互的數(shù)據(jù)格式采用JSON串的方式[8]。HTTP請求的關鍵代碼如下:
public static String getHttpRequest(String url)
{
String json ="";
try{
URL getUrl =new URL(url);
HttpURLConnection connection = (HttpURL Connection) getUrl.openConnection();
connection.connect();
// 取得輸入流,并使用Reader讀取
BufferedReader reader =new BufferedReader(new InputStreamReader(connection.getInputStream()));
String lines="";
while((lines = reader.readLine()) != null) {
json+=lines;
}
reader.close();
connection.disconnect()
}catch (Exceptione) {
e.printStackTrace();
}
return json;
}
4 結束語
社區(qū)書籍分享手機APP系統(tǒng)作為一款書籍分享軟件,將每個家庭中多余的圖書“動”起來,不僅很好地解決了家庭閑置書籍的再利用問題,而且也幫助孩子自小就形成利他,共同進步的人生價值觀。
系統(tǒng)在使用中可面向社區(qū)或在校學生用戶,應用范圍廣泛,通過分享-借閱模式實現(xiàn)書籍的共享和書籍資源的良好利用,同時也體現(xiàn)了綠色共享的發(fā)展理念。系統(tǒng)在Android環(huán)境下構建手機APP系統(tǒng)來實現(xiàn)書籍的分享和被分享的管理,簡單方便易用。系統(tǒng)投入運行后,深受社區(qū)用戶和在校學生的喜愛,通過該系統(tǒng)可以分享自己的書籍也可以借閱到自己喜歡的書籍,讓讀者在閱讀中體會到分享的快樂。
參考文獻
[1] 鄭光,汪強,許鑫,等. 新型農(nóng)村社區(qū)就業(yè)信息服務系統(tǒng)的研究與構建[J]. 計算機應用與軟件 2017,34(8): 48-53,57.
[2] ECKEL Brucel. Thinking in java[M]. 4 版. 陳昊鵬,譯. 北京:機械工業(yè)出版社, 2007.
[3] 吳亞峰,索依娜. Android核心技術與實例講解[M]. 北京:電子工業(yè)出版社,2010.
[4] 石正喜. MySQL數(shù)據(jù)庫實用教程[M]. 北京:北京師范大學出版社,2014.
[5] 李新慶,單新蘭,岳勇. 寧夏氣象數(shù)據(jù)共享查詢系統(tǒng)的設計與實現(xiàn)[J]. 重慶工商大學學報(自然科學版),2015,32(3):55-59.
[6] 孫衛(wèi)琴. Tomcat與Java Web開發(fā)技術詳解[M]. 2版. 北京:電子工業(yè)出版社,2009.
[7] 熊剛. 基于Android的智能手機的設計與實現(xiàn)[D]. 武漢:武漢理工大學,2010.
[8] 劉平. Android手機訪問服務器的一種數(shù)據(jù)交互方法[J]. 電子設計工程,2010,18(9):96-98,102.