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

基于Android平臺(tái)SQLite數(shù)據(jù)庫(kù)技術(shù)在圖書館中的應(yīng)用

2013-12-10 14:07:02江漢大學(xué)圖書館
電子世界 2013年4期
關(guān)鍵詞:數(shù)據(jù)庫(kù)圖書館用戶

江漢大學(xué)圖書館 陳 斌

一、Android平臺(tái)簡(jiǎn)介

隨著3G時(shí)代的到來(lái),無(wú)線帶寬越來(lái)越高,使得更多內(nèi)容豐富的應(yīng)用程序植入手機(jī)成為可能,如視頻通話、視頻點(diǎn)播、移動(dòng)互聯(lián)網(wǎng)沖浪、在線看書、在線聽(tīng)歌、內(nèi)容分享等。為了承載這些數(shù)據(jù)應(yīng)用及快速部署,手機(jī)功能將會(huì)越來(lái)越智能,越來(lái)越開(kāi)放。因此,為了實(shí)現(xiàn)這些需求,必須有一個(gè)好的開(kāi)放平臺(tái)來(lái)支持。因此,由Google公司發(fā)起的OHA聯(lián)盟走在了業(yè)界的前列——2007年11月推出了開(kāi)放的Android平臺(tái)[1]。

Android是谷歌(Google)公司發(fā)布的一個(gè)開(kāi)放源代碼的手機(jī)平臺(tái),由Linux內(nèi)核、中間件、應(yīng)用程序框架和應(yīng)用軟件組成,是第一個(gè)可以完全定制、免費(fèi)、開(kāi)放的手機(jī)平臺(tái)。Android不僅能夠在智能手機(jī)中使用,還可以用在移動(dòng)互聯(lián)網(wǎng)終端(MID)、上網(wǎng)筆記本、便攜式媒體播放器(PMP)和汽車電子等其他手持設(shè)備上。

Android在誕生之日起便受到廣泛關(guān)注。到目前為止,中國(guó)臺(tái)灣的宏達(dá)電(HTC)、三星、LG、摩托羅拉、索尼、華碩、聯(lián)想和華為相繼推出自己的Android手機(jī),中國(guó)移動(dòng)、中國(guó)聯(lián)通等運(yùn)營(yíng)商也在研發(fā)基于該系統(tǒng)的手機(jī)操作平臺(tái)。據(jù)市場(chǎng)調(diào)查機(jī)構(gòu)預(yù)測(cè),2012年全球Android手機(jī)的總規(guī)模達(dá)2000萬(wàn)部,2013年全球應(yīng)用Android操作系統(tǒng)的產(chǎn)品銷售量將超過(guò)4000萬(wàn)部。

Android是基于Linux內(nèi)核的軟件平臺(tái)和操作系統(tǒng),采用了軟件堆層的架構(gòu),共分為4層。第1層是Linux內(nèi)核,提供由操作系統(tǒng)內(nèi)核管理的底層基礎(chǔ)功能;第2層是中間件層,由函數(shù)庫(kù)和Android運(yùn)行時(shí)構(gòu)成;第3層是應(yīng)用程序框架層,提供了Android平臺(tái)基本的管理功能和組件重用機(jī)制;第4層是應(yīng)用程序?qū)樱峁┝艘幌盗泻诵膽?yīng)用程序[2]。

Android廣泛支持GSM、DEGE和3G的語(yǔ)音與數(shù)據(jù)業(yè)務(wù),支持接收語(yǔ)言呼叫和SMS(短信消息服務(wù)),支持?jǐn)?shù)據(jù)存儲(chǔ)共享和IPC(進(jìn)程間通信)消息機(jī)制,為地理位置服務(wù)(如GPS)、谷歌地圖服務(wù)提供易于使用的API函數(shù)庫(kù),提供組件復(fù)用和內(nèi)置程序替換的應(yīng)用程序框架,提供基于WebKit的瀏覽器,廣泛支持各種流行的音頻和視頻文件格式,支持的格式有MPEG4、H264、Mp3、AAC、JPG、PNG和GIF等,為2D和3D圖像處理的專用的API庫(kù)函數(shù)。

在內(nèi)存和進(jìn)程管理方面,Android具有自己的運(yùn)行時(shí)和虛擬機(jī)。與Java和.Net運(yùn)行時(shí)不同,Android運(yùn)行時(shí)還可以管理進(jìn)程的生命周期。Android為了保證高優(yōu)先級(jí)進(jìn)程運(yùn)行和正在與用戶交互進(jìn)程的響應(yīng)速度,允許停止或終止正在運(yùn)行的低優(yōu)先級(jí)進(jìn)程,以釋放被占用的系統(tǒng)資源。

