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

正文內(nèi)容

基于android的音樂(lè)播放器(參考版)

2025-07-01 01:02本頁(yè)面
  

【正文】 當(dāng)然也有些還需待繼續(xù)深入地方如:歌曲方面的問(wèn)題等等。我們?cè)谥珠_(kāi)發(fā)之前不要急于編程,先應(yīng)有較長(zhǎng)的時(shí)間去把分析做好,寫出相關(guān)的開(kāi)發(fā)文檔等。通過(guò)開(kāi)發(fā)本系統(tǒng),我較全面的掌握了android基本知識(shí)和編程技巧,并在開(kāi)發(fā)過(guò)程中我的java開(kāi)發(fā)能力得到了進(jìn)一步的提高。在此特別感謝指導(dǎo)老師的大力幫助。9. 因?yàn)樽约簩?duì)Android的掌握不是很好,播放器不夠完善,有些地方還有些不合理的地方,比如歌詞方面,這需要改善,有待以后去加強(qiáng)。7. 通過(guò)對(duì)Android手機(jī)平臺(tái)的音樂(lè)播放器的開(kāi)發(fā),使我對(duì)Android系統(tǒng)從零進(jìn)入到了一個(gè)比較高的層次的了解,Android功能是如此強(qiáng)大,令人不得不佩服。6. 由于時(shí)間倉(cāng)促,本次設(shè)計(jì)由我完成本系統(tǒng)的制作,對(duì)我這樣一個(gè)JSP新手而言所制作的模塊還有不完善的地方。4. 本次開(kāi)發(fā),我參考了很多本系統(tǒng)的例子,吸取了一些別的本系統(tǒng)的長(zhǎng)處,對(duì)自己的畢業(yè)設(shè)計(jì)進(jìn)行了完善,但是還有很多的不足之處,有待以后進(jìn)一步學(xué)習(xí)。不過(guò)由于經(jīng)驗(yàn)不足,我設(shè)計(jì)的圖形界面比較簡(jiǎn)單。2. 一個(gè)系統(tǒng)的開(kāi)發(fā),經(jīng)驗(yàn)是最重要的,經(jīng)驗(yàn)不足,就難免會(huì)有許多考慮不周之處。另外,在Android中各個(gè)應(yīng)用程序組件之間是相互獨(dú)立的,彼此的數(shù)據(jù)不能共享。在播放器正常運(yùn)行時(shí),由于各界面存在相互跳轉(zhuǎn),為了避免數(shù)據(jù)在界面跳轉(zhuǎn)的過(guò)程中丟失,我們需要將一些數(shù)據(jù)進(jìn)行臨時(shí)存儲(chǔ)或者永久存儲(chǔ)。 }}//將文件路徑顯示在界面中 setListAdapter(new MusicAdapter(this, items))。 for (File file : files) { if (()) { if ((().indexOf(/sdcard)) != 1 || (().indexOf(/system)) != 1) (())。算法如下: items = new ArrayListString()。文件瀏覽器是用遞歸算法實(shí)現(xiàn)的,方法fillWithRoot() 是返回根目錄的列表。該文件全路徑被存放到數(shù)據(jù)庫(kù)中,以便歌曲播放能查詢到歌曲路徑源該ListView實(shí)現(xiàn)了自動(dòng)判斷的功能,即程序可以通過(guò)訪問(wèn)擴(kuò)展卡中的文件屬性而自動(dòng)識(shí)別文件屬性。 文件瀏覽器功能實(shí)現(xiàn)程序中,文件瀏覽器類為FileExplorerActivity繼承了ListActivity,此Activity是一個(gè)ListView界面。當(dāng)要添加選中的歌曲時(shí),程序有自動(dòng)判斷功能,首先彈出Dialog。該目錄會(huì)顯示system下的各級(jí)子目錄。播放器只需要用到媒體文件,所以代碼也屏蔽了其它文件的子目錄。 圖451 圖452文件瀏覽器界面布局格式類似上面介紹的菜單,只是在界面的第一行新增了一個(gè)返回根目錄的功能。所以功能比較局限。程序?qū)崿F(xiàn)了文件瀏覽器的功能,作為一個(gè)文件瀏覽器,應(yīng)該具有瀏覽的功能,當(dāng)程序運(yùn)行到瀏覽界面時(shí),會(huì)有各文件的目錄顯示及圖標(biāo)標(biāo)識(shí)。此方法當(dāng)該標(biāo)記不存在時(shí)會(huì)默認(rèn)返回一個(gè)null值。如下圖:(2).xml配置文件的讀取 我們?nèi)砸圆シ拍J阶x取為例:當(dāng)需要用到播放模式的確定時(shí),同樣用共享文件類SharedPreferences 通過(guò)用方法getSharedPreferences(SET_MSG,MODE_WORLD_READABLE)。然后對(duì)象editor可以存入一個(gè)HashMapkey,values類型的鍵值,即putString(KEY, VALUES),這樣,我們可以將List中的對(duì)象轉(zhuǎn)化成一樣長(zhǎng)的字符中放進(jìn)配置文件中. 當(dāng)寫入成功時(shí),android系統(tǒng)會(huì)自動(dòng)在目錄data/data/工程包名/shared_prefs/目錄下生成一個(gè)配置文件如(圖443)圖443,文件中是以map的形式存儲(chǔ)。由于歌曲在播放時(shí)會(huì)存在界面之間的跳轉(zhuǎn),所以歌詞必須固定存放在一個(gè)文件中,而不能作為一個(gè)對(duì)象,因此,我們將兩個(gè)時(shí)間List和歌詞List再寫進(jìn)一個(gè)配置文件中. Android提供給我們一個(gè)共享文件的類SharedPreferences。由于我們要分別存放時(shí)間和歌詞,所以我們應(yīng)該定義兩個(gè)ListString容器來(lái)存放時(shí)間和歌詞。(1).xml配置文件的存儲(chǔ) Android系統(tǒng)目錄結(jié)構(gòu)如下圖:圖 442 我們可以看到一個(gè)目錄為sdcard ,該目錄即為擴(kuò)展卡,我們定義一個(gè)BufferedReader buffer=new BufferedReader(new FileReader(new File(/sdcard/+ musicName + .lrc)))。如下圖所示:圖441。 :?xml version= encoding=utf8? LinearLayout RadioGroup RadioButton /RadioButton RadioButton /RadioButton RadioButton /RadioButton /RadioGroup /LinearLayoutToggleButton/AbsoluteLayout ImageButton/ ImageButton/ /AbsoluteLayout最外層的LinearLayout里面嵌套多層LineaLayout,子LinearLayout里面嵌套著單選按鈕RatioGroup 和開(kāi)關(guān)按鈕ToggleButton。 startActivity(intent)。 (uri, where, selectionArgs)。 String where = fileName=?。通過(guò)歌曲名字刪歌曲,算法如下:del_One(String musicName) {ContentResolver cr = getContentResolver()。設(shè)置功能:點(diǎn)擊后事件觸發(fā),進(jìn)入到播放設(shè)置列表。從數(shù)據(jù)庫(kù)中刪除選中的歌曲。新增功能:點(diǎn)擊后事件觸發(fā),進(jìn)入到SDCard中,進(jìn)行歌曲添加選擇。播放功能:點(diǎn)擊后事件觸發(fā),傳入歌曲名字,讓程序操作該名字進(jìn)行播放。菜單有6個(gè)功能:播放,詳細(xì),新增,移除,全部移除,設(shè)置。}ListAdapter每一行都是一個(gè)LineaLayout布局,水平放置一個(gè)圖片一個(gè)String。 = (ImageView) ()。 View getView(int position, View convertView, ViewGroup parent) { convertView = (, null)。()。 (全部移除)。 (新增)。(播放)。 該 Dialog上有兩個(gè)菜單選項(xiàng),第一個(gè)為“從SD卡”,點(diǎn)擊會(huì)跳轉(zhuǎn)到SDca
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1