• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2019-08-22 10:00:34倪紅軍
      關(guān)鍵詞:題庫界面題目

      倪紅軍,李 豪,朱 瑤

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

      0 引 言

      隨著應(yīng)用型人才培養(yǎng)的需要,應(yīng)用型本科大學(xué)的實(shí)踐課占比越來越高,從而為實(shí)驗(yàn)室的管理也帶來了一些問題,其中實(shí)驗(yàn)室的安全教育問題尤為突出。目前大多數(shù)高校的實(shí)驗(yàn)室安全教育和考試平臺采用傳統(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è)計(jì)風(fēng)格、網(wǎng)頁內(nèi)容展現(xiàn)等兼容性的問題,使移動終端用戶體驗(yàn)不佳;

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

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

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

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

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

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

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

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

      (4)回看模塊:學(xué)生可以查看每次考試試卷的試題、考生答案和標(biāo)準(zhǔn)答案,以便學(xué)生對做錯的題目反復(fù)學(xué)習(xí),從而更好地掌握實(shí)驗(yàn)室安全知識。

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

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

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

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

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

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

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

      SQLite通過文件來保存數(shù)據(jù)庫,一個文件就是一個數(shù)據(jù)庫,一個數(shù)據(jù)庫可以包含多個表。為了便于維護(hù)和管理數(shù)據(jù)庫文件,應(yīng)用程序的數(shù)據(jù)庫文件通常保存在移動終端設(shè)備的外部存儲器上。當(dāng)?shù)谝淮芜\(yùn)行考試系統(tǒng)時會自動連接網(wǎng)絡(luò)下載數(shù)據(jù)庫文件并保存到外部存儲器的指定位置[11-13]。該系統(tǒng)的數(shù)據(jù)庫school.db包含學(xué)生信息表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ù)庫文件進(jìn)行操作。

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

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

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

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

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

      圖1 登錄界面

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

      private SpinnerspinnerMode;

      private String[] modes=new String[]{“學(xué)習(xí)模式”,“考試模式”,“回看模式”};

      privateint modeId=0;//0-學(xué)習(xí)模式,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;//操作模式

      }

      });

      當(dāng)單擊“登錄”按鈕后,首先對輸入的學(xué)號和密碼進(jìn)行正確性判斷,同時根據(jù)學(xué)號檢索出該學(xué)生的所屬院系。如果輸入的學(xué)號和密碼正確,就根據(jù)選擇的登錄模式啟動相應(yīng)Activity,并將學(xué)號和所屬院系通過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://學(xué)習(xí)模式

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

      ……;//將學(xué)號、所屬院系通過intent傳遞給學(xué)習(xí)模式Activity

      MainActivity.this.startActivity(intent);

      break;

      case 1://考試模式

      ……

      case2://回看模式

      ……

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

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

      }

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

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

      圖2 考試模塊界面

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

      2.3.1 組 卷

      考試模式啟動時就需要打開數(shù)據(jù)庫文件,同時根據(jù)登錄模塊傳遞來的所屬院系(studep)從題庫表(tiku)中查詢出所有符合條件的判斷題和選擇題,并保存到對應(yīng)的Cursor中;然后從對應(yīng)的Cursor中分別篩選出35道判斷題和15道選擇題的試題編號保存的ArrayList中組成該學(xué)生的考試試卷,其關(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)) {//取不重復(fù)的試題編號

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

      }

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

      answerAL.add(“”);//存放標(biāo)準(zhǔn)答案

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

      }

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

      2.3.2 顯示題目

      由于做完一道題后可能會繼續(xù)顯示下一道題目,也可能會向前翻看做過的題目,所以該系統(tǒng)在實(shí)現(xiàn)題目顯示功能時定義了一個showTimu(Cursor cursor,int index)方法,根據(jù)傳遞的題型和索引號顯示題目內(nèi)容和選項(xiàng)。其關(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)); //選項(xiàng)A

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

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

      answerAL.set(showIndex,tvanswer);//將標(biāo)準(zhǔn)答案添加到answerAL的showIndex位置

      }

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

      2.3.3 試卷評分

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

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

      ……//選項(xiàng)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());//試題編號

      ……//標(biāo)準(zhǔn)答案、考生答案、當(dāng)前時間、分類實(shí)現(xiàn)代碼等類似

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

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

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

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

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

      圖3 學(xué)習(xí)模塊界面

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

      圖4 回看模塊界面

      3 結(jié)束語

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

      猜你喜歡
      題庫界面題目
      “勾股定理”優(yōu)題庫
      “軸對稱”優(yōu)題庫
      國企黨委前置研究的“四個界面”
      唐朝“高考”的詩歌題目
      文苑(2020年7期)2020-08-12 09:36:22
      關(guān)于題目的要求
      “軸對稱”優(yōu)題庫
      “整式的乘法與因式分解”優(yōu)題庫
      本期練習(xí)類題目參考答案及提示
      基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
      人機(jī)交互界面發(fā)展趨勢研究
      雅江县| 盘山县| 谢通门县| 抚远县| 盖州市| 北碚区| 涞水县| 亳州市| 柳州市| 沈丘县| 瑞安市| 麻栗坡县| 台东市| 海南省| 祥云县| 洛阳市| 邵阳市| 驻马店市| 喀喇沁旗| 融水| 澄江县| 庆安县| 慈利县| 信丰县| 衡山县| 禹城市| 陆丰市| 奉新县| 都兰县| 当涂县| 岚皋县| 百色市| 芮城县| 东辽县| 邳州市| 东莞市| 辽阳县| 民丰县| 兰坪| 勃利县| 北碚区|