我正在研究NotificationManager,但我无法理解构建器的用途。
Notification n = new Notification.Builder(this)
答案 0 :(得分:1)
Builder不是特定于Android环境的东西,因为它是design pattern。 Notification
类恰好使用了这种模式。
正如您在Notification
docs上看到的那样:
添加了Notification.Builder以便于构建 通知。
这就是Builder的意义所在。 让事情变得更轻松。
这种模式的唯一目的是将复杂对象的构造与其表示分开。正如oopaterns website所述:
此模式允许客户端对象通过仅指定其类型和内容来构造复杂对象,并屏蔽与对象表示相关的详细信息。
因此,不是调用具有大量参数的构造函数,而是创建构建器,并使用所需的参数对其进行微调,然后调用build()
方法来创建所需的对象。
当您拥有预定义的对象模板时,它也会有所帮助,您可以使用构建器模式来实例化此类对象,而无需将参数传递给它。
您可以在this tutorial上了解更多相关信息。
答案 1 :(得分:0)
构建器是一种用于创建特定对象(Notification,AudioFocusRequest等)的模式,因此请尝试按以下步骤逐步构建通知。
Notification noti = new Notification.Builder(mContext)
.setContentTitle("New mail from " + sender.toString())
.setContentText(subject)
.setSmallIcon(R.drawable.new_mail)
.setLargeIcon(aBitmap)
.build();
关于Builder:-https://www.tutorialspoint.com/design_pattern/builder_pattern.htm
关于Notification.Builder:- https://developer.android.com/reference/android/app/Notification.Builder