freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的背單詞軟件設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)畢業(yè)論文(編輯修改稿)

2025-06-27 08:57 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 e dir = new File(data/data/)。 if (!()) ()。 if (!(new File()).exists()) { FileOutputStream fos。 try {fos = new FileOutputStream()。 byte[] buffer = new byte[8192]。 int count = 0。 InputStream is = getResources().openRawResource( )。 while ((count = (buffer)) 0) { (buffer, 0, count)。 } ()。 ()。 } catch (Exception e) { // TODO Autogenerated catch block ()。} } SharedPreferences settings=getSharedPreferences(SETTING_BOOKID, 0)。 =(BOOKNAME, )。 ()。 initWidgets()。}。然后根據(jù)當(dāng)前類要顯示布局文件文件來(lái)繪制整個(gè)界面。隨之,啟動(dòng)延時(shí)線程,采用循環(huán),循環(huán)一次線程休眠100ms(防止系統(tǒng)卡頓)。按下HOME鍵則返回手機(jī)主界面,延時(shí)暫停,再點(diǎn)擊啟動(dòng)程序時(shí)延時(shí)線程繼續(xù)運(yùn)行,直到3s后,跳到下一個(gè)界面。當(dāng)按下返回鍵時(shí),程序?qū)㈥P(guān)閉。 用戶信息模塊的實(shí)現(xiàn),整個(gè)界面直觀明了的展示了該系統(tǒng)的主要功能以及用戶學(xué)習(xí)進(jìn)度。界面用一張圖片作為背景,在界面左上角顯示兩個(gè)圖片按鈕(ImageButton):刪除按鈕與重置按鈕,組成一個(gè)線性布局。在界面中間上方處顯示下拉列表組件(Spinner),給用戶提供詞庫(kù)的選擇:GRE紅寶書(shū)(上),GRE紅寶書(shū)(中),GRE紅寶書(shū)(下)以及導(dǎo)入新詞庫(kù)。在界面中間布局了三個(gè)文本框(Textview)和兩個(gè)使用進(jìn)度條(ProgressBar),組成一個(gè)線性布局。一個(gè)文本框用來(lái)顯示用戶學(xué)習(xí)信息:詞庫(kù)名稱,總詞匯量與創(chuàng)建時(shí)間;兩個(gè)使用進(jìn)度條分別顯示已學(xué)習(xí)list的數(shù)量與已復(fù)習(xí)list的數(shù)量。在界面的的底部布局了四個(gè)按鈕(Button):學(xué)習(xí),復(fù)習(xí),測(cè)試,生詞本。組成了一個(gè)線性布局。這些控件在一起采用相對(duì)布局,可以使這些控件的位置相對(duì)擺放,靠在父容器下方,不至于零散。用戶信息主界面如圖42所示:圖42 用戶信息主界面上文提到了該界面給用戶提供詞庫(kù)選擇的下拉列表組件(Spinner),詞庫(kù)選擇則要為下拉列表定義一個(gè)適配器,這里就用到前面定義的books;同時(shí)為適配器設(shè)置下拉列表下拉時(shí)的菜單樣式;最后將適配器(adapter)添加到下拉列表上(pickBook)。代碼如下:ArrayAdapter CharSequence adapter = new ArrayAdapter CharSequence (this, , books)。()。(adapter)。(new OnItemSelectedListener()為下拉列表設(shè)置各種事件的響應(yīng),這個(gè)事響應(yīng)菜單被選中。同時(shí)該界面initWidgets() 實(shí)現(xiàn)了桌面小插件的設(shè)置,把用戶生詞本的內(nèi)容直接呈現(xiàn),方便用戶的瀏覽。對(duì)于界面左上角的兩個(gè)刪除與重置按鈕,通過(guò) onClick (View v)事件,頁(yè)面上顯示一個(gè)(對(duì)話框)dialog,dialog的樣式設(shè)置由res,界面顯示時(shí),先生成一個(gè)dialog對(duì)象,然后顯示這個(gè)dialog。, Book2, Book3組成, ListAdapter(new ArrayAdapterString(this, , fileNames))。實(shí)現(xiàn)詞庫(kù)的導(dǎo)入操作。相關(guān)代碼如下: (savedInstanceState)。 (導(dǎo)入新詞庫(kù))。 ()。 setRequestedOrientation()。 File f = new File(/sdcard/)。 File[] files=()。 fileNames = new String[]。 for (int i=0。i。i++){ fileNames[i]=files[i].getName()。} (new ArrayAdapterString(this, , fileNames))。 用戶單詞學(xué)習(xí)模塊的實(shí)現(xiàn)。studyword_main.xml文件里顯示兩個(gè)文本框,構(gòu)成一個(gè)框架布局FrameLayout。分別為未學(xué)習(xí)過(guò)的LIST和所有的LIST;同時(shí)顯示各項(xiàng)LIST列表。用戶單詞學(xué)習(xí)列表界面如圖43所示:圖43 用戶單詞學(xué)習(xí)列表界面:?jiǎn)卧~記憶。界面中間顯示一個(gè)圖片按鈕和兩個(gè)文本框,構(gòu)成一個(gè)線性布局。圖片按鈕為發(fā)音標(biāo)示,按鈕的屬性設(shè)置為@android:drawable/btn_default,文本框分別為拼寫(xiě)(spelling)與單詞解釋(info)。界面底部顯示三個(gè)按鈕,構(gòu)成一個(gè)線性布局。按鈕分別為:上一個(gè),加入生詞本,下一個(gè)。用戶單詞學(xué)習(xí)記憶界面如圖44所示:圖44 用戶單詞學(xué)習(xí)記憶界面重復(fù)加入生詞本以后會(huì)提示:生詞本中已包含這個(gè)單詞;強(qiáng)制退出時(shí)會(huì)提示學(xué)習(xí)未完成,進(jìn)行選擇。該學(xué)習(xí)模塊的機(jī)器發(fā)音功能通過(guò)TTS引擎實(shí)現(xiàn),TTS即TextToSpeech,將所指定的文本轉(zhuǎn)成不同語(yǔ)言音頻輸出。如果用戶手機(jī)支持TTS發(fā)音功能,(loc),判斷語(yǔ)言可用后,使用Speak()((currentnum).getSpelling(),TextToSpeech.QUEUE_ADD,null)。發(fā)音完成后,回收TTS即可,當(dāng)確定應(yīng)用程序不再需要TTS的相關(guān)功能后,可以在Activity的OnDestroy()()釋放當(dāng)前TTS實(shí)體所占用的資源。相關(guān)代碼如下:public class TTS { ........... private ttsInitListener = new () { @Override public void onInit(int status){ Locale loc = new Locale(us, , )。 if ((loc) == ){ (loc)。 } (ttsUtteranceCompletedListener)。} 用戶單詞復(fù)習(xí)模塊的實(shí)現(xiàn)。界面的上方布局了一個(gè)文本框:?jiǎn)卧~復(fù)習(xí)。界面中間顯示一個(gè)圖片按鈕和兩個(gè)文本框,構(gòu)成線性布局嵌套。圖片按鈕為發(fā)音標(biāo)示,按鈕的屬性設(shè)置為@android:drawable/btn_default,文本框分別為拼寫(xiě)(spelling)與單詞解釋(info)。界面底部顯示三個(gè)按鈕,另有兩個(gè)隱藏按鈕,構(gòu)成一個(gè)線性布局。按鈕分別為:加入生詞本,我記得,不記得了,記對(duì)了,記錯(cuò)了。用戶單詞復(fù)習(xí)界面如圖45所示:圖45 用戶單詞復(fù)習(xí)界面按下我記得按鈕文本框顯示單詞的解釋,界面下方顯示“記對(duì)了”“記錯(cuò)了”兩個(gè)按鈕,按下記對(duì)了進(jìn)入下一個(gè)單詞的復(fù)習(xí)。強(qiáng)制退出時(shí)會(huì)提示復(fù)習(xí)未完成,進(jìn)行選擇。該單詞復(fù)習(xí)模塊首先需要對(duì)已學(xué)習(xí)過(guò)的list進(jìn)行數(shù)據(jù)存儲(chǔ),這里使用Activity類的getSharedPreferences方法獲得SharedPreferences對(duì)象,其中存儲(chǔ)keyvalue的文件的名稱由getSharedPreferences方法的第一個(gè)參數(shù)指定;。進(jìn)入復(fù)習(xí)界面后,則通過(guò)getString讀取保存的list。用戶在復(fù)習(xí)選擇時(shí)通過(guò)setVisibility()實(shí)現(xiàn)各個(gè)按鈕控件的可見(jiàn)與否。復(fù)習(xí)完成時(shí)生成一個(gè)dialog對(duì)象,然后顯示這個(gè)dialog。相關(guān)核心代碼如下:private void UpdateView() { if (currentnum()){ SharedPreferences setting = getSharedPreferences(, MODE_PRIVATE)。 if((iftts, false)){ Thread thread =new Thread(new Runnable(){ public void run(){ try { (500)。((currentnum).getSpelling(), null)。} ...........public void onClick(DialogInterface dialog, int whichButton) { ()。 finish()。 Intent intent = new Intent()。 (, )。 startActivity(intent)。}}).create()。 用戶單詞測(cè)試模塊的實(shí)現(xiàn)。(ListView),文本框?yàn)檫x擇測(cè)試單元,使用列表控件包含所選詞庫(kù)所有的list并顯示最高正確率。,該界面的上方布局了一個(gè)文本框:?jiǎn)卧~測(cè)試。界面中間顯示一個(gè)文本框和一個(gè)單選鈕組(RadioGroup),構(gòu)成線性布局。文本框的屬性設(shè)置為android:attr/textAppearanceSmall,內(nèi)容為單詞與單詞的拼寫(xiě);單選鈕組包含四個(gè)單選框(RadioButton),分別為單詞的可選解釋。界面底部顯示三個(gè)按鈕,構(gòu)成一個(gè)線性布局。按鈕分別為:下一個(gè),結(jié)束,加入生詞本。用戶單詞測(cè)試界面如圖46所示:圖46 用戶單詞測(cè)試界面用戶選擇單選框后系統(tǒng)進(jìn)行判斷,錯(cuò)誤給出正確解釋,正確進(jìn)入下一個(gè)。該單詞測(cè)試模塊通過(guò)單選鈕監(jiān)聽(tīng)事件setOnCheckedChangeListener()判斷組件是否被選中,給RadioGroup設(shè)置事件監(jiān)聽(tīng),然后用switch函數(shù)對(duì)用戶所選單選項(xiàng)判斷,最后通過(guò)DisplayToast事件進(jìn)行正確與否的顯示。相關(guān)核心代碼如下:() { public void onCheckedChanged(RadioGroup group, int checkedId) { if (isCheck) { isCheck = false。 switch (rightAns) { case 0: if ( checkedId == () ) { score++。 DisplayToast (正確)。 } else { DisplayToast(錯(cuò)誤,正確答案是 + (opt[0]).getMeanning())。} break。 case 1: if ( checkedId == () ) { score++。 DisplayToast(正確)。 } else { DisplayToast(錯(cuò)誤,正確答案是 + (opt[1]).getMeanning() )。}break。 } 生詞本模塊的實(shí)現(xiàn)。(ListView),文本框?yàn)樯~本,使用列表控件包含用戶所加入生詞本中的生詞,顯示單詞與單詞解釋。當(dāng)選擇某生詞,顯示編輯該單詞與從生詞本中刪除選項(xiàng)。按下編輯該單詞時(shí),進(jìn)入編輯生詞本界面。界面上方顯示了兩個(gè)文本框和兩個(gè)輸入文本組件(EditText),一個(gè)文本框:?jiǎn)卧~與一個(gè)輸入文本組件(單詞拼寫(xiě))構(gòu)成線性布局,另一個(gè)文本框:中文與一個(gè)輸入文本組件(中文解釋)構(gòu)成線性布局;界面中間布局了兩個(gè)按鈕:確定和取消。生詞本界面與編輯生詞本界面分別如圖47,圖48所示: 圖47 生詞本界面 圖48 編輯生詞本界面該生詞本模塊通過(guò)onCreateOptionsMenu(Menu menu)實(shí)現(xiàn)按下menu鍵后進(jìn)行添加新單詞,onOptionsItemSelected(MenuItem item)為單詞添加操作,相關(guān)代碼如下:public boolean onCreateOptionsMenu(Menu menu) { public boolean onOptionsItemSelected(MenuItem item) { switch(()){ case MENU_ADD:{ Intent intent = new Intent()。 Bundle bundle = new Bundle()。 (action, add)。 (bundle)。 (, )。 startActivity(intent)。 ........... }點(diǎn)擊某個(gè)生詞后,生成一個(gè)dialog對(duì)象,然后顯示這個(gè)dialog。進(jìn)行操作:編輯該單詞和從生詞本中刪除。編輯單詞中,().toString().equals()().toString().equals()進(jìn)行單詞的匹配:非空判斷與單詞存在判斷,().toString().equals((i).getSpelling())。 各界面之間切換的實(shí)現(xiàn)界面切換是系統(tǒng)界面設(shè)計(jì)的核心部分,實(shí)現(xiàn)兩個(gè)界面之間的切換是android界面設(shè)計(jì)的基本內(nèi)容,本系統(tǒng)主要使用Intent(意圖)實(shí)現(xiàn)界面切換。Intent可用于從一個(gè)Activity轉(zhuǎn)到另一個(gè)Activity,還可以啟動(dòng)服務(wù)(在此不作介紹)。最常見(jiàn)的一種需要將數(shù)據(jù)傳到另一個(gè)Activity中 示例如下:Intent intent = new Intent(,)。 Bundle b=new Bundle()。//用于界面切換存放傳遞的數(shù)據(jù) (key, id)。//以鍵值對(duì)的形
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1