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

基于Android的圖書漂流共享軟件開發(fā)*

2018-09-10 03:30:18唐子昱馬學(xué)森
科技與創(chuàng)新 2018年17期
關(guān)鍵詞:數(shù)據(jù)庫用戶信息

朱 建,唐子昱,宮 帥,談 杰,馬學(xué)森,3

(1.合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009;2.合肥市第八中學(xué),安徽 合肥 230071;3.廣東三水合肥工業(yè)大學(xué)研究院,廣東 佛山 528000)

1 引言

近幾年,為了響應(yīng)國家大力建設(shè)環(huán)境友好型、資源節(jié)約型社會(huì)的號(hào)召,共享經(jīng)濟(jì)和共享服務(wù)大行其道,利用移動(dòng)支付、移動(dòng)通訊、GPS等網(wǎng)絡(luò)技術(shù)手段,整合線下閑散物資或個(gè)人勞務(wù),并以較低價(jià)格對(duì)供給方與需求方進(jìn)行精準(zhǔn)匹配,減少交易成本,從而實(shí)現(xiàn)“物盡其用”和“按需分配”的資源最優(yōu)配置,實(shí)現(xiàn)供求雙方收益最大化[1]。小至充電寶,大到汽車,共享的理念逐漸滲透到生活中的方方面面,而圖書作為保有量大、閑置率高、文化價(jià)值大的常用物品,也是最適宜共享的物品之一。

據(jù)證實(shí),當(dāng)今社會(huì)擁有的海量圖書散布在千家萬戶,人均書本量為19.82本,但部分書籍閱讀量不足1次就被閑置在各個(gè)用戶的書架上[2]。因此,如何實(shí)現(xiàn)各用戶圖書資源的流轉(zhuǎn)和共享,對(duì)發(fā)揮全社會(huì)圖書資源的有效價(jià)值,促進(jìn)社會(huì)和諧具有重要意義。互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的發(fā)展,以及各種APP開發(fā)平臺(tái)的成功應(yīng)用,為實(shí)現(xiàn)圖書資源共享提供了技術(shù)保障。與此同時(shí),Android操作系統(tǒng)已成為市場(chǎng)主流,2016年上半年,Android操作系統(tǒng)便占有全球移動(dòng)智能手機(jī)系統(tǒng)86.2%的市場(chǎng)份額[3]。此外,線下面對(duì)面交互或借助中間媒介進(jìn)行交互已成為人們所普遍認(rèn)可的便捷交互方式。因此,利用線下多種交互方式在Android系統(tǒng)上設(shè)計(jì)和開發(fā)一款共享圖書的APP,具有良好的發(fā)展前景。

2 傳統(tǒng)圖書共享方式的缺陷

“圖書漂流”活動(dòng)源于20世紀(jì)60年代的歐洲,方法類似于中世紀(jì)的“漂流瓶”,即書友將自己擁有卻不再閱讀的書籍貼上特定的標(biāo)簽后,投放到公園長凳、咖啡館桌子等公共場(chǎng)所,無償?shù)靥峁┙o拾取的人閱讀。拾取之人閱讀之后再以相同的方式將書投放到公共環(huán)境中去,從而實(shí)現(xiàn)“圖書漂流”。但這類傳統(tǒng)的“圖書漂流”共享方式難以全面推廣,其主要缺陷有以下幾點(diǎn)。

2.1 無信息化支持

圖書由書友自愿放置于公共場(chǎng)所,因此,圖書的擁有者、放置地點(diǎn)、圖書類別等問題均無有效信息可供參考,這常導(dǎo)致其他書友借書無處可尋,對(duì)圖書內(nèi)容更是一無所知。而散播在公共場(chǎng)所的零散書籍在惡劣環(huán)境下被破壞、損毀至無法閱讀也難以被人察覺,從源頭處便阻礙圖書的正常“漂流”[4]。

2.2 無有效管理手段

由于缺乏管理系統(tǒng),圖書漂流無法對(duì)借閱者做出有效約束,私自截留或肆意損壞圖書都會(huì)影響正常的圖書漂流過程。上海市普陀區(qū)圖書館對(duì)漂流圖書的跟蹤調(diào)查結(jié)果顯示,自首批圖書“放漂”后,社會(huì)各界的捐贈(zèng)圖書冊(cè)數(shù)已突破十萬,但圖書循環(huán)率僅為30%.此外,部分回漂的書還存在劃痕、缺頁等現(xiàn)象,余下的圖書或是暫時(shí)擱淺,或銷聲匿跡[5]。