在界面設(shè)計(jì)上,Android提供了豐富的界面控件供使用者之間調(diào)用,從而加快了用戶界面的開(kāi)發(fā)速度,也保證了Android平臺(tái)上的程序界面的一致性。Android將界面設(shè)計(jì)與程序邏輯分離,使用XML文件對(duì)界面布局進(jìn)行描述,有利于界面的修改和維護(hù)。

Android提供了Service作為無(wú)用戶界面、長(zhǎng)時(shí)間后臺(tái)運(yùn)行的組件。Android是多任務(wù)系統(tǒng),但受到屏幕尺寸的限制,同一時(shí)刻只允許一個(gè)應(yīng)用程序是在前臺(tái)運(yùn)行。Service無(wú)需用戶干預(yù),可以長(zhǎng)時(shí)間、穩(wěn)定地運(yùn)行,可為應(yīng)用程序提供特定的后臺(tái)功能,還可以實(shí)現(xiàn)事件處理或數(shù)據(jù)更新等功能。

二、SQLite數(shù)據(jù)庫(kù)技術(shù)

Android支持高效、快速的數(shù)據(jù)存儲(chǔ)方式,包括快速數(shù)據(jù)存儲(chǔ)方式SharedPreferences、文件存儲(chǔ)和輕量級(jí)關(guān)系數(shù)據(jù)庫(kù)SQLite,應(yīng)用程序可以使用適合的方式對(duì)數(shù)據(jù)進(jìn)程保存和訪問(wèn)。同時(shí),為了便于跨進(jìn)程共享數(shù)據(jù),Android提供了通用的共享數(shù)據(jù)接口ContentProvider,可以無(wú)需了解數(shù)據(jù)源、路徑的情況下,對(duì)共享數(shù)據(jù)進(jìn)行查詢、添加、刪除和更新等操作[3]。

SQLite是一個(gè)開(kāi)源的嵌入式關(guān)系數(shù)據(jù)庫(kù),2000年由D.Richard Hipp發(fā)布。自幾十年前出現(xiàn)的商業(yè)應(yīng)用程序以來(lái),數(shù)據(jù)庫(kù)就成為了應(yīng)用程序的主要組成部分,同時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)也變得非常龐大和復(fù)雜,并占用了相當(dāng)多的系統(tǒng)資源。隨著嵌入式應(yīng)用程序的大量出現(xiàn),一種新型的輕量級(jí)數(shù)據(jù)庫(kù)SQLite也隨之產(chǎn)生。SQLite數(shù)據(jù)庫(kù)比傳統(tǒng)的數(shù)據(jù)庫(kù)更加適用于嵌入式系統(tǒng),因?yàn)樗加每臻g非常少,運(yùn)行高效可靠,可移植性好,并且提供了零配置運(yùn)行模式。

Android中提供了兩個(gè)類,用于簡(jiǎn)化SQLite數(shù)據(jù)庫(kù)的操作。第一個(gè)是SQLiteOpenHelper,該類主要用于自動(dòng)完成打開(kāi)、關(guān)閉指定的數(shù)據(jù)庫(kù),當(dāng)數(shù)據(jù)庫(kù)不存在的情況下還可以創(chuàng)建數(shù)據(jù)庫(kù),并根據(jù)需要更新數(shù)據(jù)庫(kù)。第二個(gè)是SQLiteDatabase類,該類只要用于查詢數(shù)據(jù)庫(kù),相數(shù)據(jù)庫(kù)中新建數(shù)據(jù)項(xiàng)、刪除數(shù)據(jù)項(xiàng)[4]。

創(chuàng)建一份數(shù)據(jù)庫(kù)的一般流程如下:

(1)根據(jù)應(yīng)用設(shè)計(jì)出所需要的數(shù)據(jù)表格。

(2)為數(shù)據(jù)庫(kù)中每張表格建立一個(gè)Java類,可以把這些類看作是應(yīng)用層和數(shù)據(jù)庫(kù)之間的一個(gè)適配層。

(3)在每個(gè)Java類中定義一個(gè)基于SQLiteOpenHelper的內(nèi)部類,用于創(chuàng)建數(shù)據(jù)庫(kù)。需要實(shí)現(xiàn)其內(nèi)部的3個(gè)函數(shù),包括構(gòu)造函數(shù)、onCreate()和onUpdate()。

(4)在每個(gè)Java類中,把數(shù)據(jù)列的名稱定義為常量,便于訪問(wèn)。

