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
没有合适的资源?快使用搜索试试~ 我知道了~
大学生毕业设计音乐播放器模型项目-MusicPlayer.zip
共291个文件
java:143个
xml:78个
png:54个
需积分: 0 3 下载量 42 浏览量
2023-11-07
21:01:50
上传
评论
收藏 878KB ZIP 举报
温馨提示
大学生毕业设计音乐播放器模型项目-MusicPlayer
资源推荐
资源详情
资源评论
收起资源包目录
大学生毕业设计音乐播放器模型项目-MusicPlayer.zip (291个子文件)
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
共 291 条
- 1
- 2
- 3
资源评论
武昌库里写JAVA
- 粉丝: 3136
- 资源: 1872
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功