2.3 圖書館服務(wù)管理模式問題頗多

當(dāng)前的圖書館管理系統(tǒng)以圖書管理為中心,難以體現(xiàn)圖書館以讀者為中心的服務(wù)理念,大部分圖書館管理系統(tǒng)均存在圖書館資源相對(duì)隔離及信息服務(wù)相對(duì)孤立、不能全面集成圖書館的業(yè)務(wù)和管理工作,信息孤島現(xiàn)象嚴(yán)重的問題[6]。

*[基金項(xiàng)目]廣東省科技發(fā)展專項(xiàng)基金資助項(xiàng)目(No.2017A010101001);中央高校基本科研業(yè)務(wù)專項(xiàng)基金資助項(xiàng)目(No.JZ2016HGBZ1032);論文得到國家留學(xué)基金資助

3 “圖書漂流”APP特點(diǎn)

本文將“圖書漂流”APP與線下跳蚤市場(chǎng)、同類換物網(wǎng)和同類型的APP進(jìn)行了比較,詳細(xì)說明了“圖書漂流”APP的客戶群、形式、地域、運(yùn)營模式、業(yè)務(wù)類型、時(shí)間限制和功能創(chuàng)新等特點(diǎn)。詳細(xì)特點(diǎn)比較情況如表1所示。

4 “圖書漂流”APP開發(fā)步驟

在APP開發(fā)過程中使用了Eclipse開發(fā)平臺(tái),開發(fā)語言為Java,還包含AndroidSDK、MySQL、ZXING、豆瓣圖書API和百度地圖SDK等多個(gè)輔助工具,最終實(shí)現(xiàn)了書友在線上分享交流圖書漂流信息、線下直接借閱[7]。

表1 “圖書漂流”APP的特點(diǎn)

4.1 總體設(shè)計(jì)

APP總體工作流程如圖1所示。

圖1 工作流程圖

一個(gè)Android應(yīng)用程序一般包含4種子構(gòu)造塊,即Activity、Service、Content Provider和 Broadcast Receiver。Activity是在手機(jī)前臺(tái)與用戶通信,Service在后臺(tái)分析前臺(tái)所傳達(dá)的命令而完成相關(guān)工作,Content Provider是數(shù)據(jù)存儲(chǔ),Broadcast Receiver協(xié)助程序組件之間的相互通信[8]。

“圖書漂流”APP將用戶分為兩類,即書友(普通用戶)和管理員,其中,管理員負(fù)責(zé)對(duì)分布于城市各地的圖書交換柜中的圖書資源、用戶信息進(jìn)行調(diào)配和管理,負(fù)責(zé)整個(gè)APP的管理工作;書友作為普通用戶,主要通過APP進(jìn)行圖書的查詢、申請(qǐng)和借閱,享受APP帶來的便利服務(wù)。同時(shí),與APP和服務(wù)器進(jìn)行信息交互的圖書交換柜具有自動(dòng)控制、驗(yàn)證、遠(yuǎn)程監(jiān)控和報(bào)警等功能。

4.2 功能設(shè)計(jì)

APP的注冊(cè)用戶分為管理員和書友(普通用戶),其具體工作如下。

4.2.1 管理員

管理員負(fù)責(zé)對(duì)整個(gè)系統(tǒng)的維護(hù)和管理,包括圖書的上架、調(diào)配、銷毀以及用戶行為的監(jiān)督、提醒等,其具體功能如下。

4.2.1.1 添加圖書

管理員使用攝像頭掃描圖書條形碼,服務(wù)端解析條形碼數(shù)據(jù)后獲得圖書的ISBN碼,并在相關(guān)出版網(wǎng)站查詢圖書的具體信息,同時(shí),將該信息呈現(xiàn)給管理員,管理員核對(duì)信息無誤后將圖書正式上架,以供書友查詢、借閱。

4.2.1.2 圖書調(diào)配與管理

因?yàn)楦鱾€(gè)圖書交換柜的周邊環(huán)境不同,使得不同圖書交換柜的借閱信息呈現(xiàn)差異化的傾向和偏好,管理員可以根據(jù)借閱信息主動(dòng)平衡圖書交換柜間的差異。例如,減少借閱量小的圖書交換柜的圖書數(shù)量,并將剩余圖書轉(zhuǎn)向借閱量大的圖書交換柜,或?qū)⑻囟ǚN類圖書集中投放在受歡迎的圖書交換柜,強(qiáng)化書友的借閱體驗(yàn)。此外,還可以勘正圖書的謬誤信息,銷毀下架圖書的信息。出現(xiàn)以上情況,管理員可以通過APP隨時(shí)操作,實(shí)時(shí)更新數(shù)據(jù)。