在Android系統(tǒng)中,每個(gè)應(yīng)用程序的SQLite數(shù)據(jù)庫(kù)被保存在各自的/data/data//databases目錄下。默認(rèn)情況下,所有數(shù)據(jù)庫(kù)都是私有的,僅僅允許創(chuàng)建數(shù)據(jù)庫(kù)的應(yīng)用程序訪問(wèn)。

三、SQLite數(shù)據(jù)庫(kù)技術(shù)在圖書館中的應(yīng)用

3G技術(shù)以及無(wú)線網(wǎng)絡(luò)在全球的飛快發(fā)展,使傳統(tǒng)的圖書館面臨著一次新的技術(shù)革命,江漢大學(xué)圖書館作為地方性大學(xué)圖書館,在運(yùn)作和管理模式上也面臨著無(wú)線信息化、數(shù)字化、網(wǎng)絡(luò)化的新挑戰(zhàn)。數(shù)字圖書館技術(shù)將使傳統(tǒng)型圖書館實(shí)現(xiàn)革命的變革。它將要求以新的模式處理傳統(tǒng)圖書館的功能,包括各類型信息資源訪問(wèn)模式、讀者的交互模式、以及新的采訪模式等。因此,我們嘗試采用基于Android平臺(tái)SQLite數(shù)據(jù)庫(kù)技術(shù)應(yīng)用于圖書館的新的采訪模式。

1.基于Android平臺(tái)的采訪模式的功能及結(jié)構(gòu)

在訪問(wèn)SQLite數(shù)據(jù)庫(kù)方面的主要功能有:(1)用戶查詢新書情況以及推薦自己喜歡的新書;(2)實(shí)現(xiàn)學(xué)科館員根據(jù)用戶的推薦情況決定要采購(gòu)的新書。由此,該模塊的結(jié)構(gòu)分為:用戶推薦新書系統(tǒng)、學(xué)科館員購(gòu)書決策系統(tǒng)。

2.用戶新書推薦系統(tǒng)

首先,采用SQLite,建立相應(yīng)數(shù)據(jù)庫(kù)中的表。在其中新建新書書目表Book,設(shè)置“BookId”、“ISBN”、“題名”、“責(zé)任者”、“出版社”、“價(jià)格”、“新書期數(shù)”、“推薦指數(shù)”、“入館狀態(tài)”等11個(gè)字段。新建讀者信息表User,設(shè)置“UserId”、“一卡通號(hào)”、“Email”、“聯(lián)系電話”等14個(gè)字段。新建新書推薦紀(jì)錄表RecommendBook,設(shè)置“讀者一卡通號(hào)”、“推薦書目Id號(hào)”等4個(gè)字段。

用戶選擇好自己喜歡的新書后,將推薦紀(jì)錄存于數(shù)據(jù)庫(kù)中,用于學(xué)科館員決策所要采用的新書。

在.Android平臺(tái)中使用SQLiteOpen-Helper和DatabaseHelper子類進(jìn)行封裝,利用ContentValues類來(lái)代替原始的SQL語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)的存取操作。

在BookDbAdpter類中向外界提供了以下一些常用方法:

Open():調(diào)用此方法后,如果數(shù)據(jù)庫(kù)還沒(méi)有建立,那么會(huì)建立數(shù)據(jù)庫(kù),如果數(shù)據(jù)庫(kù)已經(jīng)建立,那么會(huì)返回可寫數(shù)據(jù)庫(kù)實(shí)例。

Close():調(diào)用此方法后,Database-Helper會(huì)關(guān)閉對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。

CreateNewBook(String title,String body)通過(guò)一個(gè)title和body字段在數(shù)據(jù)庫(kù)中創(chuàng)建一條新書推薦記錄。

GetAllNotes():得到Book表中所有的記錄,并且以一個(gè)Cursor的形式進(jìn)行返回。

GetBook(long rowId):通過(guò)記錄的主鍵id得到特定的一條記錄。

UpdateBook(long rowId,String title,String body):更新主鍵id為rowId那條記錄中的兩個(gè)字段title和body字段的內(nèi)容。

將讀者推薦書目紀(jì)錄存入數(shù)據(jù)庫(kù)的部分源代碼如下:

3.管理員購(gòu)書決策系統(tǒng)

根據(jù)用戶推薦新書的數(shù)據(jù),學(xué)科館員需要從這些推薦新書的數(shù)據(jù)中選擇圖書館需要購(gòu)買回的新書。并且將這些新書信息及時(shí)反饋到讀者。

