【正文】
eds on mobile phone software’s function goes increasingly high. Android system is updating to satisfy the needs. Therefore, the development of mobile multimedia technology has inevitably bee the hot spot. Android is the open source mobile system published by Google in 20xx. For the reason that its openness is superior to other closed mobile system, anyone can rewrite all functions in the mobile system as he or she like, which has made more and more people pay attention to this operating system. This design is a music player using Java as the basic programming language, which is based on Android operating system and above version, and can be operated by the standard database SQLite that offered by Android system. Though this design is not big, it contents Android’s most programming technology. Its favorable user interface can conduce to the realization of its basic function in music controlling (start, pause, switching between up and down music, lyrics synchronized display) and play mode controlling (single play, single cycle, random play and all cycle). Besides, it also realizes the function in song including search, add, delete and so on. Key words: Android。 Android: Google 公司 于 20xx 年公布的開放式源代碼手機系統(tǒng),它的開放性 優(yōu)于其它封閉式的手機系統(tǒng),任何人都可能根據(jù)自己的喜好將手 機系統(tǒng)中的所有功能重新編寫。 自 1983 年世界第一款商用手機發(fā)布到現(xiàn)在,只經(jīng)過了僅僅不到 30 年的時間,全球手機用戶已達 23 億之多。隨著 3G 網(wǎng)絡(luò)的大規(guī)模建設(shè)和智能手機的迅速普及,移動互聯(lián)網(wǎng)時代已經(jīng)微笑著迎面而來。 Android 系統(tǒng)也在不斷更新以滿足需求,因此手機多媒體技術(shù)的開發(fā)也就不可避免稱為熱點。 本設(shè)計 的實現(xiàn), 囊括了 Android 大部分編程技術(shù),用其 友好 的用戶界面,實現(xiàn)了對音樂控制的基本功能:播放、暫停、上 /下首切換、歌詞同步顯示和各種播放模式的控制(單曲、循環(huán)、隨機和順序播放),也實現(xiàn)了對歌曲列表的搜索、添加和刪除等功能。 Java。 本項目是一款基于 Android 手機平臺的音樂播放器,使 Android 手機擁有個性的多媒體播放器,使手機顯得更生動靈活化,與人們更為接近,讓手機主人隨時隨地處于音樂視頻的旋律之中。 目前中國擁有世界上最大的手機用戶群,再加上 3G的推出對整個行業(yè)的巨大推動作用,全世界所有大中小型手機制造商幾乎都在招聘 Android 工程師。另一方面,由于國內(nèi)政策的限制,導(dǎo)致 Android 的部分功能(如 Android market)在國內(nèi)無法正常使用,目前常用的解決方法是使用 VPN 服務(wù)來訪問。完全整合的全移動功能性產(chǎn)品成為“開放手機聯(lián)盟”的最終目標。 市場上第一款支持 Android 的手機是由 HTC 制造并由 TMobile 供應(yīng)的 G1。 G1 問世幾個月之后,隨后就發(fā)布了 Android Market,它使用戶可以瀏覽應(yīng)用程 序,并且可以將應(yīng)用程序直接下載到他們的手機上。與 Windows Mobile、Symbian 等廠商不同的是, Android 操作 系統(tǒng)免費 向 開發(fā)人員提供,這樣可節(jié)省近三成成本 ,得到了眾多廠商與開發(fā)者的擁護。 Android 上的應(yīng)用程序可以通過標準 API 訪問核心移動設(shè)備功能。 ? 應(yīng)用程序可以輕松地嵌 入網(wǎng)絡(luò)。在后臺運行時,應(yīng)用程序可以生成通知以引起注意。但符合條件的 Android 工程師屈指可數(shù),在未來幾年內(nèi), Android 開發(fā)工程師將成為 3G 行業(yè)炙手可熱的崗位之一。 Android 程 序框架 介紹 本節(jié)將 介紹一下開發(fā) Android 項目的項目目錄結(jié)構(gòu),如圖 所示 ,這是 MIDI 音樂播放器的項目目錄結(jié)構(gòu)。 圖 音樂播放器目錄結(jié)構(gòu) 用戶界面 介紹 Android 平臺提供的控件是非常完美的,控件的使用與網(wǎng)頁的設(shè)計類似。在一個 Android 應(yīng)用中,用戶 界面是由 View 和 ViewGroup 對象構(gòu)建的。它是一個存儲 屏幕上特定的一個矩形布局和內(nèi)容屬性的數(shù)據(jù)結(jié)構(gòu)。 2) ViewGroup ViewGroup 是一個 類的對象。 1) Activity 在 Android 中使用頻率最高,實質(zhì)就是一個可視化界面;一般一個 Android 應(yīng)用由多個 Activity 組成 ,多個 Activity 組成 Activity 棧( stack),當前活躍的 Activity 在棧頂Activity 上面是一個 Window 對象, Window 之上通常是一個布局容器對象( LinearLayout等),在上面是我們所要展示的各個組件(如按鈕、文本框等) Activity 有自己的生命周期, 由 Android 系統(tǒng)來控制新建的 Activity 要在清單文件 中注冊 。 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文) 7 本應(yīng)用 MIDI 播放器對歌曲的控制全都做在了 Service 里,后續(xù)會詳細說明。也許這正是 Android 系統(tǒng)要采用 SQLite數(shù)據(jù)庫的原因之一 。該文件是跨平臺的,可以自由復(fù)制。這意味著它的數(shù)據(jù)類型不具有表列屬性,而具有數(shù)據(jù)本身的屬性。SQLite 支持 NULL、 INTEGER 、 REAL 、 TEXT 和 BLOB 等 數(shù)據(jù)類型。 關(guān)于 這個 SQLiteOpenHelper 類在 后續(xù)章節(jié)中 會詳細講到,它的出現(xiàn)能夠更好地管理和維護數(shù)據(jù)庫 。由于這些智能化家電的市場需求沒有預(yù)期 的高, Sun 放棄了該項計劃。在 Java SE 版本中, Java 又引入了泛型編程( Generic Programming)、類型安全的枚舉、不定長 度 參數(shù)和自動裝 /拆箱等語言特性。但在 J2SE 發(fā)布后 , Java 的執(zhí)行速度有了大幅提升。這與微軟公司所倡導(dǎo)的注重精英和封閉式的模式完全不同 。 Android Google 選擇用 Java 語言作為它十分流行的 Android 移動操作系統(tǒng)的編程語言。Android 支持使用 Java 作為編程語言來開發(fā)應(yīng)用程序,而 Android 的 Java 開發(fā)方面從接口到功能,都有層出不窮的變化。 經(jīng)濟可行性 本系統(tǒng)開發(fā)經(jīng)費在經(jīng)濟上是可以接受的,現(xiàn)在電腦 和手機 已經(jīng)普及, 而手機更是人人都擁有,而 Android 手機更是主流手機 ,在市面上一般的 Android 系統(tǒng)手機的價錢都在千元左右,所示說價錢并不是很昂貴 。 只要開發(fā)者有一個比較全面 的 Java 基礎(chǔ), 以及一些簡單的 XML 技術(shù),對軟件的開發(fā)流程有一定的了解, 在開發(fā) Android 程序的時候一般是不會有太大的問題的 。 綜上所述,本應(yīng)用在技術(shù)上是可行的。但符合條件的 Android 工程師屈指可數(shù),在未來幾年內(nèi), Android 開發(fā)工程師將成為 3G 行業(yè)炙手可熱的崗位之一。 本應(yīng)用對播放器的基本控制也全部得到了實現(xiàn),例如:暫停 、上一首、下一首和播放時間的同步顯示等,如圖 所示 播放器的基本控制功能用例圖分析。 4) 播放列表中的歌曲:用戶瀏覽列表,并且可以播放選中的歌曲。 ? 當要求 添加 或 刪除歌曲 時,程序響應(yīng)時間最長不能超過 5 秒 。 Android 系統(tǒng)為開發(fā)者提供了一個 MediaStore 這個類 ,它是一個多媒體數(shù)據(jù)庫,Android 中多媒體信息都可以從這里 提取。 第二張表 favourite 存放于自己創(chuàng)建的 數(shù)據(jù)庫中,用于存放用戶自己添加歌曲的信息 , 如表 所示。 掃描完歌曲文件后, 掃描 /SDCard/目錄下的所有以 .lrc 為后綴的 歌詞文件 并且存儲文件名和文件的絕對路徑 。 UI 通常包含圖形和文字 , 應(yīng)用界面的設(shè)計是對控件進行適當?shù)娜∩峒肮δ艿倪x擇和處理的過程(對控件進行事件監(jiān)聽)。 MIDI 音樂播放器的 每一個可視化界面,都有其的唯一的布局配置文件,該文件里面有各種布局方式 : 線性布局 ( Linear Layout) 和 相對布局 ( Relative Layout) 等 , 通過 各種資源文件如圖像,文字,顏色的引用 ,和這幾種布局的完美組合, 這樣就形成 了 MIDI播放器 不同的可視 化界面和 絢爛 的效果。 ListView android:id=+id/musiclist android:layout_height=fill_parent android:layout_width=fill_parent android:layout_marginLeft=6dp android:layout_marginRight=6dp android:cacheColorHint=00000000 android:divider=color/divider_color android:dividerHeight=1dp android:listSelector=drawable/selector_list_item android:layout_below=+id/relativeLayout1 /ListView 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文) 22 在歌曲播放列表 使用了 SlidingDrawer(滑動式抽屜)這個控件, SlidingDrawer隱藏屏外的內(nèi)容,并允許用戶通過 handle以顯示隱藏內(nèi)容 , 將播放控制界面放在了這個隱藏內(nèi)容中, 它可以垂直或水平滑動, 布局代碼實現(xiàn)如下所示。 View parent = view。 (location[0], location[1])。 int y = (int)()。 if(mTouchableIds != null){ for(int id : mTouchableIds){ 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文) 23 View view = findViewById(id)。 } } } } //抽屜行為控件 if(() == amp。 if((x, y)){//點擊抽屜控件時交由系統(tǒng)處理 { return (event)。 } } 播放控制界面設(shè)計 在 MIDI 音樂播放器界面設(shè)計中, 將播放控制界面放在了 SlidingDrawer 這個控件的隱藏內(nèi)容中,只需點擊歌曲列表界面的下方的按鈕,播放控制界面會從屏幕下方滑出也可以拖動, 也可以在此隱藏,如圖 所示。 private ArrayListMusicData setMusicDatas() { // TODO Autogenerated method stub Cursor cursor=(, musicdata, null, null, null)。 int musicTime=()。 int musicCount=()。 i++) { musicData=new MusicData()。 ((musicArtist))。 (musicData)。 } return musicDatasList。 (musicList, musicList)。 //實現(xiàn)初始化界面淡出效果 ((MiDiMusicActivity) context).finish()。 Android 數(shù)據(jù)庫存儲的位置在 data/data/項目文件夾 /databases/目錄