4.2.1.3 用戶管理

管理員可以通過APP查看書友的詳細(xì)借閱信息,包括借閱時(shí)間、書目、逾期時(shí)間、評(píng)論和積分等。對(duì)提出申請(qǐng)的書友,管理員可參考該書友的借閱歷史和積分進(jìn)行審核;對(duì)有長時(shí)間逾期不還、損毀圖書或其他違規(guī)行為的用戶,處以臨時(shí)封禁、永久封禁和銷戶等懲罰,以維護(hù)良好的用戶環(huán)境。

4.2.2 普通用戶

書友是系統(tǒng)中的普通用戶,通過APP即可方便、快捷地查詢和借閱圖書,享受閱讀的樂趣,具體功能如下。

4.2.2.1 設(shè)定資料

書友可以在APP中選擇填寫一些個(gè)人信息——性別、生日、喜愛的圖書種類、手機(jī)、QQ等聯(lián)系信息,在注冊(cè)頁面的地圖上還可以選擇用戶所在位置,系統(tǒng)會(huì)根據(jù)書友填寫的相關(guān)信息、借閱和歸還情況提供個(gè)性化服務(wù),包括推薦特定書目、借閱地點(diǎn)導(dǎo)航和好友推薦等。

4.2.2.2 圖書追溯

系統(tǒng)中每本書上架、歷次借閱、歸還、評(píng)分與評(píng)價(jià)、下架等都被服務(wù)器數(shù)據(jù)庫系統(tǒng)詳細(xì)記錄,書友可以追溯自己感興趣的所有圖書的漂流航跡,對(duì)圖書漂流狀態(tài)進(jìn)行持續(xù)性追蹤,并對(duì)圖書進(jìn)行全生命周期的關(guān)注。

4.2.2.3 查詢與借閱圖書

查詢圖書是書友在APP中通過關(guān)鍵字查詢自己希望借閱的圖書,查詢結(jié)果以列表方式呈現(xiàn),書友可以查看每一條查詢結(jié)果,最終選定借閱的圖書。在圖書的詳細(xì)信息界面提供了該系列圖書的具體信息,包括存放點(diǎn)、存放數(shù)量、現(xiàn)有借閱人等。書友根據(jù)相關(guān)信息可自行選擇借閱地點(diǎn),APP自動(dòng)生成導(dǎo)航信息,并顯示出服務(wù)器生成的口令信息,引導(dǎo)書友前往相應(yīng)地點(diǎn)的圖書交換柜通過口令驗(yàn)證來完成借閱。同時(shí),如果借閱圖書所存放的點(diǎn)距離書友比較遠(yuǎn),書友可以通過APP發(fā)出捎帶請(qǐng)求,捎帶者根據(jù)捎帶請(qǐng)求可將圖書捎帶至?xí)迅郊目山栝嘃c(diǎn),以便書友自行前往借閱。

4.2.2.4 圖書與私信管理

圖書管理是書友對(duì)已借閱的圖書進(jìn)行管理,包括發(fā)表圖書評(píng)分、評(píng)價(jià),拖動(dòng)進(jìn)度條可調(diào)整當(dāng)前已讀的進(jìn)度,查看自己所有借閱圖書的時(shí)間、地點(diǎn)和歸還時(shí)間,此外,還可查看其他書友發(fā)送的交友或借閱申請(qǐng)等私信,并對(duì)其作出回應(yīng)。4.2.2.5 申請(qǐng)捐贈(zèng)

書友可以捐贈(zèng)身邊閑置的或希望與他人分享的圖書,通過添加圖書的功能直接將圖書上傳到數(shù)據(jù)庫中,并可持續(xù)關(guān)注該本圖書的借閱軌跡。

4.2.2.6 用戶圖書積分

服務(wù)器根據(jù)圖書狀態(tài)信息的改變分別給予圖書捐贈(zèng)者、圖書捎帶者、已完成圖書借閱和歸還的書友不同的積分獎(jiǎng)勵(lì)。書友與管理員的相應(yīng)功能如圖2所示。

4.3 數(shù)據(jù)庫設(shè)計(jì)

在服務(wù)器端MySql的數(shù)據(jù)庫BookCrossing中,建立了

多張表來存放APP所需的大部分信息,還有一部分存放在手機(jī)中的數(shù)據(jù)庫sqlite里作為緩存[9]。

