




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGEXV3摘要隨著移動終端的普及,手機已經成為當代人不可缺少的通訊工具。在此基礎上,大眾的生活狀態發生顯著改變。需要注意的是,智能手機擁有多種系統,而Android系統是較為常見的一種。基于這一點,技術人員可以利用Android系統逐步優化圖書館座位管理系統。本研究以Android系統為基礎,進一步完善圖書館座位管理系統的理論研究體系。簡單來說,系統后臺功能極為強大,既能收集用戶數據,又能對系統進行升級維護。除此之外,用戶還可以在前臺進行操作,使用android開發中經常使用的控制來設計界面,使用MVC模式來設計整體的體系結構,在eclipse編譯器中使用集成了android的SDK來開發,mysql作為系統的數據庫。本文詳細闡述了圖書館座位管理系統的特點,并對其功能展開介紹。通過這種方式,深入探究開發該系統的相關要素。最終的成果是,使用該系統可以解決圖書館選座難題,緩解圖書館選座終端的壓力,高效利用移動終端完成圖書館選座操作。關鍵詞:android;圖書館;座位;管理系統DesignoflibraryseatmanagementsystembasedonqrcodeWiththeimplementationAbstractWiththepopularizationofmobileterminal,mobilephonehasbecomeanindispensablecommunicationtoolforcontemporarypeople.Thistrendhasgraduallychangedourlivinghabitsandunconsciouslychangedsomeofthesystematicmanagementweuseinourlifeandwork.WecanseethatAndroidsystemoccupiesalargeshareinthecurrentmobileterminalsysteminthemarket,whichmakesthelibraryseatmanagementsystemveryfeasibleinthemobileterminal.Thissystemisbasedonandroidlibraryseatmanagementsystem.Thesystemprovidesback-endservices,includingdatabaseconstruction,maintenance,andbusinessprocessing,aswellasinterfacestointeractwithusersintheforeground.Theforegroundinterfaceismainlyasystemusedbyusersforthepurposeofserviceselection.Theinterfaceisdesignedusingthecontroloftenusedinandroiddevelopment,theoverallarchitectureisdesignedusingtheMVCpattern,theintegratedandroidSDKisusedintheeclipsecompilerfordevelopment,andmysqlisusedasthedatabaseofthesystem.Thesystemexplainstherealizationprocessofthelibraryseatmanagementsystembasedonandroid,andintroducesseveralknowledgepointsofandroiddevelopment.Thefinalresultisthatthesystemcansolvetheproblemoflibraryseatselection,relievethepressureoflibraryseatselectionterminal,andefficientlyusemobileterminaltocompletethelibraryseatselectionoperation.Keywords:android;Thelibrary;Seat;Managementsystem第一章緒論1.1課題背景各高校為方便學生查閱知識以及提高自主學習的效率,均擁有占地面積龐大的圖書館。在這種情況下,學生能夠自由的汲取各種知識。不過,由于學生數量越來越多,圖書館經常座無虛席。基于這一點,學生之間摩擦不斷,嚴重影響了學習氛圍。由于圖書館的座位有限,學校沒有像樣的管理方法,這樣的現象持續不斷,變得越來越嚴重。我校對占領現象采用專人整理的方式。在這種情況下,不僅是圖書館的服務滿意度造成影響。學生們也在利用座位時,有時會發生爭吵,也會對同學之間的和睦關系產生影響。特別是,每當學生們為了準備各種考試紛紛來到圖書館時,圖書館的座位就會爆滿。另外,如果當時沒有人,但由于座位上放著著書,其他學生就會被延遲使用,這也是浪費資源的行為。此外,也有不是本校教師的學生,為了尋找學習的氣氛來到圖書館的自習室,長時間坐在座位上,加劇了座位的緊張,圖書館的座位不能共享,因此,不能有效利用資源。針對上述現象,筆者收集相關材料,并對圖書館座位管理系統展開深入探究。通過這種方式,構建全新的管理系統,有效降低各類摩擦的發生概率。1.2國內外的研究發展現狀1.2.1國內高效圖書館座位管理的研究現狀進入二十一世紀后,社會經濟水平提高,大學生的數量隨之激增。與此同時,各類占座事件屢見不鮮。以圖書館為例,解決占座現象的手段較少。簡單來說,校方很少利用強制手段制止愈演愈烈的占座現象。通常情況下,圖書館的工作人員會要求學生離開之前,清理座位上的垃圾和物品。與此同時,他們還會收走座位上的物品。盡管如此,每天工作結束前必須收拾圖書館內的各種物品,會造成學生丟失財物。在這種情況下,學生會產生不滿情緒,進而發生更大的摩擦。因此,校方無法憑借工作人員來處理相關問題。與此同時,工作人員也不愿激怒學生。基于這一點,部分學者研制出了圖書館座位管理系統。在現代化信息技術的協助下,他們收集相關數據,開發了符合自己學校實際情況的軟件管理系統。這在某種程度上緩和了占座現象引起的不必要的糾紛,因而是有效的,提高了座位使用率,降低了人工費用。1.2.2國外座位資源管理研究現狀閱讀是人類進步的基礎,養成良好的閱讀習慣,既能幫助人們掌握更多知識,又能提升閱讀者的整體素質。在此基礎上,圖書館的數量越來越多,逐漸成為推動社會進步的重要支柱。從實際情況來看,國外的社區圖書館廣受好評,有著恨鎖值得借鑒的經驗。例如,韓國政府高度重視圖書館的建設,在法律上規定了圖書館的選址,環境,技術標準等。日本學者Toshiaki在研究該領域時,以各種手段引導大眾增加閱讀量。除此之外,他還詳細分析了課堂座位數量以及占座特點。由于研究資源以及外部環境存在較大差異,致使研究結果截然相關。不過,學界普遍認為座位管理既會影響到學習效率,又能誘發學生之間的沖突。因此,校方必須妥善管理座位安排,才能營造良好的學習氛圍。據我所知,在海外的大學中,大學生所占的比例并不多,當然是存在的。但是,因為海外的大學相對較好,所以在占座方面也可以說是一樣的。例如,在德國的大學,每個學院的考試時間和授課時間各不相同,學生自身有需要向管理部門申請,當然也有時間限制。在歐美的其他大學,例如哈佛大學這樣的學校,圖書館不是一個,所以基本上可以找到一個地方學習。總體而言,國外的占座現象并不常見。究其原因,圖書館與課堂內的座位屬于公共資源,而國外更注重素質教育,能夠有效解決此類問題。與此同時,國內的應試教育培養出了大批實用主義人才。在這種情況下,學生更傾向于利用公共資源達成自身目的。國內外學者結合國情,對相關問題展開深入探究,并詳細分析了資源分配存在的不足之處。通過這種方式,為學界提供了更多研究視角,完善了該領域的研究體系,幫助校方提出行之有效的解決方案,以便輕松解決特定的問題。1.3本文的主要研究內容本研究結合圖書館情況,收集校內學生數據,逐步完成相關設計。需要注意的是,校方在處理占座現象時,習慣采用較為溫和的勸說方式。不過,校內學生的配合度較低,反而增加雙方摩擦的概率,進而引發惡性事件。與此同時,學生配合度也反映了整個學校的學風,大學生的個人素質。從這個水平來說,占座現象是不容忽視的,校方要予以充分重視,并及時進行處理。除此之外,校方要充分利用現代化信息技術,提高公共資源的管理效率。通過這種方式,幫助學生養成良好的生活習慣。不僅如此,現代信息化技術也能有效推動學校的發展。從實際情況來看,只有公平、公開的管理系統,才能贏得學生的認可,同時也為學校節省少量勞動力成本。簡單來說,管理員可以憑借強大的信息管理系統,完成各種一鍵操作。在此過程中,其管理效率大幅度提升。與此同時,學生可以根據系統信息,及時搶占座位資源。筆者主要優化了系統的以下幾點功能:(1)座位預約管理系統及身份的驗證通常情況下,座位管理系統在分配資源時,需要由學生完成刷卡。隨后,系統會分配座位。在這種情況下,此類系統的工作效率極低,一旦學生數量過多,有時會排起長隊在大軍排起長隊,有時也會代替刷卡占座位。因此,為了解決上述系統的問題,本系統導入了座位管理預約系統。其特征是,實現了通過個人終端的用戶名和密碼進行自我注冊或通過學生卡進行注冊的2個方式。還可以連接到學生卡中心的數據庫,完成座位資源的分配。另外,校方在建立識別系統時,盡量以學生卡信息為基礎,方便系統進行驗證和查詢。與此同時,其成本也不高。(2)圖書館閱覽室座位的排位在選擇座位的過程中,既可以由學生自主選擇,又能依照系統分配完成選座。通過這種方式,使學生能夠獲得更多自主權。與此同時,不僅避免了占座沖突,還能提高學生的學習效率。(3)座位資源的更新管理從傳統的座位管理方式來看,校方會指派工作人員在圖書館內來回走動,觀察座位的使用狀況。這種管理方法不僅費時費力,有時還會導致不必要的沖突和效率低下。在本系統中,管理者只需手動或自動進行更新,保留違反者的記錄,就可以提高座位的利用效率,這也與小程序不同。通過本系統可以獲得更多的信息,這些信息可以使學校在相關建設上進行有價值的改進。1.4研究目標筆者針對愈演愈烈的校園占座現象,詳細分析管理系統的不足之處,并提出相應的解決途徑。通過這種方式,幫助校方提高管理效率,降低占座引發的沖突,進而建立良好的學習氛圍。與此同時,也能引導學生養成良好的生活習慣。除此之外,系統的簡單操作對學生來說也很方便。第二章功能分析2.1客戶端 本系統具有用戶注冊登陸,用戶個人信息的詢問,用戶的座位選擇,用戶利用座位時長提示,用戶座位利用時間的延長,用戶暫時離開座位,用戶的座位釋放等功能。一、用戶必須輸入相關信息,完成身份驗證之后,才能成功登陸該系統。二、用戶能夠隨時查詢個人信息。三、用戶能夠利用系統自帶的實時地圖,確認座位資源是否充沛,并做出更加合理的選擇和判斷。四、用戶可以選擇座位進行預訂。五、在手動座位選擇功能中,用戶需要進行樓層選擇,系統以列表形式向用戶提示座位的情況,將未使用的座位標記為可選擇狀態,將已經使用的座位標記為不可選擇狀態。用戶可以通過向上或向下滾動列表來選擇適合自己的位置。六、如果選擇成功,則會轉到提示界面并顯示用戶名和使用時間的倒計時(默認為4小時)。在使用時間結束前的15分鐘內,將顯示一條消息,詢問您是使用時間結束,還是在使用時間結束前釋放座位。如果用戶在指定的時間內完成了持續工作,則系統會將用戶的學習時間延長兩個小時。另外,在2小時的結束前15分鐘,指示用戶再次確認是進行下一次操作還是騰出座位。2.2服務端服務端作為程序的指揮部,主要負責對程序運行做保障。第三章技術的實現3.1搭建開發環境3.11在進行搭建開發環境前先下載以下程序安裝JDK、eclipse、SDK、adt3.12安裝JDK配置環境變量:(1)新建->變量名"JAVA_HOME",變量值"C:\Java\jdk1.8.0_05"(你JDK的安裝路徑)
(2)編輯->變量名"Path",在原變量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
(3)新建->變量名“CLASSPATH”,變量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”3.13安裝SDKandroidSDK是用于模擬android運行環境的文件集合。androidSDKTOOLS主要包括一個SDK管理器和一個AVD管理器。SDK管理器用來管理不同版本的SDK(每個版本SDK對應一個安卓版本),AVD管理器用于創建一個虛擬手機。配置環境變量:新建一個系統環境變量,變量名為ANDROID_SDK_HOME,變量值為你的SDK安裝路徑。然后就是在系統的Path變量后,追加;%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools。然后可以檢驗一下AndroidSDK是否安裝成功:在命令行窗口中輸入”adbversion“,如出現版本信息說明安裝成功。3.2安卓技術開發3.3二維碼的生成與識別1.引入依賴首先在libs文件目錄下放進jar包zxing.jar,然后引入依賴,sync。然后添加二維碼工具類EncodingUtils.classpackagecom.example.qrcodedemo.utils;importandroid.graphics.Bitmap;importandroid.graphics.Canvas;importcom.google.zxing.BarcodeFormat;importcom.google.zxing.EncodeHintType;importcom.google.zxing.WriterException;importmon.BitMatrix;importcom.google.zxing.qrcode.QRCodeWriter;importcom.google.zxing.qrcode.decoder.ErrorCorrectionLevel;importjava.util.HashMap;importjava.util.Map;/***二維碼生成工具類*/publicclassEncodingUtils{/***創建二維碼**@paramcontentcontent*@paramwidthPixwidthPix*@paramheightPixheightPix*@paramlogoBmlogoBm*@return二維碼*/publicstaticBitmapcreateQRCode(Stringcontent,intwidthPix,intheightPix,BitmaplogoBm){try{if(content==null||"".equals(content)){returnnull;}//配置參數Map<EncodeHintType,Object>hints=newHashMap<>();hints.put(EncodeHintType.CHARACTER_SET,"utf-8");//容錯級別hints.put(EncodeHintType.ERROR_CORRECTION,ErrorCorrectionLevel.H);//圖像數據轉換,使用了矩陣轉換BitMatrixbitMatrix=newQRCodeWriter().encode(content,BarcodeFormat.QR_CODE,widthPix,heightPix,hints);int[]pixels=newint[widthPix*heightPix];//下面這里按照二維碼的算法,逐個生成二維碼的圖片,//兩個for循環是圖片橫列掃描的結果for(inty=0;y<heightPix;y++){for(intx=0;x<widthPix;x++){if(bitMatrix.get(x,y)){pixels[y*widthPix+x]=0xff000000;}else{pixels[y*widthPix+x]=0xffffffff;}}}//生成二維碼圖片的格式,使用ARGB_8888Bitmapbitmap=Bitmap.createBitmap(widthPix,heightPix,Bitmap.Config.ARGB_8888);bitmap.setPixels(pixels,0,widthPix,0,0,widthPix,heightPix);if(logoBm!=null){bitmap=addLogo(bitmap,logoBm);}//必須使用compress方法將bitmap保存到文件中再進行讀取。直接返回的bitmap是沒有任何壓縮的,內存消耗巨大!returnbitmap;}catch(WriterExceptione){e.printStackTrace();}returnnull;}/***在二維碼中間添加Logo圖案*/privatestaticBitmapaddLogo(Bitmapsrc,Bitmaplogo){if(src==null){returnnull;}if(logo==null){returnsrc;}//獲取圖片的寬高intsrcWidth=src.getWidth();intsrcHeight=src.getHeight();intlogoWidth=logo.getWidth();intlogoHeight=logo.getHeight();if(srcWidth==0||srcHeight==0){returnnull;}if(logoWidth==0||logoHeight==0){returnsrc;}//logo大小為二維碼整體大小的1/5floatscaleFactor=srcWidth*1.0f/5/logoWidth;Bitmapbitmap=Bitmap.createBitmap(srcWidth,srcHeight,Bitmap.Config.ARGB_8888);try{Canvascanvas=newCanvas(bitmap);canvas.drawBitmap(src,0,0,null);canvas.scale(scaleFactor,scaleFactor,srcWidth/2,srcHeight/2);canvas.drawBitmap(logo,(srcWidth-logoWidth)/2,(srcHeight-logoHeight)/2,null);canvas.save();canvas.restore();}catch(Exceptione){bitmap=null;e.getStackTrace();}returnbitmap;}}改布局文件用于預覽二維碼效果,其中EditText用于輸入放在二維碼中的文本信息,qrCode1為生成不帶logo的二維碼的點擊事件,qrCode2為生成帶logo的二維碼的點擊事件。<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"android:orientation="vertical"><EditTextandroid:id="@+id/input_txt"android:layout_width="300dp"android:textSize="18sp"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:hint="輸入要生成二位碼的內容"/><Buttonandroid:text="生成二維碼"android:layout_width="239dp"android:layout_height="wrap_content"android:id="@+id/encode_btn1"android:textSize="18sp"android:onClick="qrCode1"android:layout_marginTop="20dp"/><ImageViewandroid:layout_width="200dp"android:layout_height="200dp"android:id="@+id/code_image1"android:layout_marginTop="20dp"/><TextViewandroid:layout_width="match_parent"android:layout_height="2dp"android:layout_marginTop="10dp"android:background="#7e7b7b"/><Buttonandroid:text="生成帶Logo的二維碼"android:layout_width="239dp"android:layout_height="wrap_content"android:id="@+id/encode_btn2"android:textSize="18sp"android:onClick="qrCode2"android:layout_marginTop="10dp"/><ImageViewandroid:layout_width="200dp"android:layout_height="200dp"android:id="@+id/code_image2"android:layout_marginTop="20dp"/></LinearLayout>然后我們在主活動中使用集成的EncodingUtils類中的createQRCode()方法來生成相應的二維碼,第一個參數content為二維碼中所存放的信息,第二個參數widthPix為所生成二維碼的寬度,第三個參數heightPix為所生成二維碼的高度,第四個參數logoBm為二維碼中間的logo,如果不帶logo的話此參數設為null即可。packagecom.example.qrcodedemo;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.EditText;importandroid.widget.ImageView;importandroid.widget.Toast;importcom.example.qrcodedemo.utils.EncodingUtils;publicclassMainActivityextendsAppCompatActivity{privateImageViewenCodeImage1,enCodeImage2;//展示生成的二維碼privateEditTexteditText;//輸入要生成二維碼的內容@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//初始化控件enCodeImage1=(ImageView)findViewById(R.id.code_image1);enCodeImage2=(ImageView)findViewById(R.id.code_image2);editText=(EditText)findViewById(R.id.input_txt);}/***生成不帶Logo的二維碼點擊事件*@paramview*/publicvoidqrCode1(Viewview){if("".equals(editText.getText().toString())){Toast.makeText(this,"請在輸入框中輸入內容",Toast.LENGTH_SHORT).show();return;}//生成二維碼BitmapcodeBitmap=EncodingUtils.createQRCode(editText.getText().toString(),500,500,null);enCodeImage1.setImageBitmap(codeBitmap);//顯示二維碼}/***生成帶Logo的二維碼*@paramview*/publicvoidqrCode2(Viewview){if("".equals(ed
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025租賃合同標準范本
- 護理帶教方法規范化培訓體系
- 果酸換膚后續護理
- 人教版小學英語四年級第二冊期末檢測試卷
- 管理學組織結構
- 腦血栓形成護理
- 遺傳性腎炎的臨床護理
- 幼兒園中班家訪工作總結模版
- 高中化學人教版晶體結構與性質知識點總結
- 山東省濟寧市兗州區2024-2025學年高二下學期期中考試英語試題
- 衛星互聯網應用與挑戰
- 《生物醫用陶瓷》課件
- 數據資產入表的探討與思考
- 浙江寧波鄞州區市級名校2025屆中考生物全真模擬試卷含解析
- 國家電網十八項重大反事故措施
- 院感教學課件
- 江蘇省南京市(2024年-2025年小學六年級語文)統編版期末考試(下學期)試卷及答案
- 【MOOC】溫病學-河南中醫藥大學 中國大學慕課MOOC答案
- 中國慢性阻塞性肺疾病基層診療指南(2024年)解讀
- 《汽車用改性聚丙烯車門外板》
- 欄桿拆除及更換施工方案
評論
0/150
提交評論