Android 音乐APP(四)显示专辑图片、本地数据库、自定义通知栏样式、通知栏显示(1)

android:onClick=“onClick”

android:orientation=“vertical”>

<ImageView

android:layout_width=“@dimen/dp_40”

android:layout_height=“@dimen/dp_40”

android:src=“@mipmap/icon_local” />

<TextView

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_marginTop=“@dimen/dp_8”

android:text=“本地音乐”

android:textColor=“@color/white”

android:textSize=“@dimen/sp_14” />

<TextView

android:id=“@+id/tv_local_music_num”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_marginTop=“@dimen/dp_4”

android:text=“0”

android:textColor=“@color/white_8”

android:textSize=“@dimen/sp_12” />

加了一个本地音乐的数量。这样用户可以更好的感知当前音乐有多少,而不用到LocalMusicActivity中查看了。布局有了,下面自然要改动UI了。回到MainActivity,

/**

  • 本地音乐数量

*/

private TextView tvLocalMusicNum;

然后在initData下,绑定这个控件。

在这里插入图片描述

现在这个控件可以正常使用了,重写onResume方法

@Override

protected void onResume() {

super.onResume();

BLog.d(TAG, “onResume”);

mList = LitePal.findAll(Song.class);

tvLocalMusicNum.setText(String.valueOf(mList.size()));

}

在这里显示歌曲的数量。然后可以运行测试一波,看看效果如何。

在这里插入图片描述

效果显著,下面进入下一环境,通知栏的显示。

③ 自定义通知栏样式、通知栏显示


说道后台播放,可能不了解的人觉得很难,一听头都大了,后台这两个字,一听就是要掉头发的节奏,首先不要有这样的心理,代码又不是洪荒猛兽,又不会吃了你,所以不要怕,恐惧会让你止步不前的,进而颓废。后台,相信你在了解Android的四大组件的时候就知道了,后台最多的是什么?Service,就是服务,这个东西你是看不见的,所以理解起来就没有那么容易,但是你能感觉得到。比如过放音乐,你是听到的音乐。其实放音乐对于用户来说就是禁止的,因为你看不出什么名堂,你是用听的,为了让用户知道现在正在播放音乐,就会有播放的进度条,播放的状态,这些动态效果的支撑就来源于后台的服务,比如你就拿现在这个APP来说,你现在播放一首歌,然后你点击home键回到手机桌面,音乐还是在播放的,这时候音乐就是在后台的,但是你看不见,你能听见。

说了这么多都是概念性的东西,为什么要用服务在后台播放音乐呢?音乐你播放一首歌,就是在整个APP任何地方你都要知道这个歌曲当前的状态和播放进度,针对于这个需求,用Service来实现无疑是最好的方式,没有之一。下面在com.llw.goodmusic下新建一个service包,在这里插入图片描述

然后新建一个Service。命名为MusicService。

在这里插入图片描述

点击Finish就创建完成了。我自己创建一个MusicService类然后继承Service也是一样的呀。那么我这样创建有什么好处呢?打开AndroidManifest.xml

在这里插入图片描述

可以看到,自动生成了Service的配置,就不需要我们手动再去写配置了,有的时候写代码往往会忘记这一步,通过AS来创建Service就避免了这个问题,何乐而不为呢?

现在MusicService创建好了,那么这个服务要做什么事情呢?首先要播放音乐,然后就是通知栏显示,之后才是通知栏和Activity之间的通信。

在layout下创建一个notification.xml。里面的代码如下:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值