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

正文內(nèi)容

大學(xué)基于android的五子棋游戲設(shè)計(jì)(編輯修改稿)

2025-01-12 09:38 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 就 OK 了。和 jdk 一樣,我們也可以測(cè)試一下環(huán)境變量是否設(shè)置成功, cmd 窗口中輸入 android,出現(xiàn)一堆 東西, 就 完成 了 。 eclipse 設(shè)置 當(dāng)然,以上都搞定后,還不能馬上用 eclipse 開(kāi)發(fā) android 應(yīng)用程序,還必須添加eclipse 插件才行,幸好這步驟非常輕松,打開(kāi) eclipse 后,點(diǎn)擊菜單欄的 help install new software... 然后點(diǎn)擊 Add 會(huì)出來(lái)一個(gè) Add Site 的窗口,這里 Name 輸入 android(自己取個(gè)就是了 ), location 中輸入插件的網(wǎng)絡(luò)地址: 11 然后就等待連接了,然后 install,把 Android DDMS 和 Android Development Tools都選中, finish 就可以了,可能有段時(shí)間會(huì)去計(jì)算插件占用資源情況,慢慢等會(huì)。完成后會(huì)提示重啟 eclipse 來(lái)加載插件, ok重啟,就可以用了。 Android 開(kāi)發(fā)環(huán)境配置最終步驟 為什么要有這個(gè)步驟,是因?yàn)?運(yùn)行了 example 的時(shí)候總 會(huì) 出現(xiàn) “Failed to find a n AVD patible with target” ,所以 在 這里寫(xiě)一下該步驟 來(lái)提供 大家 的方便 。 avd 必須在運(yùn)行實(shí)例 之前 前創(chuàng)建好, 這個(gè)時(shí)候 可以直接在 cmd 中輸入 android list,就 會(huì)列出 幾個(gè) 由 avd創(chuàng)建 的 api, 如果 有 id1 id2 id3 分別對(duì)應(yīng) GoogleAPIs。 然后 就 運(yùn)行 android create name myname(取一個(gè)英文的名字 ) target 3(如果要用 就輸入 2, 1) 3 Android 應(yīng)用程序核心 本 章將會(huì) 詳細(xì)敘述 Android 的 應(yīng)用程序所包括的基本組件, 還有 這些組件之間的溝通方式 — Intent(除了 Contentprovider),同時(shí)講解一下 Android 應(yīng)用程序的生命周期(Activity)— 這是 其他智能收 與 Android 手機(jī)平臺(tái) 最顯著不同的地方。最后 將介紹在Android 的 應(yīng)用程序中如何利用 下載 外部資源。 應(yīng)用程序基礎(chǔ) Android 的 應(yīng)用程序 全部都是 用 Java 編程語(yǔ)言 所 寫(xiě)的。編譯后的 Java 代碼 —— 包括應(yīng)用程序要求的任何數(shù)據(jù)和資源文件, 是 通過(guò) aapt 工具捆綁成一個(gè) Android 包,歸檔 文件 是 以 .apk 為后綴。這個(gè)文件是分發(fā)應(yīng)用程序和安裝到移動(dòng)設(shè)備的中介 或者是 工具,用戶下載這個(gè)文件到他們 自己 的設(shè)備上。一個(gè) .apk 文件中的所有代碼 就會(huì) 被認(rèn)為是一個(gè)應(yīng)用程序。 aapt 是 Android Asset Packaging Tool 的首 寫(xiě) 字母 的 縮寫(xiě),這個(gè)工具包 是 含在 SDK的 tools/目錄下 的 。查看、創(chuàng)建、更新與 zip 兼容的歸檔文件( zip、 jar、 apk)。它也能將資源文件編譯成二進(jìn)制包。 雖然 你可能不會(huì)經(jīng)常直接使用 appt,但 構(gòu)建腳本( build scripts)和 IDE 插件會(huì)使用這個(gè)工具打包 成 apk 文件,構(gòu)成一個(gè) Android 的 應(yīng)用程序。 下面是 更詳細(xì)的使用細(xì)節(jié), 首先 打開(kāi)一個(gè)終端,進(jìn)入 tools/目錄下,運(yùn)行命令: Linux 或 Mac 操作系統(tǒng): ./aapt ,如果是 Windows: 。在這里 注意 的是 :tools/目錄 指 的是 android SDK 目錄下的 /platforms/androidX/tools/。 在 很 多 的 方面,每個(gè) Android 的 應(yīng)用程序 是 生活在它自己的世界 。 默認(rèn) 的 情況下, 任何 一個(gè)應(yīng)用程序 是 運(yùn)行在它自己的 Linux 進(jìn)程中。 而 當(dāng)應(yīng)用程序中的任何代碼需要 被 執(zhí)行 時(shí)候 , Android將啟 12 動(dòng)進(jìn)程;當(dāng)它不 再 需要和系統(tǒng)資源 不會(huì) 被其他應(yīng)用程序 所 請(qǐng)求時(shí), Android 就會(huì) 關(guān)閉進(jìn)程這個(gè)進(jìn)程。 每 一 個(gè)應(yīng)用程序都有 自己的 Java 虛擬機(jī)( VM), 所以 應(yīng)用程序 的 代碼 是 獨(dú)立于其他所有 的 應(yīng)用程序 代碼 的 運(yùn)行。 在 默認(rèn)情況下,每 一 個(gè)應(yīng)用程序分配一個(gè)唯一的 Linux用戶 ID。權(quán)限 被 設(shè)置為每 一 個(gè)應(yīng)用程序的文件僅對(duì)用戶和應(yīng)用程序 自己 本身可見(jiàn) 。 雖然 有一些方法 也 可以暴露他們給其他應(yīng)用程序。 也 有可能 的是 設(shè)置兩個(gè)應(yīng)用程序共享一個(gè)用戶ID,這種情況下,他們能夠看到對(duì)方的文件。為了節(jié)省系統(tǒng)資源 的占用 ,具有相同 ID 的應(yīng)用程序 最好 可以 安排在同一個(gè) Linux 進(jìn)程中,共享同一個(gè) VM。 應(yīng)用程序組件 Android 的一個(gè)主要特點(diǎn)是,一個(gè)應(yīng)用程序可以利用其他應(yīng)用程序的元素(假設(shè)這些應(yīng)用程序允許的話)。例如,如果你的應(yīng)用程序需要顯示一個(gè)圖像的滾動(dòng)列表,且其他應(yīng)用程序已經(jīng)開(kāi)發(fā)了一個(gè)合適的滾動(dòng)條并可以提供給別的應(yīng)用程序用,你可以調(diào)用這個(gè)滾動(dòng)條來(lái)工作,而不用自己開(kāi)發(fā)一個(gè)。你的應(yīng)用程序不用并入其他應(yīng)用程序的代碼或鏈接到它。相反,當(dāng)需求產(chǎn)生時(shí)它只是啟動(dòng)其他應(yīng)用程序塊。 對(duì)于這個(gè)工作,當(dāng)應(yīng)用程序的任何部分被請(qǐng)求時(shí),系統(tǒng)必須能夠啟動(dòng)一個(gè)應(yīng)用程序的進(jìn)程 ,并實(shí)例化該部分的 Java 對(duì)象。因此,不像其他大多數(shù)系統(tǒng)的應(yīng)用程序, Android 應(yīng)用程序沒(méi)有一個(gè)單一的入口點(diǎn)(例如,沒(méi)有 main()函數(shù))。相反,系統(tǒng)能夠?qū)嵗瓦\(yùn)行需要幾個(gè)必要的組件。有四種類型的組件: 活動(dòng)( Activities) 服務(wù)( Services) 廣播接收者( Broadcast receivers) 內(nèi)容提供者( Content providers) 然而,并不是所有的應(yīng)用程序都必須包含上面的四個(gè)部分,你的應(yīng)用程序可以由上面的一個(gè)或幾個(gè)來(lái)組建。當(dāng)你決定使用以上哪些組件來(lái)構(gòu)建 Android應(yīng)用程序時(shí),你應(yīng)該將它們列在 文件中,在這個(gè)文件中你可以聲明應(yīng)用程序組件以及它們的特性和要求。關(guān)于 在 Android 開(kāi)發(fā)之旅: HelloWorld 項(xiàng)目的目錄結(jié)構(gòu) 的 、 簡(jiǎn)單介紹了一下,你可以參考一下,下篇也將介紹它。 、活動(dòng)( Activities) 一個(gè)活動(dòng)表示一個(gè)可視化的用戶界面,關(guān)注一個(gè)用戶從事的事件。例如,一個(gè)活動(dòng)可能表示一個(gè)用戶可選擇的菜單項(xiàng)列表,或者可能顯示照片連同它的標(biāo)題。一個(gè)文本短信應(yīng)用程序可能有一個(gè)活動(dòng),顯示聯(lián)系人的名單發(fā)送信息;第二個(gè)活動(dòng),寫(xiě)信息給選定的聯(lián)系人;其他活動(dòng),重新查看舊信息或更改設(shè)置。雖然他們一起工作形成一個(gè)整體的用戶界面,但是每個(gè)活動(dòng)是獨(dú)立于其他活動(dòng)的。每一個(gè)都是作為 Activity 基類的一個(gè)子類的實(shí)現(xiàn)。 類:因?yàn)閹缀跛械幕顒?dòng)( activities)都是與用戶交 互的, 13 所以 Activity 類關(guān)注創(chuàng)建窗口,你可以用方法 setContentView(View)將自己的 UI 放到里面。然而活動(dòng)通常以全屏的方式展示給用戶,也可以以浮動(dòng)窗口或嵌入在另外一個(gè)活動(dòng)中。有兩個(gè)方法是幾乎所有的 Activity 子類都實(shí)現(xiàn)的: onCreate(Bundle):初始化你的活動(dòng)( Activity),比如完成一些圖形的繪制。最重要的是,在這個(gè)方法里你通常將用布局資源( layout resource)調(diào)用 setContentView(int)方法定義你的 UI,和用 findViewById(int)在你的 UI 中檢索你需要編程地交互的小部件( widgets)。 setContentView 指定由哪個(gè)文件指定布局( ),可以將這個(gè)界面顯示出來(lái),然后我們進(jìn)行相關(guān)操作,我們的操作會(huì)被包裝成為一個(gè)意圖( Intent),然后這個(gè)意圖對(duì)應(yīng)有相關(guān)的 activity 進(jìn)行處理。 onPause():處理當(dāng)離開(kāi)你的活動(dòng)時(shí)要做的事情。最重要的是,用戶做的所有改變應(yīng)該在這里提交(通常 ContentProvider 保存數(shù)據(jù))。 生命周期如圖 31 14 圖 31Android的生命周期 每 一個(gè)應(yīng)用程序可能只包含一 個(gè)活動(dòng),或者 是像 短信應(yīng)用 程序一樣 ,它可能 會(huì) 包含幾個(gè)活動(dòng)。這些活動(dòng) 分別 是什么,以及有多少, 這個(gè) 當(dāng)然取決于它的應(yīng)用 程序自己的 設(shè)計(jì)。根據(jù) 一般 情況 來(lái) 說(shuō) ,當(dāng) 一個(gè) 應(yīng)用程序被啟動(dòng) 的時(shí)候 , 會(huì) 被標(biāo)記為第一個(gè)的活動(dòng) , 應(yīng)該展示給用戶。從一個(gè)活動(dòng) 轉(zhuǎn) 移 到另 外 一個(gè)活動(dòng)由當(dāng)前的活動(dòng)完成 從而 開(kāi)始下一個(gè)。 每 一 個(gè)活動(dòng)都 會(huì) 有一個(gè)默認(rèn)的窗口。 根據(jù) 一般 情況來(lái)說(shuō) ,窗口 是 會(huì)填滿整個(gè)屏幕 的 ,但是它 也有 可能比屏幕小 或者是 浮在其他窗口上 ,這個(gè)就是程序員代碼的編寫(xiě)情況了 。一個(gè)活動(dòng)還可以使用額外 窗口 。比如 彈出式對(duì)話框, 或者是 當(dāng)一 個(gè) 用戶選擇屏幕上一個(gè)特定的項(xiàng)時(shí) , 會(huì)跳出 一個(gè)窗口 來(lái) 顯示給用戶重要的信息。 窗口的可視 化 內(nèi)容是由繼承自 接口為 View 基類 , 一個(gè)分層的視圖 — 對(duì)象提供。每個(gè)可視化 控件是窗口內(nèi)的 一個(gè)特定的矩形空間。父視圖包含和組織子女視圖的布局。葉子視圖 分層 的底層 。 繪制的矩形 會(huì) 直接控制 和響應(yīng)用戶的操作。 所以 ,一個(gè)視圖活動(dòng) 是 與用戶發(fā)生 交互 的地方。 比如說(shuō) ,一個(gè)視圖 顯示一個(gè)小的圖片和當(dāng)用戶點(diǎn)擊圖片時(shí)發(fā)起一個(gè) 動(dòng)作 行為。 Android 有一些現(xiàn)成的 可視化控件 你可以使用, 其中 包括按鈕( buttons)、 圖片按鈕( ImageButton)、 文本域( text fields)、 可 編輯文本控件( EditText)、 菜單項(xiàng)( menu items) 、仿真時(shí)鐘( AnalogClock) 滾動(dòng)條( scroll bars)、 開(kāi)關(guān)按鈕( ToggleButton)、復(fù)選 按鈕 ( check boxes)等等。 通過(guò) () 方法 來(lái)設(shè) 置一個(gè)視圖層次在 我們的 活動(dòng)窗口中。內(nèi)容視圖( content view)是層次結(jié)構(gòu)的根視圖對(duì)象。層次結(jié)構(gòu)如下圖 32 所示: 圖 32 View的層次結(jié)構(gòu) () 方 法 : public void setContentView (int layoutResID):根據(jù)布局資源 的 設(shè)置活動(dòng) 界面。資源將 會(huì) 被夸大,添加布局資源文件中 的所有的最高層的視圖( toplevel views )到活動(dòng) . 15 、 服務(wù)( Services) 與 Activity 相反, Service 是沒(méi)有可視化的用戶界面,但是 Service 的特點(diǎn)是能長(zhǎng)時(shí)間在后臺(tái)運(yùn)行的 。 所以,也可以這樣去理解, Service 是具有一段較長(zhǎng)生命周期而且沒(méi)有用戶界面的程序。比如說(shuō) 一個(gè)服務(wù)可能 要 播放背景音樂(lè) 但是 用戶做 可以去做 其他一些事情,或者它 也 可能從網(wǎng)絡(luò)獲取數(shù)據(jù), 也或者是 計(jì)算一些東西并 會(huì) 提供 一個(gè) 結(jié)果給需要的活動(dòng)( activities)。每 一 個(gè)服務(wù)都繼承自 Service 基類。 每 一 個(gè)服務(wù)類 都惠子 在 中有 自己 相應(yīng)的 service聲明。服務(wù)必須 可以通過(guò) ()或者 ()啟動(dòng) 因?yàn)?service 是有兩個(gè)不同的生命周期的 。 一個(gè) 非常 典型的例子是 媒體播放器播放一個(gè)播放列表中的歌曲 文件 。該播放器應(yīng)用程序?qū)⒖赡苡幸粋€(gè) 或者是 多個(gè)活動(dòng)( activities), 可以 允許用戶選擇 要聽(tīng)的 歌曲和開(kāi)始播放。然而,音樂(lè)播放本身 就 不會(huì)被一個(gè)活動(dòng)處理,因?yàn)橛脩?是 希望保持音樂(lè) 一直 播放 的 ,當(dāng)用戶離開(kāi)播放器 的時(shí)候而 去做其他事情 。為了保持音樂(lè) 能夠 繼續(xù)播放,媒體播放器活動(dòng)可以啟動(dòng)一個(gè)服務(wù)運(yùn)行在后臺(tái) 的運(yùn)行 。系統(tǒng)將 會(huì) 保持音樂(lè)播放服務(wù)運(yùn)行,甚至媒體播放器離開(kāi)屏幕 的時(shí)候 。 可以連接到(綁定到)一個(gè) 持續(xù)運(yùn)行的服務(wù)(并啟動(dòng)服務(wù),如果它尚未運(yùn)行)。連接之后,你可以通過(guò)服務(wù)暴露的接口與服務(wù)交流。對(duì)于音樂(lè)服務(wù),這個(gè)接口可以允許用戶暫停、倒帶、停止和重新播放。 像活動(dòng)( activities)和其他組件一樣,服務(wù)( services)運(yùn)行在應(yīng)用程序進(jìn)程中的主線程中。因此,他們將不會(huì)阻止其他組件或用戶界面,他們往往產(chǎn)生其他一些耗時(shí)的任務(wù)(如音樂(lè)播放)。 、廣播接收者( Broadcast receivers) 一個(gè)廣播接收者是這樣一個(gè)組件,它不做什么事,僅是接受廣播公告并作出相應(yīng)的反應(yīng)。許多廣播源自于系統(tǒng)代 碼,例如公告時(shí)區(qū)的改變、電池電量低、已采取圖片、用戶改變了語(yǔ)言偏好。應(yīng)用程序也可以發(fā)起廣播,例如為了他其他程序知道某些數(shù)據(jù)已經(jīng)下載到設(shè)備且他們可以使用這些數(shù)據(jù)。 一個(gè)應(yīng)用程序可以有任意數(shù)量的廣播接收者去反應(yīng)任何它認(rèn)為重要的公告。所有的接受者繼承自 Broadc
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1