亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于移動終端的實驗室安全教育考試系統(tǒng)開發(fā)

        2019-08-22 10:00:34倪紅軍
        計算機技術(shù)與發(fā)展 2019年8期
        關(guān)鍵詞:題庫界面題目

        倪紅軍,李 豪,朱 瑤

        (南京師范大學泰州學院,江蘇 泰州 225300)

        0 引 言

        隨著應(yīng)用型人才培養(yǎng)的需要,應(yīng)用型本科大學的實踐課占比越來越高,從而為實驗室的管理也帶來了一些問題,其中實驗室的安全教育問題尤為突出。目前大多數(shù)高校的實驗室安全教育和考試平臺采用傳統(tǒng)的PC端Web網(wǎng)站,但是隨著移動互聯(lián)網(wǎng)技術(shù)的發(fā)展,傳統(tǒng)的PC端Web網(wǎng)站需要向移動終端遷移。雖然傳統(tǒng)的Web網(wǎng)站能夠在移動終端的瀏覽器上打開,但是也存在兩個方面的缺陷:

        (1)由于屏幕尺寸、設(shè)計風格、網(wǎng)頁內(nèi)容展現(xiàn)等兼容性的問題,使移動終端用戶體驗不佳;

        (2)實驗室安全教育和考試必須在在線狀態(tài)下才能進入系統(tǒng)完成,學生集中在線容易造成系統(tǒng)過載,受時間和空間的限制[1-4]。

        針對目前基于Web平臺的實驗室安全教育考試系統(tǒng)的缺陷,設(shè)計開發(fā)一個基于移動終端的實驗室安全教育考試系統(tǒng)具有重要的理論意義和應(yīng)用價值。

        1 基于移動終端的實驗室安全教育考試系統(tǒng)功能構(gòu)建

        1.1 系統(tǒng)功能的構(gòu)建

        實驗室安全教育考試系統(tǒng)包括4個功能模塊,即登錄模塊、學習模塊、考試模塊和回看模塊。

        (1)登錄模塊:學生輸入學號、密碼并從學習模式、測試模式或回看模式中選擇一種操作模式后,系統(tǒng)會根據(jù)學號判斷學生的專業(yè)類別,然后從題庫中選擇符合學生專業(yè)類別的實驗室安全教育考試題庫。

        (2)學習模塊:顯示對應(yīng)專業(yè)題庫中的題目和標準答案,以便學生在這個模塊中學習與本專業(yè)相關(guān)的實驗室安全知識。

        (3)考試模塊:從對應(yīng)專業(yè)的題庫中隨機抽取50道題(其中35道判斷題、15道選擇題)組成實驗室安全考試試卷,學生在30分鐘內(nèi)完成后可即時判斷正誤,并保存考試時間、考生答案和考試成績。每一位學生可以考3次,以最高分為最終成績上傳校園網(wǎng)服務(wù)器。

        (4)回看模塊:學生可以查看每次考試試卷的試題、考生答案和標準答案,以便學生對做錯的題目反復學習,從而更好地掌握實驗室安全知識。

        1.2 安全知識題庫的構(gòu)建

        不同學科或?qū)I(yè)的實驗室對實驗室安全教育和考核的內(nèi)容一般不可能完全相同,所以在設(shè)計安全知識題庫時,要根據(jù)學校的實際情況進行分類[5-8]。以南京師范大學泰州學院實驗室安全教育考試內(nèi)容為例,全校的實驗室安全教育內(nèi)容可以分為4類,即面向公共計算機實驗室、文科類實驗室、經(jīng)管類實驗室和音體美藝術(shù)類實驗室的通識類安全知識,面向電子信息類實驗室的電子信息類安全知識,面向電力能源類實驗室的電力能源類安全知識,面向化學生物工程類實驗室的化生類安全知識。通識類安全知識題庫內(nèi)容主要涉及防火防盜安全、用電用水安全等常規(guī)安全管理,由資產(chǎn)與實驗室管理處負責;電子信息類、電力能源類和化學生物類安全知識涉及內(nèi)容具有較強的專業(yè)性,題庫分別由信息工程學院、電力學院和化學與生物工程學院負責。

        2 基于移動終端的實驗室安全教育考試系統(tǒng)實現(xiàn)

        目前,使用最多的移動終端采用的是Google公司的Android平臺,下面以Android平臺為例介紹移動終端的實驗室安全教育考試系統(tǒng)的實現(xiàn)過程。

        2.1 數(shù)據(jù)庫設(shè)計與連接

        該系統(tǒng)采用了Android系統(tǒng)為開發(fā)者提供的一個輕量級數(shù)據(jù)庫——SQLite。由于SQLite是進程內(nèi)的數(shù)據(jù)庫引擎,因此不存在數(shù)據(jù)庫的客戶端和服務(wù)器端。使用時一般只需要附帶上它的一個動態(tài)庫,就可以使用它的全部功能,而且其運算速度快、占用資源少,很適合在移動終端設(shè)備上使用[9-10]。SQLite采用動態(tài)數(shù)據(jù)類型,使用時會根據(jù)存入的具體值自動判斷其數(shù)據(jù)類型,通常包含NULL、INTEGER(整數(shù))、REAL(浮點數(shù))、TEXT(字符串文本)和BLOB(二進制對象)五種數(shù)據(jù)類型。

        2.1.1 數(shù)據(jù)庫設(shè)計

        SQLite通過文件來保存數(shù)據(jù)庫,一個文件就是一個數(shù)據(jù)庫,一個數(shù)據(jù)庫可以包含多個表。為了便于維護和管理數(shù)據(jù)庫文件,應(yīng)用程序的數(shù)據(jù)庫文件通常保存在移動終端設(shè)備的外部存儲器上。當?shù)谝淮芜\行考試系統(tǒng)時會自動連接網(wǎng)絡(luò)下載數(shù)據(jù)庫文件并保存到外部存儲器的指定位置[11-13]。該系統(tǒng)的數(shù)據(jù)庫school.db包含學生信息表stud(表結(jié)構(gòu)如表1所示)和題庫表tiku(表結(jié)構(gòu)如表2所示)。

        表2 題庫信息表(tiku)結(jié)構(gòu)

        2.1.2 數(shù)據(jù)庫連接

        Android系統(tǒng)提供了創(chuàng)建和使用SQLite數(shù)據(jù)庫的API,這些API被封裝在SQLiteDatabase類中,該類中提供了數(shù)據(jù)庫操作的常用方法。下面的代碼表示打開移動終端設(shè)備外部存儲器中DB文件夾中的school.db數(shù)據(jù)庫文件,數(shù)據(jù)庫打開后,就可以使用SQLiteDatabase類中增、刪、改、查等方法對數(shù)據(jù)庫文件進行操作。

        String sdpath=Environment.getExternalStorageDirectory().toString();

        String filename=sdpath+File.separator+"DB"+File.separator+"school.db";

        SQLiteDatabase sqLiteDatabase=SQLiteDatabase.openOrCreateDatabase(filename,null);

        2.2 登錄模塊的實現(xiàn)

        登錄模塊的界面如圖1所示。界面采用RelativeLayout布局方式,在布局文件的最上部和最下部都使用了ImageView組件顯示圖片,中間使用了2個EditText組件分別用于輸入學生的學號和密碼,使用了1個Spinner組件用于選擇操作模式,使用了2個Button組件用于登錄和退出。

        圖1 登錄界面

        當?shù)卿浗缑孢\行后就應(yīng)該加載Spinner組件中的內(nèi)容(學習模式、考試模式和回看模式),并實現(xiàn)單擊選擇登錄模式事件,即在登錄模塊的Activity中用如下代碼實現(xiàn):

        private SpinnerspinnerMode;

        private String[] modes=new String[]{“學習模式”,“考試模式”,“回看模式”};

        privateint modeId=0;//0-學習模式,1-考試模式,2-回看模式

        ArrayAdapter modeArray=new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line, modes);

        spinnerMode.setAdapter(modeArray);

        spinnerMode.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        @Override

        public voidonItemSelected(AdapterView parent,View view,int position,long id) {

        modeId=position;//操作模式

        }

        });

        當單擊“登錄”按鈕后,首先對輸入的學號和密碼進行正確性判斷,同時根據(jù)學號檢索出該學生的所屬院系。如果輸入的學號和密碼正確,就根據(jù)選擇的登錄模式啟動相應(yīng)Activity,并將學號和所屬院系通過Intent傳遞給對應(yīng)的Activity,以便對應(yīng)Activity啟動時加載對應(yīng)類別的題庫?!暗卿洝卑粹o的單擊監(jiān)聽事件關(guān)鍵代碼如下:

        Cursor cursor=sqLiteDatabase.query(“stud”,new String[]{“stunumber”,“stupwd”,“studep”},“stunumber=? and stupwd=?”,new String[]{username, usepwd},null,null,null);

        if(cursor.getCount()>0) {//用戶名和密碼正確

        Intent intent=new Intent();

        switch (modeId) {

        case 0://學習模式

        intent=new Intent(MainActivity.this, StudyActivity.class);

        ……;//將學號、所屬院系通過intent傳遞給學習模式Activity

        MainActivity.this.startActivity(intent);

        break;

        case 1://考試模式

        ……

        case2://回看模式

        ……

        }else {//用戶名或密碼不正確

        ……//給出錯誤提示信息

        }

        2.3 考試模塊的實現(xiàn)

        考試模式界面如圖2所示。

        圖2 考試模塊界面

        進入考試模式后屏幕的顯示模式設(shè)置為橫屏顯示效果,即修改配置文件AndroidManifest.xml,代碼如下:

        2.3.1 組 卷

        考試模式啟動時就需要打開數(shù)據(jù)庫文件,同時根據(jù)登錄模塊傳遞來的所屬院系(studep)從題庫表(tiku)中查詢出所有符合條件的判斷題和選擇題,并保存到對應(yīng)的Cursor中;然后從對應(yīng)的Cursor中分別篩選出35道判斷題和15道選擇題的試題編號保存的ArrayList中組成該學生的考試試卷,其關(guān)鍵代碼如下:

        jcursor=sqLiteDatabase.query("tiku",new String[]{“tino”,“ticontent”,“titype”,“ti1”,“ti2”,“ti3”,“ti4”,“tianswer”,“ticlassid”},“titype=? and ticlassid=?”,new String[]{‘0’,studep},null,null,null);//判斷題

        for (int i=0;i<35;i++) {//生成35道判斷題

        int index=(int) (0+Math.random()*cursor.getCount());

        while (indexAL.contains(index)) {//取不重復的試題編號

        index=(int) (0+Math.random()* cursor.getCount());

        }

        indexAL.add(index);//試題編號

        answerAL.add(“”);//存放標準答案

        userAL.add(“”);//存放考生答案

        }

        ……//15道單選題實現(xiàn)代碼類似

        2.3.2 顯示題目

        由于做完一道題后可能會繼續(xù)顯示下一道題目,也可能會向前翻看做過的題目,所以該系統(tǒng)在實現(xiàn)題目顯示功能時定義了一個showTimu(Cursor cursor,int index)方法,根據(jù)傳遞的題型和索引號顯示題目內(nèi)容和選項。其關(guān)鍵代碼如下:

        voidshowTimu(Cursor cursor,int index) {

        cursor.moveToPosition(index);

        tvTimut.setText((showIndex+1)+“、”+cursor.getString(1)); //題目內(nèi)容

        tv1t.setText(“A.”+cursor.getString(3)); //選項A

        ……//選項B、C、D實現(xiàn)代碼類似

        Stringtvanswer=cursor.getString(7); //答案

        answerAL.set(showIndex,tvanswer);//將標準答案添加到answerAL的showIndex位置

        }

        當考生單擊圖2中所示的A、B等選項時會調(diào)用showTimu()方法顯示下一道題相關(guān)內(nèi)容,并將當前單擊的選項保存到存放考生答案的ArrayList(userAL)中;當考生單擊“重做前一題”按鈕時會調(diào)用showTimu()方法顯示前面一道題相關(guān)內(nèi)容。

        2.3.3 試卷評分

        考試時間一到或者單擊“提交試卷”按鈕后,考試界面上的試題選項全部禁用,并將學生作答的答案與試卷的標準答案逐一比對。如果答案相同,則計2分,并保存學生學號、本次考試試卷的試題編號、標準答案、考生答案和考試時間。其關(guān)鍵代碼如下:

        tv1t.setEnabled(false);//一旦交卷,選項A禁止使用

        ……//選項B、C、D禁止使用代碼類似

        int score=0;

        for (int i=0;i

        if(userAL.get(i).toString().length()!=0&& answerAL.get(i).equals(userAL.get(i)))

        score=score+2;

        }

        Toast.makeText(TestActivity.this,“你的得分為:”+score,Toast.LENGTH_SHORT).show();

        ContentValues values=new ContentValues();

        values.put(“testids”,indexAL.toString());//試題編號

        ……//標準答案、考生答案、當前時間、分類實現(xiàn)代碼等類似

        String whereClause=“stunumber=?”;//更新條件以登錄的學號為依據(jù)

        String[]whereArgs={studnumber};//登錄界面通過Intent傳遞來的學號

        sqLiteDatabase.update(“stud”,values,whereClause,whereArgs);

        2.4 其他模塊的實現(xiàn)

        學習模式界面如圖3所示,學習模式界面啟動時根據(jù)登錄模塊傳遞來的所屬院系(studep)從題庫表(tiku)中查詢出所有符合條件的試題并保存到對應(yīng)的Cursor中,然后將試題內(nèi)容、選項和標準答案顯示在對應(yīng)位置,通過“向前學習”、“向后學習”按鈕實現(xiàn)顯示前一道題目和后一道題目。

        圖3 學習模塊界面

        回看模式界面如圖4所示,回看界面啟動時根據(jù)登錄模塊傳遞來的學號從學生信息表(stud)查詢該學生的試卷信息,也就是該學生的試卷題目索引號、標準答案和考生答案;同時將tiku表中的所有題目信息保存在Cursor中,然后通過單擊“向前查看”和“向后查看”按鈕將試卷題目索引號對應(yīng)的題目內(nèi)容、選項、標準答案和考生答案顯示到對應(yīng)的組件上。

        圖4 回看模塊界面

        3 結(jié)束語

        隨著移動應(yīng)用開發(fā)技術(shù)的發(fā)展,應(yīng)用于移動終端設(shè)備的移動App為實驗室的安全教育和考試工作開辟了一個新的途徑和新的思路。學生在進入實驗室之前通過移動終端進行必要的實驗室安全知識學習和考試,可以進一步提高他們的安全防范意識,極大地減少實驗室管理過程中人為因素的安全隱患[14-15]。在移動互聯(lián)網(wǎng)技術(shù)的支持下,開發(fā)的基于Android平臺的實驗室安全教育考試系統(tǒng),可以讓學生通過移動終端隨時隨地進行學習和考試,一方面大大提高了學習效率,另一方面可以從根本上預防和減少實驗室安全事故的發(fā)生。

        猜你喜歡
        題庫界面題目
        “勾股定理”優(yōu)題庫
        “軸對稱”優(yōu)題庫
        國企黨委前置研究的“四個界面”
        當代陜西(2020年13期)2020-08-24 08:22:02
        唐朝“高考”的詩歌題目
        文苑(2020年7期)2020-08-12 09:36:22
        關(guān)于題目的要求
        “軸對稱”優(yōu)題庫
        “整式的乘法與因式分解”優(yōu)題庫
        本期練習類題目參考答案及提示
        基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
        人機交互界面發(fā)展趨勢研究
        亚洲国产精品久久久久秋霞小说 | 伊人影院在线观看不卡| 一区二区激情偷拍老牛视频av| 一区二区黄色在线观看| 在线播放免费人成毛片乱码| 国产精品无码成人午夜电影| 伊人久久亚洲综合影院首页| 按摩师玩弄少妇到高潮hd| 一本色道久久88加勒比综合| 无码免费无线观看在线视| 99精品国产一区二区三区| 熟妇与小伙子matur老熟妇e| 果冻国产一区二区三区| 国产夫妻自偷自拍第一页| 欧美大片va欧美在线播放| 色偷偷噜噜噜亚洲男人| 日韩永久免费无码AV电影| av最新版天堂在资源在线| 一区二区二区三区亚洲| 欧美村妇激情内射| 特黄a级毛片免费视频| 国产精品乱子伦一区二区三区| 国产又湿又爽又猛的视频| 亚洲中文久久精品字幕| 亚洲国产精品无码专区影院| 国内精品视频一区二区三区| 米奇亚洲国产精品思久久| 一本之道日本熟妇人妻| 亚洲人成网线在线播放va蜜芽| 少妇人妻200篇白洁| 亚洲AV永久无码精品一区二国| 国产三级韩三级日产三级| 日韩 无码 偷拍 中文字幕| 国产一区二区精品久久| 午夜福利不卡无码视频| 丰满少妇av一区二区三区| 成人欧美一区二区三区黑人| 俄罗斯老熟妇色xxxx| 国产一精品一aⅴ一免费| 亚洲av调教捆绑一区二区三区| 美国少妇性xxxx另类|