資源描述:
《基于mvc的android平臺圖書管理系統(tǒng)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、基于MVC的Android平臺圖書管理系統(tǒng) 摘要 描述了一個采用MVC設(shè)計模式,運行在Android客戶端的多界面單機版圖書管理系統(tǒng)的設(shè)計實現(xiàn)過程?! 娟P(guān)鍵詞】MVC框架Android圖書管理系統(tǒng) 1前言 基于Android平臺的圖書管理系統(tǒng)不僅可以減少人力資源消耗,同時還可以隨時隨地的查看與管理圖書,方便用戶進行操作。接下來本文將從設(shè)計與功能實現(xiàn)兩個方面進行詳細闡述。 2設(shè)計 2.1設(shè)計模式 該圖書管理系統(tǒng)采用MVC(modelviewcontroller)設(shè)計模式,將視圖與模型進行解耦,從而增強代碼
2、的可維護性與可擴展性。該圖書管理系統(tǒng)的MVC框架具體設(shè)計如下: 2.1.1Model:實現(xiàn)應(yīng)用程序的核心功能 (1)創(chuàng)建圖書管理數(shù)據(jù)庫; ?。?)對數(shù)據(jù)庫實現(xiàn)增刪改查的功能。 2.1.2View:存放應(yīng)用程序的用戶界面 ?。?)用Activity加載XML實現(xiàn)的用戶界面; ?。?)在用戶事件響應(yīng)函數(shù)里創(chuàng)建controller實例,調(diào)用controller里面相應(yīng)的處理用戶輸入的函數(shù)?! ?.1.3Controller:從界面讀取數(shù)據(jù),向后臺轉(zhuǎn)發(fā)數(shù)據(jù) 實現(xiàn)接受用戶請求的函數(shù),在函數(shù)里面調(diào)用model里面相應(yīng)的函數(shù)
3、去處理該請求?! ?.2功能 本系統(tǒng)的用戶分為普通用戶和管理員。普通用戶權(quán)限有限,只可以實現(xiàn)登錄功能、查看圖書功能。管理員的權(quán)限較寬,不僅可以實現(xiàn)登錄功能,還可以實現(xiàn)對圖書的CRUD操作。如圖1所示。 2.2.1登陸功能 通過輸入的用戶名和密碼判斷用戶的身份是普通用戶、管理員還是不存在的用戶。如果為普通用戶則顯示所有圖書信息,如果為管理員則進入功能選擇界面,若為不存在的用戶則提示輸入信息有誤?! ?.2.2圖書增刪改查功能 通過輸入圖書的基本屬性,編號、價格、名稱來增加新的圖書信息。通過輸入圖書表的主鍵即圖書編
4、號,對圖書進行唯一的識別然后刪除該圖書。通過輸入圖書編號、圖書名稱、圖書價格,實現(xiàn)對該圖書信息的更新。最終所有的圖書信息會以表格形式顯示在手機界面中?! ?.3數(shù)據(jù)庫 該圖書管理系統(tǒng)的數(shù)據(jù)庫采用Android自帶的輕量級SQLite。因為SQLite在使用時無需安裝部署方便,同時源代碼開放是一個精簡版的SQL庫。表格設(shè)計共為兩張: 2.3.1用戶表 用戶屬性為自增的id、姓名、密碼和用戶類型,用戶類型分為普通用戶和管理員,其中主鍵為id?! ?.3.2圖書表 圖書的基本屬性為圖書編號、圖書名稱、圖書價格,其中圖
5、書編號為主鍵。 3功能實現(xiàn) 在開發(fā)過程中為了使各個模塊功能明確,所以采用MVC框架。在Android項目中,我們將程序分為三個包,從而使程序看起來清晰條理。目錄結(jié)構(gòu)如圖2所示,具體功能如圖3所示?! ?.1Model的具體實現(xiàn) 1.DBhelper類:創(chuàng)建數(shù)據(jù)庫book.db與圖書表book,同時添加setContext()靜態(tài)函數(shù),用于將環(huán)境變量context設(shè)置為整個應(yīng)用程序。核心代碼如下: publicDBHelper(Contextcontext,Stringname,CursorFactoryfact
6、ory,intversion){//實現(xiàn)上下文、數(shù)據(jù)庫名、CursorFactory類型、版本的傳參} publicvoidonCreate(SQLiteDatabasedb){//使用execSQL()方法創(chuàng)建表} publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){//封裝了升級數(shù)據(jù)庫的邏輯} 2.BookManager:實現(xiàn)對book數(shù)據(jù)庫的增刪查改功能,分別使用db.instert(),db.delete(),db.updat
7、e(),db.query()的方法。以添加圖書為例,核心代碼如下: privateDBHelperhelper=newDBHelper(); publicbooleanadd(Stringid,Stringname,Stringprice){ //以只讀寫方式打開數(shù)據(jù)庫,實現(xiàn)對數(shù)據(jù)的添加 SQLiteDatabasedb=helper.getWritableDatabase(); Cursorcursor=db.query("book",null,"id=?",newString[]{id},null,nul
8、l,null); if(cursor.moveToFirst()==true)returnfalse; ContentValuesvalues=newContentValues(); values.put("id",id);values.put("name",name); values.put("price",price)