由于每位用戶在推薦新書時(shí),必須先登陸到圖書館系統(tǒng),因此在推薦新書的數(shù)據(jù)記錄存入數(shù)據(jù)庫(kù)的同時(shí),用戶一卡通卡號(hào)信息也存入表RecommendDetail中。這樣在RecommendDetail中通過(guò)外鍵UserId與表User中的主鍵UserId組成主-從表,那么根據(jù)User表中讀者職稱(分為教授、副教授、講師、研究生、本科生)分為五級(jí),假設(shè)教授推薦這本新書,則在Book表中該書的權(quán)重加5;如果是副教授,則加4,以此類推,如果是本科推薦權(quán)重指數(shù)加1。學(xué)科館員就根據(jù)新書的推薦指數(shù),并結(jié)合館中藏書情況決定需要購(gòu)買的新書。學(xué)科館員在圖書館購(gòu)買回相應(yīng)的新書后,將更新表Book,并將此信息以短信的形式及時(shí)反饋到用戶登記的手機(jī)上面。

四、結(jié)束語(yǔ)

基于Android平臺(tái)的圖書館各種服務(wù)應(yīng)用具有響應(yīng)速度快,建設(shè)成本低,使用方便等特點(diǎn),是圖書館信息化、數(shù)字化和無(wú)線網(wǎng)絡(luò)化發(fā)展的趨勢(shì)。并且可以與現(xiàn)有圖書館系統(tǒng)集成,為用戶提供更多、更加方便快捷的圖書館服務(wù)。

[1]柯元旦,宋銳.Android程序設(shè)計(jì)[M].北京航空航天大學(xué)出版社,2010.

[2]張波,高朝勤,楊越.Android基礎(chǔ)教程[M].人民郵電出版社,2009.

[3]韓超,梁泉.Android系統(tǒng)原理及開(kāi)發(fā)要點(diǎn)詳解[M].電子工業(yè)出版社,2010.

[4]徐娜子.Android江湖[M].電子工業(yè)出版社,2011.

猜你喜歡
數(shù)據(jù)庫(kù)圖書館用戶
圖書館
數(shù)據(jù)庫(kù)
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
飛躍圖書館
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫(kù)
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
圖書館里的是是非非
主站蜘蛛池模板: 亚洲成a人片在线观看88| 免费一级毛片| 色婷婷成人| 国产综合精品日本亚洲777| 国产视频一区二区在线观看| аⅴ资源中文在线天堂| 国产福利小视频在线播放观看| 国产精品va| 国产日韩欧美在线视频免费观看| 欧美在线精品一区二区三区| 99久久99视频| 伊人无码视屏| 国产成人乱无码视频| 九色在线视频导航91| 国产精品jizz在线观看软件| 亚洲国产清纯| 国产呦精品一区二区三区网站| 91娇喘视频| 99ri国产在线| 91视频精品| 亚洲精品国产首次亮相| 天天做天天爱夜夜爽毛片毛片| 久久综合色天堂av| av性天堂网| 午夜a级毛片| 亚洲国产精品一区二区高清无码久久| 亚洲国产精品不卡在线| 国产微拍精品| 成人免费午夜视频| 在线无码九区| 综合色在线| 国产精品手机在线观看你懂的| 亚洲AV电影不卡在线观看| jizz亚洲高清在线观看| 欧美一级在线| 免费aa毛片| 精品国产三级在线观看| 成年人福利视频| 免费 国产 无码久久久| 国产v欧美v日韩v综合精品| 毛片网站观看| 在线观看91精品国产剧情免费| 国产精品尹人在线观看| 国产白浆视频| 欧美成人午夜视频免看| 中文字幕亚洲电影| 久久黄色一级视频| 国产原创第一页在线观看| 久久人人妻人人爽人人卡片av| 久久大香伊蕉在人线观看热2| 欧美在线免费| 亚洲成A人V欧美综合天堂| 日韩av资源在线| 亚洲手机在线| 日韩精品亚洲人旧成在线| 亚洲天堂视频在线观看| av大片在线无码免费| 日韩第一页在线| 亚洲乱强伦| 美女无遮挡免费网站| 在线看AV天堂| 成人午夜天| 在线国产你懂的| 亚洲成网站| 91热爆在线| 亚洲天堂网视频| 9久久伊人精品综合| 亚洲六月丁香六月婷婷蜜芽| av色爱 天堂网| 国产黄色免费看| 制服丝袜国产精品| 亚洲成aⅴ人片在线影院八| 18禁不卡免费网站| 亚洲第一黄片大全| 国产精品手机视频一区二区| 日本一区二区三区精品AⅤ| 99热这里只有成人精品国产| a毛片基地免费大全| 国产免费怡红院视频| 97se综合| www亚洲天堂| …亚洲 欧洲 另类 春色|