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

基于MVC的Android平臺圖書管理系統

2017-05-10 17:45:48王藝燕成麗君楊風仙
電子技術與軟件工程 2017年8期

王藝燕+成麗君+楊風仙

摘 要

描述了一個采用MVC設計模式,運行在Android客戶端的多界面單機版圖書管理系統的設計實現過程。

【關鍵詞】MVC框架 Android 圖書管理系統

1 前言

基于Android平臺的圖書管理系統不僅可以減少人力資源消耗,同時還可以隨時隨地的查看與管理圖書,方便用戶進行操作。接下來本文將從設計與功能實現兩個方面進行詳細闡述。

2 設計

2.1 設計模式

該圖書管理系統采用MVC(model view controller)設計模式,將視圖與模型進行解耦,從而增強代碼的可維護性與可擴展性。該圖書管理系統的MVC框架具體設計如下:

2.1.1 Model:實現應用程序的核心功能

(1)創建圖書管理數據庫;

(2)對數據庫實現增刪改查的功能。

2.1.2 View:存放應用程序的用戶界面

(1)用Activity加載XML實現的用戶界面;

(2)在用戶事件響應函數里創建controller實例,調用controller里面相應的處理用戶輸入的函數。

2.1.3 Controller:從界面讀取數據,向后臺轉發數據

實現接受用戶請求的函數,在函數里面調用model里面相應的函數去處理該請求。

2.2 功能

本系統的用戶分為普通用戶和管理員。普通用戶權限有限,只可以實現登錄功能、查看圖書功能。管理員的權限較寬,不僅可以實現登錄功能,還可以實現對圖書的CRUD操作。如圖1所示。

2.2.1 登陸功能

通過輸入的用戶名和密碼判斷用戶的身份是普通用戶、管理員還是不存在的用戶。如果為普通用戶則顯示所有圖書信息,如果為管理員則進入功能選擇界面,若為不存在的用戶則提示輸入信息有誤。

2.2.2 圖書增刪改查功能

通過輸入圖書的基本屬性,編號、價格、名稱來增加新的圖書信息。通過輸入圖書表的主鍵即圖書編號,對圖書進行唯一的識別然后刪除該圖書。通過輸入圖書編號、圖書名稱、圖書價格,實現對該圖書信息的更新。最終所有的圖書信息會以表格形式顯示在手機界面中。

2.3 數據庫

該圖書管理系統的數據庫采用Android自帶的輕量級SQLite。因為SQLite在使用時無需安裝部署方便,同時源代碼開放是一個精簡版的SQL庫。表格設計共為兩張:

2.3.1 用戶表

用戶屬性為自增的id、姓名、密碼和用戶類型,用戶類型分為普通用戶和管理員,其中主鍵為id。

2.3.2 圖書表

圖書的基本屬性為圖書編號、圖書名稱、圖書價格,其中圖書編號為主鍵。

3 功能實現

在開發過程中為了使各個模塊功能明確,所以采用MVC框架。在Android項目中,我們將程序分為三個包,從而使程序看起來清晰條理。目錄結構如圖2所示,具體功能如圖3所示。

3.1 Model的具體實現

1.DBhelper類:創建數據庫book.db與圖書表book,同時添加setContext()靜態函數,用于將環境變量context設置為整個應用程序。核心代碼如下:

public DBHelper(Context context, String name, CursorFactory factory,int version) {//實現上下文、數據庫名、CursorFactory類型、版本的傳參}

public void onCreate(SQLiteDatabase db) {//使用execSQL()方法創建表 }

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {//封裝了升級數據庫的邏輯}

2.BookManager:實現對book數據庫的增刪查改功能,分別使用db.instert(), db.delete(), db.update(), db.query()的方法。以添加圖書為例,核心代碼如下:

private DBHelper helper= new DBHelper();

public boolean add(String id, String name, String price){

//以只讀寫方式打開數據庫,實現對數據的添加

SQLiteDatabase db= helper.getWritableDatabase();

Cursor cursor=db.query("book", null, "id=?", new String[]{id}, null, null, null);

if(cursor.moveToFirst()==true) return false;

ContentValues values=new ContentValues();

values.put("id", id);values.put("name", name);

values.put("price", price);db.insert("book", null, values);db.close();

return true;}

3.2 View的具體實現

對每一個布局文件創建一個Activity,在activity中實現控件的實例化以及監聽事件,同時并向Controller對象發送用戶請求。以添加圖書為例,核心代碼如下:

主站蜘蛛池模板: 欧美一区二区人人喊爽| 狼友av永久网站免费观看| 日本a∨在线观看| 欧美在线伊人| 噜噜噜综合亚洲| 亚洲黄色成人| 午夜毛片福利| 伊人天堂网| 伊人中文网| 久久精品国产亚洲麻豆| 曰韩人妻一区二区三区| 国产精品无码久久久久AV| 亚洲精品国产综合99久久夜夜嗨| 国产成人一级| 中日韩一区二区三区中文免费视频| 一级爆乳无码av| 青青青国产视频| 五月婷婷精品| 久久伊人操| 国产18页| 一级香蕉人体视频| 亚洲高清无码久久久| 热这里只有精品国产热门精品| 亚洲综合色区在线播放2019| 久久久久青草大香线综合精品 | 欧美日韩国产在线播放| 欧美午夜理伦三级在线观看| 日韩在线欧美在线| 国产欧美日韩资源在线观看| 日本一区二区不卡视频| 国产肉感大码AV无码| 国产日韩欧美成人| 国产真实二区一区在线亚洲| 四虎成人在线视频| 伊人无码视屏| 91无码人妻精品一区二区蜜桃| 成人福利在线观看| 国产午夜福利亚洲第一| 动漫精品中文字幕无码| 日本成人福利视频| 国产亚洲欧美在线人成aaaa| 国产高清精品在线91| 中日韩一区二区三区中文免费视频 | 日韩欧美国产综合| 日韩东京热无码人妻| 欧美日韩在线第一页| 国产精品视频999| 国产成人无码Av在线播放无广告| 久久精品视频一| 亚洲无码电影| 99re精彩视频| 欧美日韩国产系列在线观看| 亚洲色无码专线精品观看| 国产精品页| 日韩免费成人| 国产成人h在线观看网站站| 亚洲天堂精品视频| 日韩a在线观看免费观看| 精品少妇人妻一区二区| 99精品影院| 999国内精品视频免费| 高h视频在线| 国产91丝袜在线观看| 亚洲天堂网在线观看视频| 亚洲国产天堂久久综合| 亚洲第一黄片大全| 国产精品自在线拍国产电影| 日韩国产欧美精品在线| 性欧美久久| 91日本在线观看亚洲精品| 91久久精品日日躁夜夜躁欧美| 黄色网站在线观看无码| 91福利免费| 国产高潮流白浆视频| 99视频在线免费观看| 永久在线播放| 久久黄色小视频| 72种姿势欧美久久久久大黄蕉| 免费毛片网站在线观看| 久草青青在线视频| 视频二区亚洲精品| 久久不卡国产精品无码|