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

正文內(nèi)容

基于android的數(shù)獨(dú)庫(kù)程序的設(shè)計(jì)畢業(yè)設(shè)計(jì)(doc畢業(yè)設(shè)計(jì)論文)(編輯修改稿)

2025-07-23 13:30 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 人們通常用紙和筆玩數(shù)獨(dú)游戲,但是計(jì)算機(jī)玩數(shù)獨(dú)游戲也非常流行。如果用紙和筆玩數(shù)獨(dú)游戲,由于在游戲剛開(kāi)始時(shí)容易出錯(cuò),所以玩家在出現(xiàn)錯(cuò)誤時(shí),必須回退一步或幾步并擦除已填入的大部分?jǐn)?shù)字。如果玩Android數(shù)獨(dú)游戲,就可以隨時(shí)修改單元格中的數(shù)字,二不必再清理令人討厭的橡皮屑。Android數(shù)獨(dú)游戲(如圖41游戲界面)也會(huì)給出一些提示,以減少破解謎題的工作量。一種極端的情況是,Android程序正好給出改密題的答案,但這樣對(duì)玩家而言就沒(méi)有任何樂(lè)趣了。因此,必須在提示和挑戰(zhàn)之間進(jìn)行析中,讓謎題難度適中。圖41游戲界面 設(shè)計(jì)方法設(shè)計(jì)用戶界面的方法有兩種:過(guò)程性設(shè)計(jì)和聲明性設(shè)計(jì)。過(guò)程性設(shè)計(jì)是指用代碼設(shè)計(jì)用戶界面。例如,開(kāi)發(fā)一個(gè)Swing應(yīng)用程序時(shí),必須編寫(xiě)Java代碼,以創(chuàng)建和操作所用用戶界面對(duì)象(例如Jframe和JButton)。因此,Swing是過(guò)程性。另一方面,聲明性設(shè)計(jì)不涉及任何代碼。例如,在設(shè)計(jì)簡(jiǎn)單的網(wǎng)頁(yè)時(shí)會(huì)使用HTML,HTML是一種基于XML的標(biāo)記語(yǔ)言,描述期望的網(wǎng)頁(yè)布局,而不是如何實(shí)現(xiàn)該布局。因此,HTML是聲明性的。Android同時(shí)支持過(guò)程性設(shè)計(jì)和聲明性設(shè)計(jì),允許開(kāi)發(fā)人員使用任何一風(fēng)格創(chuàng)建用戶界面:即可以幾乎全部使用Java代碼,也可以幾乎全部使用XML描述符。如果查閱任何Android用戶界面組件的相關(guān)文檔,就會(huì)看到其中既有java API又有實(shí)現(xiàn)同一功能的、相應(yīng)的聲明性XML屬性。究竟該使用哪種方法呢?雖然二者都是有效的,但是在做完畢業(yè)設(shè)計(jì)后建議盡可能使用聲明性XML語(yǔ)言。與相應(yīng)的Java代碼相比,XML代碼往往更加短小易懂,二以后可能開(kāi)發(fā)的Android工具(如GUI設(shè)計(jì)器)會(huì)更好地與XML協(xié)作。 算法分析通過(guò)定義數(shù)組,生成隨機(jī)數(shù)字的源數(shù)組,隨機(jī)數(shù)字從該數(shù)組中產(chǎn)生 。本程序通過(guò)使用for語(yǔ)句結(jié)合if語(yǔ)句來(lái)判斷空白處所填入的數(shù)字是否符合行、列或?qū)m的要求,使其符合數(shù)獨(dú)庫(kù)游戲規(guī)則,不符合規(guī)則則返回錯(cuò)誤提示。通過(guò)定義變量time使已經(jīng)嘗試過(guò)的數(shù)字將不會(huì)在取到 。主要思想:用二維數(shù)組表示數(shù)獨(dú),將為0的下標(biāo)用一維數(shù)組表示,從小到大依次試探每一個(gè)可能的數(shù),填充,若皆不可能,則回退到上一個(gè)數(shù)從上一個(gè)數(shù)的可能值+1開(kāi)始,同時(shí)將以后的數(shù)重新置為0,特別注意的是,回退后求得解后無(wú)需再返回上一層,直接結(jié)束即可。 創(chuàng)建項(xiàng)目及項(xiàng)目結(jié)構(gòu)分析 創(chuàng)建項(xiàng)目首先使用Eclipse插件創(chuàng)建一個(gè)簡(jiǎn)單的Android程序。在創(chuàng)建新項(xiàng)目時(shí)需要輸入以下信息:Project name(項(xiàng)目名稱(chēng)): SudokuBuild Target(需要的版本): Android Application name(應(yīng)用名稱(chēng)): SudokuPackage name(包名): Create Activity(java項(xiàng)目名稱(chēng)): Sudoku當(dāng)然,在實(shí)際程序中,可以定義自己的名稱(chēng)。其中軟件包名稱(chēng)尤為重要。系統(tǒng)中的每個(gè)應(yīng)用程序都必須具有唯一的軟件包名。因?yàn)樵诤芏嗟胤蕉紩?huì)用到軟件包名,所以一旦設(shè)定好軟件包名就不要隨意修改它,否則將會(huì)引起一些小麻煩。 項(xiàng)目結(jié)構(gòu)分析所有包及源文件(.Java)圖42程序源文件所有的資源(如程序圖標(biāo)drawable,布局文件,常量等)圖43程序布局文件包含了文件中所有使用的Activity、service、receiver圖44 activity活動(dòng) 5. 數(shù)獨(dú)庫(kù)程序設(shè)計(jì) 程序設(shè)計(jì)程序設(shè)計(jì)分為2大板塊,一個(gè)是啟動(dòng)界面的設(shè)計(jì),另一個(gè)是數(shù)獨(dú)游戲部分2D繪制。 設(shè)計(jì)用戶界面在創(chuàng)建啟動(dòng)界面中,分為5個(gè)部分,分別是啟動(dòng)界面整體布局、使用替代資源、實(shí)現(xiàn)About對(duì)話框、添加菜單以及添加設(shè)置.。在實(shí)際程序中,可以定義自己的名稱(chēng)。其中軟件包名稱(chēng)尤為重要。系統(tǒng)中的每個(gè)應(yīng)用程序都必須具有唯一的軟件包名。因?yàn)樵诤芏嗟胤蕉紩?huì)用到軟件包名。由于Android模擬器的執(zhí)行速度很快,因此讓模擬器窗口一直處于打開(kāi)狀態(tài),并在每次修改程序后立即運(yùn)行程序。如果現(xiàn)已經(jīng)按照前面的要求創(chuàng)建了sudoku項(xiàng)目并運(yùn)行sudoku程序就會(huì)得到一個(gè)空白的界面。完成sudoku程序的第一項(xiàng)工作就是修改游戲界面——上面要有允許玩家開(kāi)始新游戲、繼續(xù)前一個(gè)游戲、獲得游戲相關(guān)信息以及退出游戲的按鈕。那么,通過(guò)修改下面的文件才能創(chuàng)建這樣的啟動(dòng)界面。Android程序是一個(gè)松散的活動(dòng)集合,其中的每個(gè)活動(dòng)都定義了一個(gè)用戶界面屏幕。創(chuàng)建sudoku項(xiàng)目時(shí)。Android調(diào)用活動(dòng)的onCreate()方法來(lái)初始化該活動(dòng),onCreate()方法又調(diào)用setContentView()方法,利用一個(gè)Android視圖部件填充該活動(dòng)的屏幕區(qū)域內(nèi)容。 當(dāng)然,也可以按照過(guò)程性設(shè)計(jì)方法是用幾行Java代碼,以及其它一個(gè)或幾個(gè)類(lèi)來(lái)定義用戶界面。但Android插件采用的是聲明性設(shè)計(jì)方法。,引用了res/。,所以正是需要修改的文件。在運(yùn)行時(shí),Android解析并實(shí)例化(解壓縮)該文件中以定義的資源,并將其設(shè)置為當(dāng)前活動(dòng)的視圖。R類(lèi)是由Android Eclipse插件自動(dòng)管理的,這點(diǎn)尤為重要。無(wú)論將一個(gè)文件放到res目錄中的哪個(gè)位置,Android 。如果刪除或修改了某個(gè)資源文件。Android資源管理其使用十六進(jìn)制整數(shù)加載實(shí)際數(shù)據(jù)、字符串以及被編譯到軟件包中的其它資源。無(wú)需關(guān)心這資源得值。只要記住這些值是引用數(shù)據(jù)的句柄,而不是引用包含數(shù)據(jù)的對(duì)象句柄。需要使用對(duì)象之前不會(huì)解壓縮對(duì)象。注意:幾乎所有的Android程序,包括基礎(chǔ)Android框架本身,都擁有一個(gè)R類(lèi)。,了解可用的所有內(nèi)置資源。[6],了解必須要修改哪些地方。查看xml文件。:?xml version= encoding=utf8?所有的Android XML文件開(kāi)頭都是這行代碼。這行代碼只是告訴編輯器,該文件是XML格式的,采用UTF8字符集編碼。除了包含針對(duì)非ASCⅡ字符集幾乎完全一樣。LinearLayout的引用。布局是存放一個(gè)或多個(gè)子對(duì)象及某種行為的容器,行為描述了如何將這鞋子對(duì)象放置在屏幕上欺負(fù)對(duì)象的矩形區(qū)域中。下面列出Android中最常見(jiàn)的幾種布局。FrameLayout(框架布局):從屏幕的左上角開(kāi)始顯示子對(duì)象,主要用于選項(xiàng)卡視圖和圖像切換器。LinearLayout(線性布局):以單列或當(dāng)行的形式顯示子對(duì)象,這是最常用的布局方式。RelativeLayout(相對(duì)布局):以相對(duì)于其它子對(duì)象或父對(duì)象的位置顯示子對(duì)象,這種布局通常用于表單。TableLayout(表格布局):以多行或多列的方式顯示子對(duì)象,類(lèi)似于HTML表格。[7]定義Android的XML命名空間。聲明此布局的高度和寬度與父對(duì)象的高度和寬度相同(此處之窗口)??赡艿闹涤衒ill_parent或wrap_content。LinearLayout標(biāo)記中有一個(gè)如下所示的子對(duì)象部件:TextView android:text=@string/main_title android:layout_height=wrap_content android:layout_width=wrap_content/此處定義一個(gè)簡(jiǎn)單的文本標(biāo)簽。使用不同文本和幾個(gè)按鈕來(lái)替換該標(biāo)簽。在編輯器中看到關(guān)于缺少語(yǔ)法約束(DTD或XML架構(gòu))的警告,盡管忽略這些警告,與將英語(yǔ)文本編碼到布局文件中不同,使用@。該文件也可以有其它寫(xiě)法,根據(jù)區(qū)域設(shè)置或其它參數(shù)(如屏幕分辨率和屏幕方向)的設(shè)置情況,還可以有其它資源文件。打開(kāi)這個(gè)文件,然后輸入聲明啟動(dòng)界面中各個(gè)標(biāo)簽的定義下列內(nèi)容:string name=app_nameSudoku/string string name=main_titleAndroid Sudoku/string string name=continue_labelContinue/string string name=new_game_labelNew Game/string string name=about_labelAbout/string string name=exit_labelExit/string,Eclipse將會(huì)重新構(gòu)建項(xiàng)目。再運(yùn)行程序。雖然該啟動(dòng)界面清晰易讀,但還需要進(jìn)一步美化。讓標(biāo)題文本更大一些并使其居中,讓按鈕變小并使用不同的背景色。下面是顏色定義,這些定義應(yīng)放在res/values/。,引入了一種新的語(yǔ)法形式@+id/resid。與引用在其它地方定義的資源ID不同,這種與發(fā)型師將創(chuàng)建一個(gè)新的資源ID工其它對(duì)象引用。例如:@+id/about_button定義了About按鈕的ID,以后用戶按下該按鈕時(shí),將使用這個(gè)ID出發(fā)某個(gè)事件。重新運(yùn)行該程序的結(jié)果,明顯發(fā)現(xiàn)新的界面在縱向模式時(shí)非常美觀,但在橫向模式時(shí)則需要重新美觀。用戶隨時(shí)可能切換模式,因此必須考慮橫向模式的處理。第二部分是使用替代資源創(chuàng)建一個(gè)名為res/layoutland/(注意land后綴)的文件, 該文件采用TableLayout布局方式創(chuàng)建兩列按鈕?,F(xiàn)在再次運(yùn)行該程序即使在橫屏模式下,所有按鈕也都可以正常顯示。Android允許使用資源后綴為任何資源指定替代版本,而不僅僅是布局。例如,可以使用替代資源提供不同語(yǔ)種的本地文本字符串。每個(gè)替代資源文件必須使用完全相同的ID集合。Android的屏幕密度與這些后綴密切相關(guān)。例如:高密度圖像存儲(chǔ)在res/drawablehdpi中,中密度圖像存儲(chǔ)在res/drawablemdpi或res/drawablenodpi目錄中。第三部分是實(shí)現(xiàn)About對(duì)話框用戶選擇About按鈕時(shí),表明觸按屏幕上的該按鈕(如果用戶使用觸摸屏),或者使用Dpad(Directional pad,方向鍵)或軌跡球指向按鈕并按下了選擇按鈕。此時(shí),希望彈出一個(gè)窗口,其中顯示一些有關(guān)數(shù)獨(dú)游戲的信息。閱讀完該對(duì)話框上的這些文字后,用戶按下Back按鈕可關(guān)閉該窗口??梢杂枚喾N方法實(shí)現(xiàn)這個(gè)功能:1. 定義一個(gè)新的Activity類(lèi)并啟動(dòng);2. 使用AlertDialog類(lèi)并顯示;3. 子類(lèi)化Android的Dialog類(lèi)并顯示。在這個(gè)例子中,將定義一個(gè)新的活動(dòng)。與主Sudoku程序的活動(dòng)一樣,About按鈕的活動(dòng)也需要一個(gè)布局文件。將該布局文件命名為res/layout/。只需要該布局文件的一個(gè)版本即可,因?yàn)樵摬季衷诳v向和橫向模式下都能夠正常顯示。將About對(duì)畫(huà)框的標(biāo)題及對(duì)話框包干的文本內(nèi)容添加到res/values/。,只需覆寫(xiě)onCreate()方法并調(diào)用setContentView()方法即可。要在Eclipse中創(chuàng)建一個(gè)新類(lèi),使用FileNewClass。需要將該活動(dòng)與Sudoku類(lèi)中的About按鈕關(guān)聯(lián)起。首先,:import 。import 。import 。在onCreate()方法中添加代碼以調(diào)用findViewById()和setOnClickListener()方法,findViewById()方法用于根據(jù)資源ID查找Android視圖,setOnClickListener()方法則通知Android用戶觸摸或單擊該視圖時(shí)應(yīng)出發(fā)對(duì)象:在此需要對(duì)所有按鈕進(jìn)行相同的處理。當(dāng)Eclipse插件在res/layout/@+id/about_button這樣的語(yǔ)法形式時(shí)。下面的代碼用this作為接收方,因此Sudoku類(lèi)需要實(shí)現(xiàn)OnClickListener接口并定義一個(gè)名為onClick()的方法:要想在Android中啟動(dòng)某個(gè)活動(dòng),首先需要?jiǎng)?chuàng)建Intent類(lèi)的實(shí)例。Android中有兩個(gè)Intent類(lèi)實(shí)例:public(公用的)的Intent類(lèi)實(shí)例是在系統(tǒng)注冊(cè)的,可從任何應(yīng)用程序中調(diào)用該實(shí)例;private(專(zhuān)用的)的Intent類(lèi)實(shí)例只能在一個(gè)應(yīng)用程序內(nèi)使用。在這個(gè)例子中,只需使用后一種實(shí)例。如果在運(yùn)行改程序并選擇About按鈕,將會(huì)出現(xiàn)錯(cuò)誤提示,這是因?yàn)槁┑袅艘粋€(gè)重要的步驟。為此代開(kāi)該文件,切換到XML模式,并在第一個(gè)活動(dòng)的結(jié)束標(biāo)記之后添加一個(gè)新的activity標(biāo)記圖51about界面運(yùn)行后將會(huì)看到如圖51about界面所示:要實(shí)現(xiàn)about對(duì)話框還需設(shè)計(jì)應(yīng)用主題主題是一個(gè)樣式的集合,可用于覆寫(xiě)Android部件的外觀。Android中的主題是受網(wǎng)頁(yè)設(shè)計(jì)中使用的CSS(Cascading Style Sheets,層疊樣式表)的啟發(fā),CSS屏幕上顯示的內(nèi)容與其外觀或樣式分離開(kāi)來(lái),Android附帶了多個(gè)主題,可以通過(guò)名稱(chēng)進(jìn)行引用。另外,通過(guò)子類(lèi)化現(xiàn)有主題并覆寫(xiě)其默認(rèn)值,用戶也可以構(gòu)造自己的主題??梢栽趓es/values/,但是此處需要利用一個(gè)預(yù)定的主題。要使用主題,然后修改About活動(dòng)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1