肖 洋 何 斌 李軍峰
(91404部隊評測中心,河北 秦皇島 066000)
基于Flash AS3和XML實現(xiàn)的圖書館管理系統(tǒng)
肖 洋 何 斌 李軍峰
(91404部隊評測中心,河北 秦皇島 066000)
該系統(tǒng)采用Flash AS3開發(fā),專為觸摸屏設(shè)計的一款新型圖書館管理系統(tǒng),功能全面,采用XML作為數(shù)據(jù)庫后臺,實現(xiàn)系統(tǒng)的跨平臺性,利用JS使得系統(tǒng)脫離Flash沙盒,以達(dá)到修改數(shù)據(jù)的目的,具有很好的應(yīng)用價值。
AS3;Flash;XML;JS;跨平臺
目前,基于RIA的Web應(yīng)用的越來越多,本文采用RIA中最具影響力的Flash AS3作為主要開發(fā)語言,設(shè)計并實現(xiàn)了一種適用于各類觸摸屏、操作更加快捷、美觀的圖書館管理系統(tǒng)。
AS3全稱Action Script3,是快速構(gòu)建豐富互聯(lián)網(wǎng)程序(RIA)的理想語言。在其上構(gòu)建的Flash Player程序或者AIR程序,都真正支持跨系統(tǒng)應(yīng)用,已經(jīng)毫無疑問地成為目前和下一代因特網(wǎng)應(yīng)用程序編程語言的主流[1]。
AS3支持先進(jìn)的ECMA Script for XML(E4X),使得XML就像AS3語言的一種內(nèi)建數(shù)據(jù)類型一樣,處理自然簡單,成倍降低所需要的代碼數(shù)量,顯著提高了程序運行效率[2]。因此,本文在數(shù)據(jù)庫設(shè)計上并沒有采用傳統(tǒng)的SQL、Oracle等來存儲數(shù)據(jù),而是采用XML來實現(xiàn)各類數(shù)據(jù)的存儲,已實現(xiàn)跨平臺和操作快捷。
本文設(shè)計的圖書館運行在Web框架內(nèi),主要實現(xiàn)了圖書瀏覽、圖書借閱、圖書歸還、圖書搜索、借閱記錄等五大功能,由于Flash出于安全沙盒的考慮,AS3不具備直接修改數(shù)據(jù)的功能,只有通過JS等第三方語言來實現(xiàn)數(shù)據(jù)的更改,因此,圖書借閱、圖書歸還兩個模塊涉及到數(shù)據(jù)的修改,需要調(diào)用Web中JS函數(shù)XMLModify,其余模塊只是涉及數(shù)據(jù)的讀取。其中,總體功能設(shè)計框圖如圖1所示。
在圖書館的主界面上,主要顯示圖書瀏覽、圖書搜索、借閱記錄三個模塊,可以按定制的分類瀏覽或者搜索。用戶點擊某一本書后,進(jìn)入該書的簡介,內(nèi)容包括書籍作者、出版社、借閱狀態(tài)、內(nèi)容簡介等,如果借閱狀態(tài)為可借,用戶可以選擇借閱該書,則跳至借閱功能模塊,輸入用戶名、密碼等信息,完成借閱。在圖書搜索和借閱記錄中,用戶選擇自己所借的圖書后,通過還書按鈕跳入圖書歸還模塊,輸入密碼等信息完成圖書的歸還。
圖1 功能設(shè)計圖
圖書瀏覽、圖書搜索、借閱記錄三個模塊的實現(xiàn),主要包括各類XML數(shù)據(jù)文件的讀取,構(gòu)建AS3公共函數(shù)XMLRead(XMLstr:String),主要代碼如下:
//加載外部xml
xml.ignoreWhite=true;
System.useCodePage=true;
var XML_URL:String=XMLstr;
var myXMLURL:URLRequest=new URLRequest(XML_URL);
Bagging算法是通過引導(dǎo)程序使用一個訓(xùn)練集的多個版本,即放回抽樣,多每一個數(shù)據(jù)集都來訓(xùn)練一個不同的模型,在對訓(xùn)練模型通過整合輸出形成一個最終的預(yù)測結(jié)果?;舅惴ㄈ缦?。
var myLoader:URLLoader=new URLLoader(myXMLURL);
通過時間軸上標(biāo)記的按鈕圖元實例化讀取的各個書籍?dāng)?shù)據(jù),其中使用了Tweener.as作為書籍按鈕的效果美化文件類,當(dāng)滑動到某本書時,書籍作被抽出來的動作,書籍下方用不同的標(biāo)志標(biāo)識該書借閱狀態(tài),例如用紅色人形標(biāo)志表明書籍已被借完,處于無法借閱狀態(tài),如圖2所示。此時如果做點擊動作,則跳入該書的簡介界面,如果該書還可以借閱,則會出現(xiàn)右側(cè)的“借閱該書”按鈕,否則只有“返回”按鈕,如圖3所示。點擊“借閱該書”按鈕進(jìn)入圖書借閱模塊。
圖2 圖書瀏覽效果圖
圖3 圖書簡介效果圖
圖書搜索和借閱記錄在本系統(tǒng)中主要設(shè)計為列表形式顯示相關(guān)信息,采用FlashCS4集成組件DataGrid實現(xiàn)。
在圖書借閱和圖書歸還模塊中,主要涉及到與 JS交互的問題,在AS3中需要將要被修改的信息如書名、書籍類型、用戶名、書籍狀態(tài)、書籍余量等信息發(fā)送至JS中,其主要代碼如下:
function modify(book_name:String,book_list:String,
book_state:String,borrower:String.....):void {
if (ExternalInterface.available) {
try {
Flash所嵌入的 Web網(wǎng)頁中,在 JS代碼中設(shè)計了函數(shù)XMLModify,接收Flash所傳遞出的值,其中主要代碼如下:function XMLModify (book_name:String,book_list:String,
book_state:String,borrower:String.....){
//讀取外部XML文件
foreach(XmlNode xn in nodeList){
XmlElement xe =(XmlElement)xn;
......
xmlDoc.Save(book_list.xml);
XML數(shù)據(jù)文件在本系統(tǒng)中是按照書籍類別來區(qū)別,比如軟件測試、軟件編程等,以 softwaretesting_list.xml、comlanguage_list.xml等來區(qū)別,每個XML文件子項中都包含了書名、作者、借閱狀態(tài)、借閱人、借閱時間等信息。
通過FlashAS3和XML的結(jié)合,嵌入到Web中實現(xiàn)了一種新型的圖書館管理系統(tǒng),滿足各類中小圖書館的日常需求,和傳統(tǒng)圖書館的管理系統(tǒng)相比,它的各種觸摸設(shè)計與用戶的交互性更強、更快捷。
[1] 孫穎.Flash ActionScript3殿堂之路[M].北京:機(jī)械工業(yè)出版社,2007.8.
[2] 蔡朝暉.Flash CS3商業(yè)應(yīng)用實戰(zhàn)[M].北京:清華大學(xué)出版社,2008.1.
Library management system based on XML and Flash AS3
The system is a new library management system using flash AS3 to develop, specially designed for touch screen, it was comprehensive functions, using XML database as background, cross-platform of the system was realized, to achieve the objective of modifying data, using JS made the system break away from the Flash sandbox, so it is very good value.
AS3;Flash;XML;JS;cross-platform
TP317
A
1008-1151(2012)06-0076-02
2012-05-07
肖洋,供職于91404部隊評測中心。