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

正文內(nèi)容

最新基于android平臺(tái)的手機(jī)音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2024-07-25 04:42 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 的應(yīng)用程序都由一系列的服務(wù)和系統(tǒng)組成,包括:可擴(kuò)展的視圖(Views )可以用來建應(yīng)用程序,包括列表(lists),網(wǎng)格(grids),文本框(text boxes),按鈕(buttons),甚至包括一個(gè)可嵌入的web瀏覽器。內(nèi)容管理器(Content Providers )使得應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù)。資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字符串,圖形,和分層文件(layout files )。通知管理器(Notification Manager)使得應(yīng)用程序可以在狀態(tài)欄中顯示客戶通知信息?;顒?dòng)類管理器(Activity Manager)用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。(3) Libraries庫Android 包括一個(gè)被 Android 系統(tǒng)中各種不同組件所使用的 C/C++ 庫集。該庫通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些主要的核心庫:系統(tǒng) C 庫 一個(gè)從 BSD 繼承來的標(biāo)準(zhǔn) C 系統(tǒng)函數(shù)庫( libc ),專門為基于 embedded linux 的設(shè)備定制。 媒體庫 基于 PacketVideo OpenCORE;該庫支持錄放,并且可以錄制許多流行的音頻視頻格式,還有靜態(tài)印像文件包括MPEG4, , MP3, AAC, AMR, JPG, PNG。Surface Manager 對(duì)顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提供2D和3D圖層的無縫融合。 LibWebCore 一個(gè)最新的web瀏覽器引擎用來支持Android瀏覽器和一個(gè)可嵌入的web視圖。SGL 一個(gè)內(nèi)置的2D圖形引擎 3D libraries 基于OpenGL ES APIs實(shí)現(xiàn);該庫可以使用硬件3D加速(如果可用)或者使用高度優(yōu)化的3D軟加速。FreeType位圖(bitmap)和向量(vector)字體顯示。SQLite一個(gè)對(duì)于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫引擎。(4) Android Runtime  Android 包括了一個(gè)核心庫,該核心庫提供了JAVA編程語言核心庫的大多數(shù)功能。每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。Dalvik是針對(duì)于同時(shí)高效地運(yùn)行多個(gè)VMs來實(shí)現(xiàn)的。,該格式文件針對(duì)最小內(nèi)存使用做了優(yōu)化。該虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由JAVA匯編器編譯。Dalvik虛擬機(jī)依賴于linux的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。(5) Linux內(nèi)核Android 的核心系統(tǒng)服務(wù)依賴于 Linux 內(nèi)核,如安全性,內(nèi)存管理,進(jìn)程管理,網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型。 Linux 內(nèi)核也同時(shí)作為硬件和軟件堆棧之間的硬件抽象層。但其最震撼人心之處在于Android手機(jī)系統(tǒng)的開放性和服務(wù)免費(fèi)。Android是一個(gè)對(duì)第三方軟件完全開放的平臺(tái),開發(fā)者在為其開發(fā)程序時(shí)擁有更大的自由度,突破了IPhone等只能添加為數(shù)不多的固定軟件的枷鎖;同時(shí)與Windows Mobile、Symbian等廠商不同,Android操作系統(tǒng)免費(fèi)向開發(fā)人員提供,這樣可節(jié)省近三成成本。Android項(xiàng)目目前正在從手機(jī)運(yùn)營(yíng)商、手機(jī)廠商、開發(fā)者和消費(fèi)者那里獲得大力支持。 Android系統(tǒng)的四大組件在Android系統(tǒng)中,為我們提供了四大基本組件,每個(gè)組件是一個(gè)視圖,但是有些是可見的,有些是不可見的視圖,像Activity,ContentProvider是可見的視圖,Service和BroadcastReceiver是不可見的,它們只在系統(tǒng)的后臺(tái)運(yùn)行。下面分別介紹四大組件:(1)Activity 簡(jiǎn)介在Android系統(tǒng)中Activity提供可視化的用戶界面,一個(gè)Android應(yīng)用通常由多個(gè)Activity組成。多個(gè)Activity組成了Activity棧(Stack),當(dāng)前活動(dòng)的Activity處于棧頂。Activity有自己的生命周期,由Android系統(tǒng)來控制。(2)Service 簡(jiǎn)介 顧名思義Service就是運(yùn)行在后臺(tái)的一種服務(wù)程序,一般很少和用戶交互,因此沒有可視化界面定義一個(gè)Service類比較簡(jiǎn)單,只要繼承Service類,實(shí)現(xiàn)其生命周期中的方法就可以了。,通過service,我們可以調(diào)用startService()啟動(dòng)一個(gè)Service或者bindService()方法來綁定一個(gè)存在的Service (3)Broadcast Receiver 簡(jiǎn)介 Broadcast Receiver 顧名思義廣播接收器,它和事件處理機(jī)制類似,只不過事件處理機(jī)制是程序組件級(jí)別的(例如,某個(gè)按鈕的單擊事件),而廣播事件處理機(jī)制是系統(tǒng)級(jí)別的。到目前為止我們可以使用Intent來啟動(dòng)一個(gè)程序組件,我們還可以通過使用sendBroadcast()方法來發(fā)起一個(gè)系統(tǒng)級(jí)別的事件廣播來傳遞消息。我們可以在你的應(yīng)用程序中實(shí)現(xiàn)Broadcast Receiver來監(jiān)聽和響應(yīng)這些廣播的Intent (4)ContentProvider簡(jiǎn)介Content Provider 用來保存和檢索數(shù)據(jù),并且使應(yīng)用程序之間相互訪問數(shù)據(jù)成為可能。它是跨應(yīng)用程序共享數(shù)據(jù)的唯一方法。Android 為常用的數(shù)據(jù)類型(如:音視頻、圖片和聯(lián)系方式等)提供了大量的Content Provider。通過這樣定義好的ContentProvider 我們可以方便的進(jìn)行數(shù)據(jù)操作。當(dāng)然我們必須擁有適當(dāng)?shù)臋?quán)限。我們也可以自己來定ContentProvider共享我們的數(shù)據(jù),方便用戶的訪問[3]。 搭建Android開發(fā)環(huán)境任何事物要運(yùn)行,都要有它的環(huán)境,Android也有它的環(huán)境才能夠運(yùn)行,下面介紹Android的開發(fā)環(huán)境配置. 安裝Java JDK安裝Java JDK ,并配置以下三個(gè)環(huán)境變量:變量名:JAVA_HOME變量值:C:\Program Files\Java\ 變量名:Classpath變量值:.。%JAVA_HOME%\lib。 變量名:Path變量值:C:\Program Files\Java\\bin。圖6境變量 安裝SDK模擬器首先要下載SDK,可以在這個(gè)網(wǎng)址,選擇相應(yīng)的系統(tǒng)進(jìn)行安裝。在“Android SDK and AVD Manager”窗口的左側(cè)選擇 “Settings”,如遇到“Failed to fetch URL…” 的錯(cuò)誤,那么需要將HTTPS方式改為HTTP方式。圖 7“Android SDK and AVD Manager”窗口 下載安裝插件,選則installed packages,點(diǎn)擊update all,然后等待安裝,有的插件較大,所以時(shí)間較長(zhǎng)。圖8安裝界面添加模擬器 圖 9添加界面點(diǎn)擊new ,點(diǎn)擊安裝,成功后就可以啟動(dòng)模擬器。圖 10擬器界面點(diǎn)擊launch,就可看到成功啟動(dòng)模擬器[2]。 手機(jī)模擬器安裝軟件我們還可以給模擬器安裝程序,在網(wǎng)上下載感興趣的安卓軟件,都是APK文件,用下面的APK安裝器安裝到手機(jī)模擬器,看圖 圖 11模擬器安裝軟件 管理SD卡文件SD卡是個(gè)鏡像文件,大小為新建時(shí)設(shè)的數(shù)值,我的1024m,地址為:C:\Documents and Settings\****\.android\avd\****.avd\(其中第一個(gè)****是你電腦的用戶名,第二個(gè)****是你自己建的AVD名),我一般用ultraiso。圖12文件管理界面安裝Android ADT插件,運(yùn)行Eclipse,選擇helpinstall new software 選擇add,將會(huì)彈出一個(gè)框。圖 13 android ADT插件安裝點(diǎn)擊OK,選擇要安裝的軟件,占next,然后選擇接受協(xié)議,直到安裝成功,重啟Eclipse軟件,設(shè)置Android SDK Home,Windowrefrence在SDK location中輸入SDK Tools路徑:D:\android software\androidsdkwindows 點(diǎn)擊OK。這樣Android環(huán)境就已經(jīng)搭建成功了[11]。 Android 音樂播放器的工程 Android項(xiàng)目Android的四大基本組件:Activity(活動(dòng)),Service(服務(wù)),BroadcastReceiver(廣播),ContentProvider(內(nèi)容提供者),各組件之間要進(jìn)行切換需要一個(gè)意圖或企圖Intent類,通過啟動(dòng)StartIntent()方法來使各組件進(jìn)行跳轉(zhuǎn)。Android的五大布局方式:LinearLayout(線性布局) FrameLayout(幀布局) TableLayout(表格布局) AbsoluteLayout(絕對(duì)布局) RelativeLayout(相對(duì)布局)[1]Android系統(tǒng)將插件ADT集成到了Eclipse工具上,因此,一個(gè)Android程序啟動(dòng)后,系統(tǒng)會(huì)啟動(dòng)一個(gè)模擬器(Emulator)。圖 14 android模擬器 Android工程程序結(jié)構(gòu) Android工程基本結(jié)構(gòu)目錄包括:src (源代碼)、gen(Android系統(tǒng)自動(dòng)生成的常量)、Res(資源文件):主要存放程序界面的布局配置(.xml)文件和圖片資源。 是四大組件的驅(qū)動(dòng)配置文件,有它的存在,Android程序的四大組件才可以正常的跳轉(zhuǎn)。Android資源的類型和布局 。下面為音樂播放器代碼結(jié)構(gòu)和各界面的配置文件,圖像資源等。 圖 15 Android工程結(jié)構(gòu) 圖16播放器的Java文件圖17字符串,字體大小,字的顏色等配置文件圖 18布局配置文件圖 19播放器的圖片資源 ,此配置文件是整個(gè)程序能夠正常運(yùn)行的核心,它里面包含了Android SDK的版本,程序運(yùn)行的默認(rèn)Activity,當(dāng)程序中的任何一個(gè)組件觸發(fā)事件后。:?xml version= encoding=utf8?manifest application activity intentfilter action/category/ /intentfilter /activity /application usessdk /usespermission //manifest Android系統(tǒng)有一個(gè)編碼的規(guī)定,支持的編碼是utf8,當(dāng)程序中出現(xiàn)亂碼是,我們須將其編碼格式轉(zhuǎn)化為utf8.在 :?xml version= encoding=utf8?。它是該系統(tǒng)支持的版本和編碼。在第二行定義了我們需要使用的架構(gòu),該架構(gòu)來自xmlns:android=xmlns(XMLnamespace)是一個(gè)命名空間,它就像一條河的源頭一樣能讓我們找到系統(tǒng)架構(gòu),每一個(gè)配置文件必須有這個(gè)xmlns,否則程序中的所使用的所有資源將無法找到。在application元素我們定義android:icon=@drawable/iconandroid:label=@string/app_name,android:icon是程序在手機(jī)中顯示的圖片,我們運(yùn)用@drawable/icon表示了對(duì)res/。@string/app_name表示了對(duì)res/。 activity android:name=.PlayRackActivity intentfilter action android:name=/ category android:name= / /intentfilter /activity這是系統(tǒng)確定的首先要啟動(dòng)的Activity是PlayRackActivity。在intentfilter選項(xiàng)中,有action和category等等屬性,,它們是系統(tǒng)的值,程序在解析到這些常用后就可以確定首先要啟動(dòng)的Activity。當(dāng)我們需要通過一個(gè)組件觸發(fā)另一個(gè)組件時(shí),我們將設(shè)定action和category的其它屬性值, 中尋找標(biāo)識(shí),任何一個(gè)Activity的action和category是唯一,所以程序在任何時(shí)候都能唯一啟動(dòng)一個(gè)Activity,這樣,不同的Activity之間的跳轉(zhuǎn)就實(shí)現(xiàn)了。usessdk,它是我們需要定義的ADT版本,例如我們將其值設(shè)定為android:minSdkVersion=4,、。如果我們需要對(duì)網(wǎng)絡(luò)進(jìn)行訪問,如打開一個(gè)網(wǎng)頁,剛我還需要設(shè)置一個(gè)網(wǎng)絡(luò)訪問權(quán)限usespermission,將其的值設(shè)置為android:name=,我們就可以訪問網(wǎng)絡(luò)了。當(dāng)然usespermission還有很多其它的權(quán)限,例如GPS定位權(quán)限。當(dāng)程序的任何一個(gè)組件要用到時(shí)。四大組件要使用前都需要聲明,其聲明方式如下:service/serviceprovider/provideractivity/activityreceiver/receiver其中聲明provider時(shí)還需要聲明其授權(quán) authorities。每個(gè)組件里面還有很多的屬性,會(huì)根據(jù)程序的具體需要定義不同的屬性。過濾器intentfilter 有兩種啟動(dòng)方式來啟動(dòng)界面:(1) 顯示方式顯示方式是在代碼中的直接啟動(dòng)組件,啟動(dòng)時(shí)會(huì)聲明Intent,在它的構(gòu)造方法Intent(組件1,組件2)中直接指定一個(gè)組件的名字,然后調(diào)用方法startIntent(intent)以啟動(dòng)指定的組件。(2) 隱式方式隱式方式是通過過濾器來過濾完成的,啟動(dòng)的組件必須滿足action和category的條件才能夠啟動(dòng)該
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1