亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2013-12-10 14:07:02江漢大學(xué)圖書(shū)館
        電子世界 2013年4期
        關(guān)鍵詞:字段新書(shū)應(yīng)用程序

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

        一、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)沖浪、在線看書(shū)、在線聽(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ù)在圖書(shū)館中的應(yīng)用

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

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

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

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

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

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

        在.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)建一條新書(shū)推薦記錄。

        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)容。

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

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

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

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

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

        基于Android平臺(tái)的圖書(shū)館各種服務(wù)應(yīng)用具有響應(yīng)速度快,建設(shè)成本低,使用方便等特點(diǎn),是圖書(shū)館信息化、數(shù)字化和無(wú)線網(wǎng)絡(luò)化發(fā)展的趨勢(shì)。并且可以與現(xiàn)有圖書(shū)館系統(tǒng)集成,為用戶提供更多、更加方便快捷的圖書(shū)館服務(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ū)應(yīng)用程序
        圖書(shū)館中文圖書(shū)編目外包數(shù)據(jù)質(zhì)量控制分析
        新書(shū)速遞
        新書(shū)訊
        刪除Win10中自帶的應(yīng)用程序
        新書(shū)推介
        大社會(huì)(2016年3期)2016-05-04 03:41:15
        CNMARC304字段和314字段責(zé)任附注方式解析
        無(wú)正題名文獻(xiàn)著錄方法評(píng)述
        關(guān)于CNMARC的3--字段改革的必要性與可行性研究
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開(kāi)設(shè)應(yīng)用程序下載商店
        欧美人与动人物牲交免费观看| 男男受被攻做哭娇喘声视频| 国产一区二区长腿丝袜高跟鞋 | 久久亚洲国产中v天仙www| 欧美日韩高清一本大道免费| 国产天堂av手机在线| 亚洲一区二区av天堂| 青青草大香蕉视频在线观看| 国产三级在线观看完整版| 亚洲av无码国产精品色午夜洪| 国产精品成人av在线观看| 国产国拍亚洲精品永久不卡| 久久久亚洲精品免费视频| 美腿丝袜视频在线观看| 欲女在线一区二区三区| 疯狂添女人下部视频免费| 无码粉嫩虎白一线天在线观看 | 欧美私人情侣网站| 国产免费午夜a无码v视频| 97中文字幕在线观看| 按摩师玩弄少妇到高潮hd| 日本护士口爆吞精视频| 精品www日韩熟女人妻| 免费av片在线观看网站| 亚洲黄色性生活一级片| 精品专区一区二区三区| 国产国语按摩对白av在线观看| 射精区-区区三区| 亚洲人成网站18禁止久久影院| 亚洲AV无码精品呻吟| 国产精品白浆免费观看| 一卡二卡国产av熟女| 国产成人精品一区二区三区| 国产精品人妻一码二码尿失禁| 欧美极品第一页| av永久天堂一区二区三区蜜桃| 久久伊人精品中文字幕有| 日产乱码一二三区别免费l| 国产精品福利自产拍在线观看| 香蕉视频在线观看国产| 亚洲成a人片在线观看中|