音乐播放器widget 补充
[功能]
在 音乐播放器widget 前传 后传 有一些没讲清楚 所以打算再开辟 专门说一下
1. Bundle 复用
2. BroadcastReceiver 复用
[前提]
1. 现有一BroadcastReceiver:class MessageListenerHelper extends BroadcastReceiver 实现如下:
public class MessageListenerHelper extends BroadcastReceiver {
Context context;
MessageListenerHelper listener;
//construct
public MessageListenerHelper(Context c){
context = c;
//to instance it
listener = this;
}
public void registerAction(String action){
IntentFilter filter = new IntentFilter();
filter.addAction(action);
context.registerReceiver(listener,filter);
}
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
}
}
写道
补充:
其 onReceive() 没有实现 将在具体情况中分别实现之
以下就2点予以说明:
[Bundle 复用]
1. 注册MessageListenerHelper
MessageListenerHelper listener = new MessageListenerHelper(this);
listener.registerAction("Broadcast_MessageListwener");
2. 发生某Broadcast
public void sendMessageText(String s){
Intent i = new Intent(BroadcastColumn.BROADCAST_TaskB);
Bundle b = new Bundle();
b.putString("Message_Text", s);
i.putExtras(b);
sendBroadcast(i);
}
3. 实现onReceive() 并对具体消息做判断
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Bundle b = arg1.getExtras();
if(b.containsKey("Message_Text")){
String string = b.getString("Message_Text");
Log.d("TAG",string);
}
}
4. 如此就实现了Bundle 复用
[Broadcast 复用]
1. 注册MessageListenerHelper
MessageListenerHelper listener = new MessageListenerHelper(this);
listener.registerAction("Broadcast_MessageListener_1");
MessageListenerHelper listener2 = new MessageListenerHelper(this);
listener2.registerAction(Broadcast_MessageListener_2);
2. 发生某Broadca
public void sendMessage1(String b,String key, String value){
Intent i = new Intent(b);
Bundle b = new Bundle();
b.putString(key, value);
i.putExtras(b);
sendBroadcast(i);
}
3. 实现onReceive() 并对具体Broadcast 做判断
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
if(arg1.getAction().endsWith("Broadcast_MessageListener_1")){
Bundle b = arg1.getExtras();
if(b.containsKey("Message_Text_1")){
String string = b.getString("Message_Text_1");
Log.d("TAG",string);
}
}
else if(arg1.getAction().endsWith("Broadcast_MessageListener_2")){
Bundle b = arg1.getExtras();
if(b.containsKey("Message_Text_2")){
String string = b.getString("Message_Text_2");
Log.d("TAG",string);
}
}
}
4. 此为Broadcast 复用
补充:
1. 其实除了在widget中 必须用 Broadcast复用外 二者都可以使用 具体用那个 视情况而定
2. 因为Broadcast复用中 需要new 2 次 所以推荐 尽量用 Bundle 复用 仅限个人意见
分享到:
相关推荐
安卓优雅音乐播放器,带widget
优雅音乐播放器是一款精心设计的音乐应用,其特色在于它带有Widget功能,模仿了MIUI系统中的音乐播放器界面,提供了美观且用户友好的体验。Widget在安卓系统中是一种小型的应用程序视图,可以直接在主屏幕上显示,让...
Android音乐播放器项目(含Widget小挂件、Notification通知栏)代码详解博客:https://blog.csdn.net/jal517486222/article/details/88994863
可以通过桌面Widget控制后台音乐的播放,也可以点击Widget上面的LOGO进入应用程序。 涉及到了,一个基本的widget程序的大部分知识点,包括widget和service如何交换数据,service如何利用RemoteView来控制widget上的...
在Android平台上,开发一款桌面音乐播放器Widget是一个有趣且实用的实践项目。本文将深入解析如何利用Android的App Widget API创建一个能够在用户桌面运行并控制音乐播放的应用组件。通过源码分析,我们可以学习到...
在WordPress的众多插件中,Aplayer是一款设计精美的音乐播放器插件,深受许多网站管理员的喜爱。它为用户提供了丰富的自定义选项和流畅的听觉体验,使得音乐与网站内容完美融合。本文将深入探讨Aplayer插件的特性、...
【基于Eclipse音乐播放器开发】是一个项目,旨在利用Eclipse这一流行的Java集成开发环境(IDE)构建一个简单的音乐播放器。Eclipse以其强大的插件系统和灵活性在软件开发领域广受欢迎,尤其对于Java开发者来说,它是...
Android 编写与酷狗音乐极像的音乐播放器源代码,这个播放器的名字叫做百纳音乐播放器,界面写的挺不错,功能都有,不过没有酷狗多,在本程序的编写中,获得widget界面的引用,widget只能通过RemoteView改变界面,不...
在音乐播放器中,Widget可以包含播放/暂停、上一首/下一首等快捷控制按钮,让用户可以直接在桌面管理音乐播放。 4. **媒体播放框架**:Android提供了Media Player类和ExoPlayer库,用于处理音频和视频的播放。音乐...
对于音乐播放状态的显示,我们可以使用通知栏通知或者Widget来提供便捷的控制。 文件名为"Player"的可能是一个主Activity或者服务的类文件。在这个类中,我们将实现与用户交互的逻辑,如点击事件处理,歌曲选择和...
在Android平台上开发一款音乐播放器是一项常见的编程任务,尤其适合初学者进行实践。这款"android音乐播放器"项目旨在帮助开发者了解如何在Android系统中搜索、管理并播放本地音乐文件。下面将详细介绍该项目中的...
Java音乐播放器是一款基于Java编程语言开发的简单音乐播放软件,它允许用户在计算机上播放音频文件。这个项目对于初学者来说是一个很好的实践项目,因为它涉及到许多基础的Java编程概念和一些特定的库,如Java Media...
### Qt制作音乐播放器流程详解 #### 一、前言 在现代软件开发领域,多媒体应用占据了重要地位,其中音乐播放器是用户接触最频繁的应用之一。Qt作为一款跨平台的C++图形用户界面库,提供了强大的功能来帮助开发者...
迷你音乐播放器是一种轻量级的在线音频播放解决方案,它利用了HTML5的先进特性,为用户提供了一种简单而直观的方式来享受音乐。HTML5作为现代网页开发的核心技术之一,其在多媒体处理方面的能力大大增强了互联网的...
在Qt中,`QWidget`是所有用户界面组件的基础,这里可能是自定义了一个`Widget`类,用于构建音乐播放器的UI,如播放/暂停按钮、音量控制、进度条、歌曲列表等。`widget.ui`是使用Qt Designer创建的用户界面的XML描述...
根据给定的文件信息,我们可以深入探讨安卓音乐播放器的开发关键知识点,涵盖XML资源文件的应用、UI设计原则以及音频播放的基本实现。 ### XML资源文件的重要性 在安卓开发中,XML资源文件扮演着至关重要的角色,...
《基于Flutter的高颜值第三方网易云音乐播放器源码解析》 Flutter,作为谷歌推出的开源UI框架,以其高效、跨平台、丰富的自定义能力以及出色的性能表现,深受开发者喜爱。本篇文章将深入探讨一个基于Flutter构建的...
Apollo音乐播放器是国外著名固件团队CM所推出的一款音乐应用,作为CM系列ROM的默认播放器,界面简洁,左右滑动可以切换不同的歌曲筛选,支持各种主题切换,支持锁屏状态下的widget,包括Android4.2,此版本首次在...
【标题】"基于flutter的仿网易云音乐播放器"是一个开源项目,它的核心是使用Flutter框架来构建一个类似于网易云音乐的应用程序。Flutter是Google推出的一款用于开发跨平台(包括iOS和Android)移动应用的开源UI工具...
在安卓平台上开发一款音乐播放器时,歌词同步显示是一个重要的功能。这个压缩包文件提供了一个示例,展示了如何实现歌词始终显示在屏幕顶部,并且允许用户通过点击和上下拖动来浏览歌词。以下是对这个功能的详细解释...