Android第三次作业
功能:
实现本地音乐的搜索展示,暂停、播放、上一曲、下一曲等功能,并显示歌曲列表。
界面截图:
核心代码:
Cursor cursor = this.getContentResolver().query(//调用Cursor函数,遍历设备内存,寻找音频文件 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
第三方apk需要开启存储权限的,apk自身并没有请求开启存储权限的,只需要在Activity中校验权限即可。
首先在manifest中加上SD卡权限
由于Android6.0版本及以上,为了安全,需自己申请权限,
所以在manifest添加SD卡权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在Activity中添加权限检验
public static void verifyStoragePermissions(Activity activity) { int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION); if (permission != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE); } }
播放、暂停
play_button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(!binder.isPlay()){ binder.play(); play_button.setBackgroundResource(R.mipmap.stop); }else { binder.stop(); play_button.setBackgroundResource(R.mipmap.play); } } });
上一曲,
last_button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { binder.playLast(); } });
下一曲
next_button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { binder.playNext(); } });
GIF地址:https://coding.net/u/mozhileixi/p/1600802041/git/raw/master/Screen%20Record_2019-01-03-17-28-07.gif
代码地址:https://git.coding.net/mozhileixi/1600802041.git
app地址:https://coding.net/u/mozhileixi/p/1600802041/git/raw/master/app/release/app-release.apk