日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

安卓MP3播放器开发实例(1)之音乐列表界面

發(fā)布時間:2025/5/22 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓MP3播放器开发实例(1)之音乐列表界面 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? ? ? 學(xué)習(xí)安卓開發(fā)有一年了,想想這一年的努力,確實也收獲了不少。也找到了比較如意的工作。

今天準(zhǔn)備分享一個以前在初學(xué)階段練習(xí)的一個項目。通過這個項目我真正的找到了開發(fā)安卓軟件的感覺,從此逐漸步入安卓開發(fā)的正規(guī)。這個項目是當(dāng)時借鑒Mars老師的初學(xué)視頻做的安州手機的MP3播放器。自己又進行了改進,特別在歌詞的優(yōu)化和加入進度條方面的。因為是8個月前做的,水平非常0基礎(chǔ),bug應(yīng)該非常多,如今自己又懶得再一次改進,僅僅希望可以給初學(xué)的朋友們提供一些幫助。或者起到拋磚引玉的效果。那我就心愜意足了。

? ? ? ? 先整體介紹下這個MP3播放器。非常easy,首先是本地列表頁面(界面非常low,大家不要笑):

? ? ? ?

? ? ? 列表左邊是歌曲名,右邊是對應(yīng)的歌曲大小(字節(jié))。

??

? ?

? ? ? 點擊一首歌曲,進入播放頁面,就能夠播放、暫停和停止音樂。任意調(diào)整進度條調(diào)整歌曲播放的進度,歌詞也相應(yīng)調(diào)整:

? ? ??


? ? ? 首先從本地音樂列表入手來談,比較簡單先看代碼:

? ? ? ?

import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List;import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.Toast;public class LocalMp3Activity extends ListActivity{List<MP3Info> mp3Infos = null;SimpleAdapter simpleAdapter = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.localmp3);}/*** 每次啟動本地列表頁面又一次加載本地MP3*/@Overrideprotected void onResume() {FileUtil fileutil = new FileUtil();mp3Infos = fileutil.getMp3("mp3/");// for (Iterator iterator = mp3Infos.iterator(); iterator.hasNext();) {/ // MP3Info mp3Info = (MP3Info) iterator.next(); // Log.d("yinan", "LocalMp3Activity--------"+mp3Info.toString()); // }if(mp3Infos.size() == 0){Toast.makeText(this, "沒有本地音樂", 0).show();simpleAdapter = buildAdapter(mp3Infos);setListAdapter(simpleAdapter);}else{simpleAdapter = buildAdapter(mp3Infos);setListAdapter(simpleAdapter);}super.onResume();}/*** 封裝了ListView的適配器* @param mp3Infos* @return*/private SimpleAdapter buildAdapter(List<MP3Info> mp3Infos){List<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();for (Iterator iterator = mp3Infos.iterator(); iterator.hasNext();) {MP3Info mp3Info = (MP3Info)iterator.next();HashMap<String,String> map = new HashMap<String,String>();map.put("mp3_name", mp3Info.getMp3Name());map.put("mp3_size", mp3Info.getMp3Size());list.add(map);}SimpleAdapter simpleAdapter = new SimpleAdapter(this,list,R.layout.locallist,new String[]{"mp3_name","mp3_size"},new int[]{R.id.mp3_name,R.id.mp3_size});return simpleAdapter;}/*** 實現(xiàn)ListView的列表點擊事件*/@Overrideprotected void onListItemClick(ListView l, View v, int position, long id) {if(mp3Infos != null){MP3Info mp3Info = mp3Infos.get(position);Intent intent = new Intent();intent.putExtra("mp3Info", mp3Info);intent.setClass(this, PlayActivity.class);startActivity(intent);}}}

? ? ? 看到加載本地MP3這里有一個FileUtil類,是這個程序處理文件的類,看看getMp3方法怎樣實現(xiàn):

? ? ?

/**獲取手機sd卡文件夾下path文件夾下的以“MP3”為后綴的文件,返回mp3文件集合* 不僅獲得了歌曲文件名稱,還獲得了相應(yīng)的歌詞文件名稱* @param path* @return*/public List<MP3Info> getMp3(String path){List<MP3Info> mp3Infos = new ArrayList<MP3Info>();//File f = new File(SDPATH+"/"+path);File[] files = f.listFiles();for (int i = 0; i < files.length; i++) {//獲取名字包括mp3字樣的文件if(files[i].getName().indexOf("mp3")>0){MP3Info mp3Info = new MP3Info();mp3Info.setMp3Name(files[i].getName());mp3Info.setMp3Size(files[i].length()+"");//以.為標(biāo)志將文件名稱分開。存入字符串?dāng)?shù)組String s[] = mp3Info.getMp3Name().split("\\.");String lrcName = s[0]+".lrc";mp3Info.setLrcName(lrcName);mp3Infos.add(mp3Info);}}//}return mp3Infos;} }? ? ? 當(dāng)中 ??String SDPATH ?= Environment.getExternalStorageDirectory() + "";

? ? 每次進入本地列表,都會調(diào)用Activity的onResume方法。隨后載入全部本地MP3歌曲的信息。然后通過一個SimpleAdapter,將MP3的信息顯示出來。最后為列表加入了點擊事件。該點擊事件是點擊某歌曲進入播放列表的事件。

? ? ?好了。第一部分很easy,第二部分我們再來看關(guān)于音樂播放部分。

總結(jié)

以上是生活随笔為你收集整理的安卓MP3播放器开发实例(1)之音乐列表界面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。