• 
    

    
    

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

      基于Android的C語言程序設(shè)計(jì)學(xué)習(xí)平臺研究

      2018-06-02 08:50:48辛凌潔賈玉寧楊穎
      電腦知識與技術(shù) 2018年10期
      關(guān)鍵詞:學(xué)習(xí)平臺

      辛凌潔 賈玉寧 楊穎

      摘要:根據(jù)現(xiàn)如今的大學(xué)生學(xué)習(xí)環(huán)境以及學(xué)習(xí)習(xí)慣來看,智能手機(jī)已經(jīng)是不可替代的學(xué)習(xí)工具之一,網(wǎng)絡(luò)課程,習(xí)題等都可以在移動(dòng)客戶端上解決,不僅方便,還有很高的效率。該文以“C語言程序設(shè)計(jì)”課程為例,開發(fā)基于Android的學(xué)習(xí)平臺。學(xué)生可利用這些功能來加強(qiáng)課堂學(xué)習(xí)的效果,也可利用討論區(qū)來和網(wǎng)友進(jìn)行學(xué)習(xí)上的交流。這樣保證了學(xué)習(xí)的即時(shí)性和求解問題的有效性。

      關(guān)鍵詞:Android;C語言;學(xué)習(xí)平臺

      中圖分類號:TN929 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)10-0089-03

      1 背景

      互聯(lián)網(wǎng)的發(fā)展使計(jì)算機(jī)技術(shù)在教育領(lǐng)域也得到了廣泛的應(yīng)用。隨著智能手機(jī)的普及,一種新型的學(xué)習(xí)方式出現(xiàn)在我們面前,并且越來越大眾化。這就是所謂的移動(dòng)學(xué)習(xí)——一種在是一種在移動(dòng)計(jì)算設(shè)備幫助下的能夠在任何時(shí)間任何地點(diǎn)發(fā)生的學(xué)習(xí),移動(dòng)學(xué)習(xí)所使用的移動(dòng)計(jì)算設(shè)備必須能夠有效的呈現(xiàn)學(xué)習(xí)內(nèi)容并且提供教師與學(xué)習(xí)者之間的雙向交流[1][2]。移動(dòng)學(xué)習(xí)可以隨時(shí)隨地進(jìn)行學(xué)習(xí),這種方式解決了傳統(tǒng)課堂模式不夠方便的問題,也使資源利用率更高。對于當(dāng)代大學(xué)生來說,手機(jī)和pad等移動(dòng)設(shè)備是生活中不可缺少的物品,而我們利用這些電子設(shè)備強(qiáng)大的功能來開發(fā)一款適合大學(xué)生學(xué)習(xí)“C語言程序設(shè)計(jì)”(下文都簡稱“C語言”)的學(xué)習(xí)平臺有明顯的實(shí)用價(jià)值。

      2 移動(dòng)學(xué)習(xí)平臺的需求分析

      2.1 用戶調(diào)查

      要想學(xué)習(xí)平臺的學(xué)習(xí)內(nèi)容更加符合學(xué)生的期望以及學(xué)習(xí)效果更強(qiáng),在開發(fā)之前筆者進(jìn)行了一個(gè)用戶調(diào)查。調(diào)查內(nèi)容主要為學(xué)生對于移動(dòng)學(xué)習(xí)平臺的需求性以及學(xué)生在C語言學(xué)習(xí)中所遇到的困難??梢愿鶕?jù)這兩點(diǎn)研發(fā)最適合學(xué)生使用的平臺,這樣不僅能節(jié)省很多開發(fā)資源也可以節(jié)省用戶的時(shí)間、增強(qiáng)用戶體驗(yàn)。

      2.2 需求分析

      移動(dòng)學(xué)習(xí)平臺首先必須要保證學(xué)生學(xué)習(xí)的隨時(shí)隨地性,所以要保證在本地存儲學(xué)習(xí)資源。將數(shù)據(jù)資源都存儲在本地?cái)?shù)據(jù)庫里,用戶在進(jìn)行使用的時(shí)候不用花費(fèi)太多等待響應(yīng)的時(shí)間,這樣可以更加高效率的進(jìn)行學(xué)習(xí),也能夠更加發(fā)揮了移動(dòng)互聯(lián)網(wǎng)的優(yōu)勢。其次,要盡可能的提升用戶體驗(yàn),平臺提供的學(xué)習(xí)資料必須更加系統(tǒng)化并且能突出學(xué)習(xí)重點(diǎn),而不是像一些傳統(tǒng)的題庫一樣,只有題目以及答案,而是應(yīng)該從基礎(chǔ)到問題解析再到知識點(diǎn)的延伸,這樣可以讓學(xué)生對學(xué)習(xí)內(nèi)容掌握得更加牢靠。學(xué)生在使用的時(shí)候根據(jù)自身需求和學(xué)習(xí)進(jìn)度選擇適合自己的功能。

      3 移動(dòng)學(xué)習(xí)平臺的系統(tǒng)設(shè)計(jì)

      3.1 系統(tǒng)體系設(shè)計(jì)

      移動(dòng)端目前主流系統(tǒng)有Android和IOS等,其中Android的更新快來越快,而且Android智能手機(jī)也因?yàn)樾詢r(jià)比較高而擁有大多的用戶,所以該平臺基于Android系統(tǒng)開發(fā)并且檢測[3]。該移動(dòng)平臺基于C/S架構(gòu),基本體系結(jié)構(gòu)如圖1所示:分為服務(wù)器端數(shù)據(jù)服務(wù)、服務(wù)器端功能模塊、客戶端數(shù)據(jù)服務(wù)、客戶端功能模塊。

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

      該平臺主要是實(shí)現(xiàn)題庫功能,所以數(shù)據(jù)庫中表格比較簡單,所以會(huì)創(chuàng)建一個(gè)Exercises表格,表格中字段有題目編號(Exercise_id),該字段設(shè)為主鍵自增長;題目內(nèi)容(Exercise_content),類型為varchar;題目答案(Exercise_solve),類型為varchar。平臺模塊中不管是隨機(jī)練習(xí)還是模擬考試都將從該Exercise表中抽取題目。由于在進(jìn)入平臺的時(shí)候有登錄以及注冊功能,所以需要?jiǎng)?chuàng)建一個(gè)用戶表,用戶的賬號信息保存在用戶表中,登錄以及注冊功能在用戶表中查詢以及增加數(shù)據(jù)。表中有三個(gè)字段:用戶ID(userID),用戶名(user)以及密碼(password)。同樣,用戶ID設(shè)置主鍵自增長,并且用戶名設(shè)置為unique,防止出現(xiàn)用戶名相同的情況。

      4 C語言學(xué)習(xí)移動(dòng)平臺的實(shí)現(xiàn)

      4.1 歡迎界面

      考慮到美觀的因素,該移動(dòng)平臺歡迎界面分為滑動(dòng)頁面,界面上有功能模塊的名稱,讓用戶在登錄之前就大概可以了解到該App的用途。該平臺設(shè)計(jì)的是三張滑動(dòng)頁面,所以要寫三個(gè).xml文件分別表示三個(gè)界面。某一頁的代碼如圖2所示,布局里放上你每頁滑動(dòng)所顯示的圖片,設(shè)置相關(guān)格式。如圖2。

      布局寫好后,實(shí)現(xiàn)滑動(dòng)功能對應(yīng)的java文件核心代碼如表一所示。先將之前寫好的每個(gè)布局文件放在List里面,根據(jù)ArrayList的長度作為控制來循環(huán)滑動(dòng)的頁數(shù),根據(jù)索引下表來檢索出滑動(dòng)到的頁數(shù)。圖3為滑動(dòng)的其中一個(gè)頁面。因?yàn)榇颂幎x的滑動(dòng)頁數(shù)為3,在之前的布局文件中,第三頁定義了一個(gè)按鈕,用來進(jìn)入主界面。所以當(dāng)滑到第三頁的時(shí)候,如果點(diǎn)擊Enter按鈕,將跳轉(zhuǎn)到登錄和注冊頁面,界面如圖4所示。

      4.2 注冊登錄的界面

      為了更好的用戶體驗(yàn),該平臺將注冊和登錄放在一個(gè)頁面上,避免用戶使用時(shí)太麻煩,或者等待響應(yīng)的時(shí)間太長,從而影響用戶體驗(yàn),圖5為注冊和登錄的界面。部分登錄注冊頁面布局代碼如下所示,采用嵌套布局,分層次為注冊和登錄。

      [<?xml version="1.0" encoding="utf-8"?>

      android:background="@drawable/shot1"

      android:layout_width="match_parent"

      android:layout_height="match_parent">

      android:id="@+id/tabHost"

      android:layout_width="match_parent"

      android:layout_height="wrap_content"

      android:background="#00000000"

      android:layout_marginTop="146dp"

      android:layout_marginLeft="30dp"

      android:layout_marginRight="30dp">

      android:id="@android:id/tabs"

      android:layout_width="match_parent"

      android:layout_height="wrap_content"

      android:background="#e501aaff">

      android:id="@android:id/tabcontent"

      android:layout_width="match_parent"

      android:layout_height="wrap_content"

      android:layout_marginTop="80dp">

      android:id="@+id/layout_login"

      android:orientation="vertical"

      android:layout_width="match_parent"

      android:layout_height="wrap_content">

      android:id="@+id/et_login_username"

      android:hint="username"

      android:textAppearance="?android:attr/textAppearanceLarge"

      android:layout_width="match_parent"

      android:layout_height="wrap_content" />

      ……

      ……

      [public class ProgrammingExercisesFragmentController {

      ……

      private void initView() {

      if (questions.get(index).getType().equals(QuestionType.SHORT)) {

      binding.ProgramFragmentEt.setText("");

      binding.btnCodeProgram.setVisibility(View.GONE);

      } else {

      binding.btnCodeProgram.setVisibility(View.GONE);

      }

      binding.ProgramFragmentTitle.setText("[" + (index + 1) + "/" + questions.size() + "]" + questions.get(index).getTitle());

      }

      public void btnOnProgram(View v) {

      int on = clickListener.on(index);

      index = on;

      initView();

      Log.e("TAG", index + "");

      }

      public void btnAnalyzeProgram(View v) {

      clickListener.showdialog(index, clickListener.description(index));

      }

      public void btnCodeProgram(View v) {

      clickListener.showdialog(index, clickListener.code(index));

      }

      public void btnUnderProgram(View v) {

      int under = clickListener.under(index);

      index = under;

      initView();

      Log.e("TAG", index + "");

      }

      } ]

      隨機(jī)練習(xí)和模擬考試都是將數(shù)據(jù)庫里面的題目隨機(jī)抽取出來,代碼邏輯同上述相同,這就不再多做介紹。

      5 結(jié)束語

      在這個(gè)互聯(lián)網(wǎng)+時(shí)代,幾乎所有的學(xué)習(xí)資源都是可以更加便利的從網(wǎng)絡(luò)上獲取,而使用移動(dòng)端平臺這種學(xué)習(xí)方式則十分高效,也更加利用了碎片的時(shí)間進(jìn)行學(xué)習(xí)。隨著互聯(lián)網(wǎng)和軟件的不斷發(fā)展,網(wǎng)絡(luò)學(xué)習(xí)必將會(huì)更加便捷,更加展現(xiàn)得天獨(dú)厚的資源共享優(yōu)勢,高級程序的學(xué)習(xí)不僅僅限于書本,課堂以及學(xué)校機(jī)房。該文的研究旨在探索移動(dòng)端學(xué)習(xí)的優(yōu)勢和傳統(tǒng)可課堂學(xué)習(xí)的最佳結(jié)合點(diǎn),使得學(xué)生在學(xué)習(xí)高級程序語言的時(shí)候掌握更加適合自己的方法。通過測試以及短暫的使用,發(fā)現(xiàn)進(jìn)入主界面的時(shí)候沒有記住密碼的功能,在很大程度上不太方便,影響用戶體驗(yàn),后期將會(huì)繼續(xù)優(yōu)化。學(xué)習(xí)部分分目前只實(shí)現(xiàn)了題庫方面的功能,不能上傳視頻實(shí)現(xiàn)共享,平臺暫時(shí)無法 統(tǒng)計(jì)每個(gè)用戶的使用習(xí)慣以及大多數(shù)人學(xué)習(xí)的疑難點(diǎn)。想實(shí)現(xiàn)這個(gè)功能需要用到當(dāng)前的新技術(shù)大數(shù)據(jù)分析。雖然現(xiàn)在國內(nèi)仍然以傳統(tǒng)教學(xué)模式為主,少有將大數(shù)據(jù)用到教學(xué)和自主學(xué)習(xí)上,但是網(wǎng)絡(luò)教學(xué)和移動(dòng)端學(xué)習(xí)使學(xué)習(xí)這一件事成為全民化。相信隨著移動(dòng)技術(shù)的發(fā)展和軟件行業(yè)的發(fā)展,互聯(lián)網(wǎng)+學(xué)習(xí)會(huì)給更多的人帶來優(yōu)質(zhì)高效的學(xué)習(xí)成果。

      參考文獻(xiàn);

      [1] Aleksander Dyeetal:Mobile Education-A Glance at The Future[EB/OL].http://www.nettskolen.com/forskn-ing/ mobile education.pdf.

      [2] 秦艷菲,魏慧琴. 基于 Android 的高級程序設(shè)計(jì)語言移動(dòng)學(xué)習(xí)平臺設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代計(jì)算機(jī),2015(13).

      [3] 郭霖.第一行代碼Android[M].2版.北京:人民郵電出版社,2016.

      [4] 王凌燕,張仕東,王麗燕. 基于Android的英語口語移動(dòng)學(xué)習(xí)平臺的設(shè)計(jì)與實(shí)現(xiàn)[J]. 陜西科技大學(xué)學(xué)報(bào),2012,30(5):146-150.

      [5] Satya Komatineni,Dave MacLean.精通Android[M].北京:人民郵電出版社,2013:76-78.

      猜你喜歡
      學(xué)習(xí)平臺
      泛在學(xué)習(xí)環(huán)境下微課學(xué)習(xí)平臺的設(shè)計(jì)策略研究
      基于微信及微網(wǎng)站的高職院校移動(dòng)學(xué)習(xí)平臺設(shè)計(jì)與實(shí)現(xiàn)
      泛在背景下圖像處理課程學(xué)習(xí)平臺設(shè)計(jì)研究
      成才之路(2016年23期)2016-09-22 17:17:03
      基于校本微課的移動(dòng)學(xué)習(xí)平臺的設(shè)計(jì)與研究
      在線教育嵌入教育生態(tài)系統(tǒng)的模式研究
      高教探索(2015年10期)2015-10-29 04:22:40
      數(shù)字化學(xué)習(xí)方式對于學(xué)習(xí)型社區(qū)建設(shè)意義的理論研究與實(shí)踐探索
      林口县| 肥西县| 囊谦县| 武安市| 怀柔区| 沛县| 东至县| 深圳市| 稻城县| 九寨沟县| 朝阳县| 如东县| 铁岭市| 卓资县| 扬中市| 广饶县| 白朗县| 岐山县| 集安市| 和林格尔县| 沙洋县| 新乡市| 南安市| 抚顺市| 武川县| 阿合奇县| 乐至县| 托克逊县| 自贡市| 扎囊县| 积石山| 乃东县| 吉木乃县| 鄂州市| 南宫市| 定安县| 双鸭山市| 赤城县| 海丰县| 奈曼旗| 尚志市|