4.3.1 數(shù)據(jù)庫概念設(shè)計(jì)

“圖書漂流”APP的數(shù)據(jù)庫中包括了Users(用戶)和Books(圖書)2個(gè)實(shí)體,實(shí)體間的關(guān)系如圖3所示。

圖2APP功能示意圖

圖3 系統(tǒng)E-R圖

圖3中,N表示相鄰的2個(gè)實(shí)體,比如Users與Books之間是一對(duì)多的關(guān)系,N:M表示多對(duì)多的關(guān)系,在保證數(shù)據(jù)完整性的前提下,最大程度節(jié)省數(shù)據(jù)存儲(chǔ)空間,保證了實(shí)體間的合理關(guān)系,且無冗余。3個(gè)實(shí)體又包括了各自的字段,通過借閱、管理、歸還等多個(gè)外鍵聯(lián)系,使得整個(gè)數(shù)據(jù)庫形成一個(gè)完整的整體,具有較高的工作效率。

4.3.2 數(shù)據(jù)庫邏輯設(shè)計(jì)

Users表:保存用戶登錄時(shí)所需要的信息,其中包括用戶名、密碼、用戶權(quán)限(用以區(qū)分管理員和書友)、是否允許用戶借閱的標(biāo)記位、申請(qǐng)信息是否通過的標(biāo)記位等。

Lib表:保存所有圖書角的圖書信息,其中包括圖書的ISBN碼、圖書名、各個(gè)圖書點(diǎn)某本書的擁有量、圖書類型、某書評(píng)分的計(jì)算量等。

UsersData表:保存用戶的私人信息,其中包括年齡、生日、愛好、手機(jī)、QQ、位置信息等。

4.4 終端技術(shù)實(shí)現(xiàn)

4.4.1 掃碼上傳

掃碼功能通過集成在APP內(nèi)的zxing掃碼軟件實(shí)現(xiàn)。軟件打開手機(jī)攝像頭,識(shí)別和讀取代表圖書ISBN碼的條形碼,再將讀取到的ISBN碼交付給其他模塊,從而實(shí)現(xiàn)對(duì)圖書的確認(rèn)。

首先是確定權(quán)限,賦予軟件相應(yīng)的權(quán)限:

android:name="android.permission.VIBRATE"/>

android:name="android.permission.CAMERA"/>

android:name="android.hardware.camera.autofocus"/>

接著在掃碼按鈕上設(shè)置監(jiān)聽器,觸發(fā)監(jiān)聽器執(zhí)行startActivityForResult()方法調(diào)用掃碼程序,將得到的信息返回給調(diào)用者,最后在onActivityResult()中用相應(yīng)的Intent類型data接收?qǐng)D書ISBN碼。

4.4.2 圖書信息下載

通過圖書ISBN碼在相關(guān)網(wǎng)站查詢,從查詢結(jié)果中篩選出有效信息反饋到移動(dòng)終端。

取得圖書ISBN編號(hào)后,用“https://api.douban.com/v2/book/isbn/”與ISBN號(hào)拼接得到圖書信息的地址。

整理地址圖書信息中的JSON格式數(shù)據(jù),從中分離出圖書的有關(guān)信息,包括封面、作者、簡介等,即:

public Bitmap DownloadBitmap(String bmurl){

Bitmap bm=null;

InputStream is=null;

BufferedInputStream bis=null;

try{

URL url=new URL(bmurl);

URLConnection connection=url.openConnection();

bis=new BufferedInputStream(connection.getInputStream());

bm=BitmapFactory.decodeStream(bis);} }

4.4.3 圖書信息存儲(chǔ)

存儲(chǔ)反饋的圖書信息,以備管理員和書友管理、查詢。將圖書信息拆分為String數(shù)組進(jìn)行傳輸,并保存到數(shù)據(jù)庫中,管理員可以根據(jù)圖書信息審核圖書,書友可以根據(jù)圖書信息決定是否借閱,即:

Socket socket=new Socket("192.168.1.107",8888);

System.out.println("Client connected");

DataOutputStream dout = new

DataOutputStream(socket.getOutputStream());

String query=String.format("addbook/%s/%s/%s/%d",isbn,

bookname,bookcorner,quantity);

dout.writeUTF(query);

DataInputStream din = new

DataInputStream(socket.getInputStream());

String msg=din.readUTF();

4.4.4 路徑規(guī)劃

