package com.ellen.musicplayer.ui.activity;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.ViewPager;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.content.pm.ActivityInfo;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.ellen.musicplayer.App;
import com.ellen.musicplayer.MessageTag;
import com.ellen.musicplayer.R;
import com.ellen.musicplayer.adapter.MenuAdapter;
import com.ellen.musicplayer.bean.DinShiBean;
import com.ellen.musicplayer.bean.Menu;
import com.ellen.musicplayer.bean.PiFu;
import com.ellen.musicplayer.service.DinShiService;
import com.ellen.musicplayer.ui.dialog.CloseAppDialog;
import com.ellen.musicplayer.ui.dialog.CommonOkCancelDialog;
import com.ellen.musicplayer.ui.dialog.DeveloperDialog;
import com.ellen.musicplayer.ui.dialog.DinShiDialog;
import com.ellen.musicplayer.ui.dialog.PlayListDialog;
import com.ellen.musicplayer.manager.pifu.PiFuManager;
import com.ellen.musicplayer.message.MusicPlay;
import com.ellen.musicplayer.message.PiFuMessage;
import com.ellen.musicplayer.ui.fragment.LocalFragment;
import com.ellen.musicplayer.ui.fragment.SortFragment;
import com.ellen.musicplayer.manager.mediaplayer.MediaPlayerManager;
import com.ellen.musicplayer.notification.MusicNotification;
import com.ellen.musicplayer.utils.PermissionUtils;
import com.ellen.musicplayer.utils.TimeUtils;
import com.ellen.musicplayer.utils.ToastUtils;
import com.ellen.musicplayer.utils.statusutil.StatusUtils;
import com.ellen.supermessagelibrary.BaseEvent;
import com.ellen.supermessagelibrary.MessageEventTrigger;
import com.ellen.supermessagelibrary.MessageManager;
import com.ellen.supermessagelibrary.SuperMessage;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TextView tvTabOne, tvTabTwo, tvMusicName, tvSingerName;
private ViewPager viewPager;
private List<Fragment> fragmentList;
private DrawerLayout drawerLayout;
private ImageView ivUser, ivSerach, ivPlayerIcon;
private ImageView ivPlayerBg, ivPlayerPause, ivPlayerList;
private IntentFilter intentFilterPause, intentFilterNext;
private RelativeLayout rlPlayerMb;
private ImageView ivPiFu;
private PermissionUtils permissionUtils;
private RelativeLayout rl;
private MusicNotification musicNotification;
private BaseEvent dinShiBaseEvent;
private MyServiceConncetion myServiceConncetion;
private LinearLayout llExit;
private Handler handler = new Handler();
private TextView tvDinShiTime;
private LinearLayout llPiFu,llDinShi,llDeveloper;
/**
* 取代EventBus
*/
private BaseEvent musicEvent, piFuEvent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置无ActionBar效果
StatusUtils.setNoActionBar(this);
StatusUtils.setTranslucentStatus(this);
setContentView(R.layout.activity_main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
initView();
initData();
}
private void initData() {
dinShiBaseEvent = new MessageEventTrigger() {
@Override
public void handleMessage(SuperMessage message) {
DinShiBean dinShiBean = (DinShiBean) message.object;
if(dinShiBean.isComplete()) {
handler.post(new Runnable() {
@Override
public void run() {
tvDinShiTime.setVisibility(View.GONE);
App app = (App) getApplication();
if(app.isAppActive()) {
CloseAppDialog closeAppDialog = new CloseAppDialog(System.currentTimeMillis(), new CloseAppDialog.Callback() {
@Override
public void ok() {
}
@Override
public void stop() {
if (MediaPlayerManager.getInstance().checkCanPlay()) {
MediaPlayerManager.getInstance().pause();
}
}
@Override
public void cancel() {
ToastUtils.toast(app.getActivity(), "退出定时停止播放成功!");
}
});
AppCompatActivity appCompatActivity = (AppCompatActivity) app.getActivity();
closeAppDialog.show(appCompatActivity.getSupportFragmentManager(), "");
}else {
if (MediaPlayerManager.getInstance().checkCanPlay()) {
MediaPlayerManager.getInstance().pause();
}
}
if (myServiceConncetion != null) {
unbindService(myServiceConncetion);
myServiceConncetion = null;
}
}
});
}else {
tvDinShiTime.setVisibility(View.VISIBLE);
tvDinShiTime.setText(TimeUtils.format((dinShiBean.getTime())));
}
}
@Override
public FragmentActivity bindActivity() {
return MainActivity.this;
}
};
MessageManager.getInstance().registerMessageEvent(MessageTag.DIN_SHI_COMPLETE,dinShiBaseEvent);
updatePiFu(PiFuManager.getInstance().getPiFu());
//走马灯设置
tvMusicName.setSelected(true);
//tvSingerName.setSelected(true);
permissionUtils = new PermissionUtils(this);
permissionUtils.startCheckFileReadWritePermission(0, new PermissionUtils.PermissionCallback() {
@Override
public void success() {
fragmentList = new ArrayList<>();
fragmentList.add(new SortFragment());
fragmentList.add(new LocalFragment());
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@NonNull
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public int getCount() {
return 2;
}
});
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计音乐播放器模型项目.zip
共292个文件
java:143个
xml:78个
png:54个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 62 浏览量
2023-08-06
12:15:50
上传
评论
收藏 878KB ZIP 举报
温馨提示
毕业设计音乐播放器模型项目.zip
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计音乐播放器模型项目.zip (292个子文件)
gradlew.bat 2KB
.gitignore 214B
.gitignore 7B
build.gradle 2KB
build.gradle 598B
settings.gradle 46B
gradlew 5KB
gradle-wrapper.jar 53KB
MainActivity.java 21KB
SystemBarTintManager.java 19KB
PlayActivity.java 18KB
ManyChooseActivity.java 14KB
SQLManager.java 13KB
SortFragment.java 13KB
MediaPlayerManager.java 12KB
BaseApplication.java 11KB
PiFuSettingActivity.java 10KB
LocalSDMusicUtils.java 10KB
BaseSingleRecyclerViewAdapter.java 10KB
StatusUtils.java 9KB
MusicMessageDialog.java 8KB
BaseMediaPlayerActivity.java 8KB
ShareUtils.java 7KB
PlayListDialog.java 7KB
SerachDanQuFragment.java 7KB
DanQuFragment.java 6KB
UriUtils.java 6KB
SerachGeDanFragment.java 6KB
LikeActivity.java 6KB
BasePopwindow.java 6KB
SerachActivity.java 6KB
GeDanActivity.java 6KB
CreateGeDanDialog.java 5KB
BaseNotification.java 5KB
App.java 5KB
Music.java 5KB
AddToGeDanDialog.java 5KB
SerachSingerFragment.java 4KB
MusicAdapter.java 4KB
SerachZhuanJiFragment.java 4KB
SortActivity.java 4KB
ContentProviderUtils.java 4KB
PermissionUtils.java 4KB
SerachMusicAdapter.java 4KB
GeDanManagerActivity.java 4KB
PinYinUtil.java 4KB
AllNearFragment.java 4KB
MusicBitmap.java 4KB
DinShiService.java 4KB
OneZhouNearFragment.java 4KB
NearDateMusicAdapter.java 4KB
GeDanManagerDialog.java 4KB
SingerFragment.java 4KB
OSUtils.java 3KB
GeDanManagerAdapter.java 3KB
BannerAdapter.java 3KB
NearTimesMusicAdapter.java 3KB
CloseAppDialog.java 3KB
SplashActivity.java 3KB
SingerAdapter.java 3KB
ZhuanJiAdapter.java 3KB
PlayMusicAdapter.java 3KB
BaseDialog.java 3KB
ManyChooseAdapter.java 3KB
FileFragment.java 3KB
ZhuanJiFragment.java 3KB
GeDanAdapter.java 3KB
MusicNotification.java 3KB
XCRoundRectImageView.java 3KB
SaveStatusFragmentPagerAdapter.java 3KB
PiFuSelectorAdapter.java 3KB
YuanJiaoImageView.java 3KB
CollectionUtils.java 2KB
BaseFloatingView.java 2KB
LiuPaiAdapter.java 2KB
BaseDialogFragment.java 2KB
FileMusicAdapter.java 2KB
NearMusicActivity.java 2KB
MenuAdapter.java 2KB
GaoShiUtils.java 2KB
BaseListViewAdapter.java 2KB
BaseFragment.java 2KB
SelectorSingerDialog.java 2KB
BaseActivity.java 2KB
MusicLocalMessageDilaog.java 2KB
DinShiDialog.java 2KB
BaseMultipleRecyclerViewAdapter.java 2KB
LocalFragment.java 2KB
CommonOkCancelDialog.java 2KB
LeiBieDialog.java 2KB
JumpSortUtils.java 2KB
GeDanMusicTable.java 2KB
NearMusicTable.java 2KB
BaseBottomPopWindow.java 2KB
MusicMessageMenuAdapter.java 2KB
AppLifeListener.java 2KB
MMKVHelper.java 2KB
LinShenUtils.java 2KB
GeDanTable.java 2KB
ManySelectorMusicDialog.java 2KB
共 292 条
- 1
- 2
- 3
资源评论
AbelZ_01
- 粉丝: 875
- 资源: 5441
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于串口通信的光通信上位机,包括运动控制和通信协议
- 串口与以太网文件传送协议(或自定义控制协议)
- Qt开发windows系统安装教程与代码实例.txt
- QT6实现的附带文件传输协议的串口终端
- 一个串口通讯类和调用Demo 通过设置串口、设置串口自定义协议,可方便对串口发送数据与接收数据
- 华为OD模拟题及参考答案.仅供学习和模拟考试使用
- stm32f103c8t6基于modbus协议和使用串口读取温湿度
- 英雄联盟LOL金克斯4K电脑壁纸
- Microbrain道闸产品上位机,以MahApps库为基础搭建界面,集成了串口(UART)、CAN、WIFI通信,十六进制协议
- Android串口通讯, 支持发送数据回调, 支持并发处理, 自定义协议, CRC校验, 自动粘包, 自动去除冗余的干扰数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功