肖 洋 何 斌 李軍峰
(91404部隊評測中心,河北 秦皇島 066000)
基于Flash AS3和XML實現的圖書館管理系統
肖 洋 何 斌 李軍峰
(91404部隊評測中心,河北 秦皇島 066000)
該系統采用Flash AS3開發,專為觸摸屏設計的一款新型圖書館管理系統,功能全面,采用XML作為數據庫后臺,實現系統的跨平臺性,利用JS使得系統脫離Flash沙盒,以達到修改數據的目的,具有很好的應用價值。
AS3;Flash;XML;JS;跨平臺
目前,基于RIA的Web應用的越來越多,本文采用RIA中最具影響力的Flash AS3作為主要開發語言,設計并實現了一種適用于各類觸摸屏、操作更加快捷、美觀的圖書館管理系統。
AS3全稱Action Script3,是快速構建豐富互聯網程序(RIA)的理想語言。在其上構建的Flash Player程序或者AIR程序,都真正支持跨系統應用,已經毫無疑問地成為目前和下一代因特網應用程序編程語言的主流[1]。
AS3支持先進的ECMA Script for XML(E4X),使得XML就像AS3語言的一種內建數據類型一樣,處理自然簡單,成倍降低所需要的代碼數量,顯著提高了程序運行效率[2]。因此,本文在數據庫設計上并沒有采用傳統的SQL、Oracle等來存儲數據,而是采用XML來實現各類數據的存儲,已實現跨平臺和操作快捷。
本文設計的圖書館運行在Web框架內,主要實現了圖書瀏覽、圖書借閱、圖書歸還、圖書搜索、借閱記錄等五大功能,由于Flash出于安全沙盒的考慮,AS3不具備直接修改數據的功能,只有通過JS等第三方語言來實現數據的更改,因此,圖書借閱、圖書歸還兩個模塊涉及到數據的修改,需要調用Web中JS函數XMLModify,其余模塊只是涉及數據的讀取。其中,總體功能設計框圖如圖1所示。
在圖書館的主界面上,主要顯示圖書瀏覽、圖書搜索、借閱記錄三個模塊,可以按定制的分類瀏覽或者搜索。用戶點擊某一本書后,進入該書的簡介,內容包括書籍作者、出版社、借閱狀態、內容簡介等,如果借閱狀態為可借,用戶可以選擇借閱該書,則跳至借閱功能模塊,輸入用戶名、密碼等信息,完成借閱。在圖書搜索和借閱記錄中,用戶選擇自己所借的圖書后,通過還書按鈕跳入圖書歸還模塊,輸入密碼等信息完成圖書的歸還。

圖1 功能設計圖
圖書瀏覽、圖書搜索、借閱記錄三個模塊的實現,主要包括各類XML數據文件的讀取,構建AS3公共函數XMLRead(XMLstr:String),主要代碼如下:
//加載外部xml
xml.ignoreWhite=true;
System.useCodePage=true;
var XML_URL:String=XMLstr;
var myXMLURL:URLRequest=new URLRequest(XML_URL);
Bagging算法是通過引導程序使用一個訓練集的多個版本,即放回抽樣,多每一個數據集都來訓練一個不同的模型,在對訓練模型通過整合輸出形成一個最終的預測結果?;舅惴ㄈ缦?。
var myLoader:URLLoader=new URLLoader(myXMLURL);
通過時間軸上標記的按鈕圖元實例化讀取的各個書籍數據,其中使用了Tweener.as作為書籍按鈕的效果美化文件類,當滑動到某本書時,書籍作被抽出來的動作,書籍下方用不同的標志標識該書借閱狀態,例如用紅色人形標志表明書籍已被借完,處于無法借閱狀態,如圖2所示。此時如果做點擊動作,則跳入該書的簡介界面,如果該書還可以借閱,則會出現右側的“借閱該書”按鈕,否則只有“返回”按鈕,如圖3所示。點擊“借閱該書”按鈕進入圖書借閱模塊。

圖2 圖書瀏覽效果圖

圖3 圖書簡介效果圖
圖書搜索和借閱記錄在本系統中主要設計為列表形式顯示相關信息,采用FlashCS4集成組件DataGrid實現。
在圖書借閱和圖書歸還模塊中,主要涉及到與 JS交互的問題,在AS3中需要將要被修改的信息如書名、書籍類型、用戶名、書籍狀態、書籍余量等信息發送至JS中,其主要代碼如下:
function modify(book_name:String,book_list:String,
book_state:String,borrower:String.....):void {
if (ExternalInterface.available) {
try {
Flash所嵌入的 Web網頁中,在 JS代碼中設計了函數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數據文件在本系統中是按照書籍類別來區別,比如軟件測試、軟件編程等,以 softwaretesting_list.xml、comlanguage_list.xml等來區別,每個XML文件子項中都包含了書名、作者、借閱狀態、借閱人、借閱時間等信息。
通過FlashAS3和XML的結合,嵌入到Web中實現了一種新型的圖書館管理系統,滿足各類中小圖書館的日常需求,和傳統圖書館的管理系統相比,它的各種觸摸設計與用戶的交互性更強、更快捷。
[1] 孫穎.Flash ActionScript3殿堂之路[M].北京:機械工業出版社,2007.8.
[2] 蔡朝暉.Flash CS3商業應用實戰[M].北京:清華大學出版社,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部隊評測中心。