決定了需要借閱的圖書后,APP可以引導(dǎo)書友到相應(yīng)的借閱點(diǎn)借閱圖書。

先確定書友的位置,再根據(jù)借閱點(diǎn)的位置自動(dòng)為書友規(guī)劃出最佳路徑,以節(jié)約書友的時(shí)間和空間成本,即:if(location==null||mMapView==null)return;

MyLocationData locData = new MyLocationData.Builder().accuracy(location.getRadius()).direc tion(100).latitude(location.getLatitude()).longitude(location.get Longitude()).build();if(isFirstLoc){

isFirstLoc=false;

LatLng ll=new LatLng(location.getLatitude(),location.getLongitude());

MapStatusUpdate u=MapStatusUpdateFactory.newLatLng(ll);

mBaiduMap.animateMapStatus(u);}

5 結(jié)束語

本文針對(duì)現(xiàn)有圖書漂流的不足,結(jié)合當(dāng)前Android平臺(tái)的巨大優(yōu)勢(shì),將傳統(tǒng)圖書漂流與Android平臺(tái)有機(jī)結(jié)合,提出了基于Android平臺(tái)的圖書漂流APP開發(fā)方案。該APP提供了線上交流平臺(tái)和線下交易系統(tǒng),使書友在線下能夠輕松查詢并借閱自己想要的圖書,同時(shí),在線上與其他愛書之人共享自己的讀書心得,徹底打破傳統(tǒng)的圖書館—書友的單一結(jié)構(gòu),以網(wǎng)狀形式覆蓋城市借閱點(diǎn),讓書友不再受時(shí)間和空間的限制,閑暇之余可輕松借閱。

猜你喜歡
數(shù)據(jù)庫用戶信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數(shù)據(jù)庫
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
數(shù)據(jù)庫
如何獲取一億海外用戶
展會(huì)信息
主站蜘蛛池模板: 亚洲天堂网在线播放| 毛片在线看网站| 中字无码av在线电影| 亚洲婷婷六月| 午夜福利无码一区二区| 亚洲美女久久| 大学生久久香蕉国产线观看| 99久久99这里只有免费的精品| 高清久久精品亚洲日韩Av| 伊人无码视屏| 久久精品aⅴ无码中文字幕| 成年人国产视频| 欧美另类图片视频无弹跳第一页| 精品剧情v国产在线观看| 国产精品林美惠子在线播放| 国产精品福利导航| 一级成人a毛片免费播放| 国产三区二区| 亚洲国产精品日韩av专区| 亚洲成网站| 四虎永久在线精品影院| 视频一区视频二区中文精品| 久久精品国产国语对白| 欧美午夜视频| 这里只有精品在线| 国产精品免费露脸视频| 亚洲午夜福利精品无码不卡 | 国产精品99久久久久久董美香| 亚洲男人天堂2018| 久久亚洲精少妇毛片午夜无码| 精品无码日韩国产不卡av| 欧美亚洲国产一区| 国产成人a在线观看视频| 久久久久亚洲AV成人网站软件| 亚洲高清在线天堂精品| 久久国产精品麻豆系列| 成人国产小视频| 中文字幕乱码二三区免费| 国产精品林美惠子在线播放| 丁香婷婷激情网| 日韩精品欧美国产在线| 精品成人一区二区三区电影| 国内精品九九久久久精品| 亚洲无码日韩一区| 99在线免费播放| 欧美区一区二区三| 在线欧美一区| 亚洲天堂网视频| 福利一区三区| 精品综合久久久久久97超人| 久久五月天综合| 国产玖玖玖精品视频| 伊人久久大线影院首页| 国模沟沟一区二区三区| 国产簧片免费在线播放| 日韩毛片视频| 国内精自视频品线一二区| 亚洲高清中文字幕| 亚洲av成人无码网站在线观看| 久久综合久久鬼| 国产成人喷潮在线观看| 国产激情国语对白普通话| 色九九视频| 亚洲日产2021三区在线| 97在线国产视频| 日韩欧美国产三级| 日韩AV手机在线观看蜜芽| 亚洲国产精品日韩欧美一区| 国产精品任我爽爆在线播放6080 | 国产精品jizz在线观看软件| 欧美性爱精品一区二区三区| 欧美性猛交一区二区三区| 久久五月天国产自| 99999久久久久久亚洲| 67194亚洲无码| 欧美三级自拍| 九九九久久国产精品| 日韩精品毛片人妻AV不卡| 国产成人综合久久| 国产噜噜噜视频在线观看| 成人欧美日韩| 国产丝袜91|