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

正文內(nèi)容

畢業(yè)論文-基于android手機平臺的音樂播放器應用程序的設計與實現(xiàn)-資料下載頁

2025-06-03 21:09本頁面
  

【正文】 ermission / /manifest Android 系統(tǒng)有一個編碼的規(guī)定,支持的編碼是 utf8,當程序中出現(xiàn)亂碼是,我們須將其編碼格式轉(zhuǎn)化為 utf8.在 中會在第一行聲明一句:?xml version= encoding=utf8?。它是該系統(tǒng)支持的版本和編碼。在第二行定義了我們需要使用的架構,該架構來自xmlns:android= xmlns(XML namespace)是一個命名空間,它就像一條河的源頭一樣能讓我們找到系統(tǒng)架構,每一個配置文件必須有這個 xmlns,否則程序中的所使用的所有資源將無法找到。 在 application 元素我們定義 android:icon=@drawable/icon android:label=@string/app_name, android: icon 是程序在手機中顯示的圖片,我們運用 @drawable/icon 表示了對 res/drawable 目錄下的 的引用。@string/app_name表示了對 res/value目錄下 app_name參數(shù)的引用。 activity android:name=.PlayRackActivity intentfilter action android:name=/ category android:name= / /intentfilter /activity 這是系統(tǒng)確定的首先要啟動的 Activity 是 PlayRackActivity。 在 intentfilter 選項中,有 action 和 category 等等屬性,我們需要定義 action的值為 , category 的值為,它們是系統(tǒng)的值,程序在解析到這些常用后就可以確定首先要啟動的 Activity。當我們需要通過一個組件觸發(fā)另一個組件時,我們將設定 action 和 category 的其它屬性值,系統(tǒng)會根據(jù)我們設定的屬性值去 的 application 中尋找標識,任何一個 Activity 的 action 和category 是唯一,所以程序在任何時候都能唯一啟動一個 Activity,這樣,不同的Activity 之間的跳轉(zhuǎn)就實現(xiàn)了。 在 中有一個根結(jié)點 usessdk,它是我們需要定義的 ADT 版本,例如我們將其值設定為 android:minSdkVersion=4,則表示此 Android 工程所用的版本為 , Android 還有 、 、 、 、 。 如果我們需要對網(wǎng)絡進行訪問,比如打開一個網(wǎng)頁,剛我還需要設置一個網(wǎng)絡訪問權限 usespermission,將其的值設置為android:name=,我們就可以訪問網(wǎng)絡了。當然usespermission 還有很多其它的權限,例如 GPS 定位權限,瀏覽器數(shù)據(jù)存取權限 等等。 當程序的任何一個組件要用到時,都必須在 文件中聲明。四 30 大組件要使用前都需要聲明,其聲明方式如下: service/service provider/provider activity/activity receiver/receiver 其中聲明 provider 時還需要聲明其授權 authorities。每個組件里面還有很多的屬性,會根據(jù)程序的具體需要定義不同的屬性。過濾器 intentfilter 有兩種啟動方式來啟動界面: (1) 顯示方式 顯示方式是在代碼中的直接啟動組件,啟動時會聲明 Intent,在它的構造方法Intent(組件 1,組件 2)中直接指定一個組件的名字 ,然后調(diào)用方法 startIntent(intent)以啟動指定的組件。 (2) 隱式方式 隱式方式是通過過濾器來過濾完成的,啟動的組件必 須滿足 action 和 category 的條件才能夠啟動該組件。這些屬性是在 文件中聲明的。兩種啟動方式都可以通過程序 setAction( ACTION 常量)和 startActivity( intent)或配置文件兩種方式來實現(xiàn)組件的跳轉(zhuǎn)。 第五章 播放器系統(tǒng)功能詳細設計 播放器主界面 播放器主界面(圖 ) 31 圖 Android 的每一個可視化界面,都有其的唯一的布局配置文件,該文件里面有各種布局方式,和各種資源文件如圖像, 文字,顏色的引用,程序在運行時,可以通過代碼對各配置文件進行讀取。這樣就可以形成不同的可視 化界面和炫麗的效果。播放器主界面是一個 Activity, Android 工程在每個 activity 啟動的時候會首先執(zhí)行 Oncreate()方法,如下代碼: @Override Public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView()。} 該方 法主要執(zhí)行界 面的初始化 操作, Activity 有個設 置布局的方法 :(layoutResID),參數(shù)為資源 ID,該 Id 在工程目錄 res/layout下,主界面布局文件名為 play_rack。 下面為 布局文件代碼結(jié)構如下: ?xml version= encoding=utf8? AbsoluteLayout LinearLayout /LinearLayout SeekBar/SeekBar LinearLayout/LinearLayout /AbsoluteLayout 32 在絕對布局 AbsoluteLayout下嵌套兩種線性布局 LinearLayout和 SeekBar,第一個 LinearLayout實現(xiàn)了標題和歌曲名的顯示位置,通過 AbsoluteLayout布局設置 LinearLayout絕對坐標來控制標題的位置。每個布局內(nèi)可以放置多種 Widget(窗體部件)例如: TextViewImageButton等。每個 Widget內(nèi) 有多種屬性,可以設置該 Widget的坐標,大小,背景和顏色等參數(shù)。在播放界面中,歌詞顯示為居中,實現(xiàn)方法代碼如下: LinearLayout android:orientation=horizontal android:gravity=centerandroid:layout_height=wrap_content android:layout_width=fill_parent TextView android:layout_height=wrap_content android:textColor=8deeee android:id=@+id/lrcText android:layout_width=wrap_content/TextView /LinearLayout 屬性: orientation=horizontal:此線性布局的子部件為水平方式布局 Layout_width=fill_content :布局的寬度為填滿父布局 Layout_height=wrap_content :布局的高度子由窗體的大小決定 窗 體 TextView 文本 : textColor=8deeee 設置文本顯示的顏色 RGB為 8deeee TextSize為默認大小 播放界面音軌的實現(xiàn) 播放器音軌 SeekBar(如下圖) Android系統(tǒng)自帶 SeekBar(如下圖) 圖 不管是從界面外觀還是從功能上,系統(tǒng)自帶的 SeekBar往往不能滿足用戶的需要。所以我在這里自定義了一個音軌 SeekBar, 在 , SeekBar的代碼如下: SeekBar android:id=@+id/seekbar android:layout_width=245px android:layout_height=20px android:layout_x=40px 33 android:layout_y=260px android:progressDrawable=@drawable/seekbar_style android:thumb=@drawable/thumb android:paddingLeft=18px android:paddingRight=15pxandroid:paddingTop=5px android:paddingBottom=5px android:progress=0 android:max=100 android:secondaryProgress=0 /SeekBar 上面代碼中有參數(shù) android: thumb=@drawable/thumb 為音軌游標的圖片資源android: progressDrawable=@drawable/seekbar_style為 SeekBar條的風格 style。引用了 drawable中的 ,,算法如下: ?xml version= encoding=utf8? layerlist xmlns:android= item android:id=@android:id/background shapecorners android:radius=5dip /gradient android:startColor=ff9d9e9d android:centerColor=ff5a5d5a android:centerY= android:endColor=ff747674 android:angle=270 //shape/item item android:id=@android:id/secondaryProgress clipshapecorners android:radius=5dip / gradient android:startColor=80ffd300 android:centerColor=80ffb600 android:centerY= android:endColor=a0ffcb00 android:angle=270 / /shape/clip/item item android:id=@android:id/progress clipshapecorners android:radius=5dip /gradient android:startColor=ff0099CCandroid:centerColor=ff3399CC android:centerY=android:endColor=ff6699CC android:angle=270 //shape/clip/item /layerlist 配置文件中三個 Item項依次決定了 SeekBar的三層背景,從最下層的灰色到最上層的藍色。 通過各種屬性設置了 SeekBar的傾斜度,兩端圓半徑,角度,中心位置,起始,中心和結(jié)束的顏色,游標的起始位置。通過這些屬性設置,就自定義一個如上圖一的 SeekBar音軌 . 播放器最重要的一部分就是音軌與歌曲進度同步的實現(xiàn)。音軌設置了兩個 TextView 34 用來顯示當前歌曲播放的進度時間和歌曲的長度 (圖 ) 圖 音軌對象 SeekBar在歌曲剛開始播放的時候調(diào)用方法 (),參數(shù)傳入歌曲的長度。 (1)設置游標的起始進度為 1。然后程 序運行如下代碼: private Runnable thread_One = new Runnable() {// 線程 public void run() { int currently_Progress = () + 1000。 (currently_Progress)。 (getFileTime( ion()))。 showLrcTwo(lrc_time, lrc_word)。(thread_One, 1000)。}}。 Android的線程的開始是通過 Handler類來進行的, Handler類是線程與線程之間通信的橋梁,實現(xiàn) Runnable接口會實現(xiàn)里面的 run方法,當線程開始的時候, Runnable中的run方法會向 Handler發(fā)一個 Message消息,這樣, Handler類就可以接收到 run方法發(fā)送過來的不同的消息進行不同的代碼處理。這樣就達到了各線程之間的通信。要啟動 一個線程調(diào)用 Handler的方法 postDelayed( Runnable, 1000)表示線程睡眠時間是 1000ms 。 以上代碼意思是讓播放歌曲的線程每隔 1000ms,即每 1秒對音軌的 TextView重新設置時間且讓進度條前進 1秒的進度。對音軌進行刷新。這樣就實現(xiàn)了歌詞同步功能 SeekBar有一個監(jiān)聽器,該監(jiān)聽器的作用是一直保持著對進度條的監(jiān)聽,當我們用鼠標向 SeekBar的各位置進行點擊時,它會自動監(jiān)聽其位置,進行相應的位置顯示。這也是進度條上的游標會不停的移動和歌詞時間會不停的變動的原因。 播放器播放、暫停、停止等功能 圖 如圖 :各按鈕水平放置,用的是布局中的線性布局 LinearLayout,用方法setOri
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1