pxf_branch
潘孝峰 2 years ago
parent 1e0555189e
commit 59f433de48

@ -0,0 +1,85 @@
[{
"articleId": 211,
"articleTitle": "晚上喝茶会影响睡眠吗?",
"articleDesc": "晚上喝茶不一定会失眠,关键看你喝什么茶,以及怎么喝。",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/66/B7/Cvtlp1rUOI6ACsLqAAJNhcvaAB0602.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=211"
}, {
"articleId": 200,
"articleTitle": "什么?你游完泳居然失眠了",
"articleDesc": "运动把整个身体都撩起来了虽然你已经很想睡了但是你的身体还HIGH着呢",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/56/46/Cvtlp1qwdjiAD5KnAAKWCh-hvgc718.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=200"
}, {
"articleId": 199,
"articleTitle": "赖床睡不着容易产生垃圾睡眠",
"articleDesc": "垃圾睡眠大多是由于现代电子产品的泛滥和快节奏的生活压力所导致",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/5E/5B/Cvtlhlqwb6SAGz3_AAC37QNGrsw952.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=199"
}, {
"articleId": 192,
"articleTitle": "如何应对剧烈运动后的肌肉酸痛",
"articleDesc": "睡眠是修复损失最好的办法之一,大量的运动过后应该给自己足够的睡眠时间。",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/58/2B/CvtlhlqfiLmABEktAAHuFkm3xKE419.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=192"
}, {
"articleId": 186,
"articleTitle": "为什么喝茶容易失眠?如何喝茶才不会失眠?",
"articleDesc": "喝茶造成失眠的原因并不是绝对的,它与饮茶的时间、饮茶量、不同茶类、不同个体情况等均有关系。",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/4C/BF/Cvtlp1qWSAWABiO4AAMxOXIyCNE762.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=186"
}, {
"articleId": 182,
"articleTitle": "什么时间睡觉最有效?",
"articleDesc": "把握有效的睡眠时间最好晚上9点钟睡觉最晚不要超过10点半",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/4F/41/Cvtlhlp4JWaAC2PnAAC37QNGrsw926.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=182"
}, {
"articleId": 180,
"articleTitle": "睡觉超过8小时会早衰5个「睡眠习惯」让你越睡越不健康",
"articleDesc": "睡眠太多或太少,都会导致大脑早衰?",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/4F/38/Cvtlhlp4Gr-Ac7hEAADQWHGflL0320.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=180"
}, {
"articleId": 176,
"articleTitle": "什么时间做运动最好?",
"articleDesc": "一般人一天有24小时固定的生理时钟按照这个生理规律从事运动或身体活动会更有效果",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/4B/C7/CvtlhlpwRiWAfu49AAHuFkm3xKE809.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=176"
}, {
"articleId": 174,
"articleTitle": "冬季赖床5分钟 有利于健康",
"articleDesc": "冬季起床更是宜慢不宜快。尤其脑供血不足、颈椎病患者和心血管疾病患者等更是要注意。",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/42/E3/Cvtlp1pu4gWAY8XoAACzPj4YCVw464.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=174"
}, {
"articleId": 214,
"articleTitle": "我来告诉你为什么有人喝咖啡竟能帮助睡眠?",
"articleDesc": "咖啡能帮助睡眠,可能吗?",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/68/FE/Cvtlp1rX83uADQYZAAJCnnZgH9o020.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=214"
}, {
"articleId": 213,
"articleTitle": "叫醒一个正在梦游的人会发生什么?",
"articleDesc": "据说叫醒正在梦游中的人会变成白痴?是真的吗?",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/70/8C/CvtlhlrWovmAKDJxAAJo-zlPQ3s775.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=213"
}, {
"articleId": 212,
"articleTitle": "失眠,就一定要吃安眠药吗?",
"articleDesc": "如何科学的服用才能达到更好的助眠效果呢?",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/70/01/CvtlhlrVhPWAWCcJAAIUEGxQJNA516.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=212"
}, {
"articleId": 211,
"articleTitle": "晚上喝茶会影响睡眠吗?",
"articleDesc": "晚上喝茶不一定会失眠,关键看你喝什么茶,以及怎么喝。",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/66/B7/Cvtlp1rUOI6ACsLqAAJNhcvaAB0602.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=211"
}, {
"articleId": 210,
"articleTitle": "失眠了?不妨试试音乐疗法",
"articleDesc": "临床实验发现,通过音乐疗法,失眠者往往能够排除心中的杂念,进入音乐的意境中,消除烦恼忧愁,睡眠质量也就提高了。",
"imgUrl": "http://fileserver1.clife.net:8080/group1/M00/6D/4A/CvtlhlrQQHiAbsInAAG95hIe_yg603.jpg",
"articleUrl": "https://cms.clife.cn/manages/series/clifeapp/page/view.html#type=2&id=210"
}]

@ -0,0 +1,181 @@
package com.example.sleep.service;
import android.app.Service;
import android.content.Intent;
import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import android.media.MediaPlayer;
import android.os.Binder;
import android.os.IBinder;
import android.widget.TextView;
import android.widget.Toast;
import java.io.IOException;
import java.util.ArrayList;
public class MediaService extends Service implements MediaPlayer.OnPreparedListener {
private static final String TAG = "MediaService";
//初始化MediaPlayer
private MediaPlayer mMediaPlayer;
private MyBinder mBinder = new MyBinder();
//标记当前歌曲的序号
private int currentPosition = 0;
//歌曲路径
private String[] musicPath;
// 用于显示歌曲标题的TextView
private TextView title;
@Override
public void onCreate() {
super.onCreate();
// 初始化音乐路径信息
musicPath = getMusic();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// 在服务因异常终止而重新创建时系统将会重新启动该服务并且保留其传递给onStartCommand的最后一个Intent
return START_STICKY;
}
/**
*
*
* @return String[]
*/
public String[] getMusic() {
AssetManager assetManager = getAssets();
String[] tmp_files = null;
try {
tmp_files = assetManager.list("");
} catch (IOException e) {
e.printStackTrace();
}
ArrayList<String> files_array = new ArrayList<>();
if (tmp_files != null) {
for (String str : tmp_files) {
if (str.endsWith(".mp3")) {
// 将以".mp3"结尾的文件名添加到列表中
files_array.add(str);
}
}
}
// 将ArrayList转换为String[]
return files_array.toArray(new String[0]);
}
/**
*
*/
private void changeMusic() {
if (currentPosition < 0) {
currentPosition = musicPath.length - 1;
} else if (currentPosition > musicPath.length - 1) {
currentPosition = 0;
}
if (mMediaPlayer == null) {
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setOnCompletionListener(new CompletionListener());
}
try {
AssetFileDescriptor fd = getAssets().openFd(musicPath[currentPosition]);
// 更新界面显示的歌曲标题
title.setText(musicPath[currentPosition].replace(".mp3", ""));
// 切歌之前先重置,释放掉之前的资源
mMediaPlayer.reset();
// 设置播放源
mMediaPlayer.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength());
// 开始播放前的准备工作,加载多媒体资源,获取相关信息
mMediaPlayer.prepare();
//开始播放
mMediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
}
private final class CompletionListener implements MediaPlayer.OnCompletionListener {
@Override
public void onCompletion(MediaPlayer mp) {
// 播放完成后自动切换到下一首音乐
++currentPosition;
changeMusic();
}
}
@Override
public IBinder onBind(Intent intent) {
// 返回用于和Activity通信的Binder对象
return mBinder;
}
@Override
public boolean onUnbind(Intent intent) {
return super.onUnbind(intent);
}
@Override
public void onPrepared(MediaPlayer mp) {
try {
// 开始播放
mp.start();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* ActivityBinder
*/
public class MyBinder extends Binder {
// 播放音乐
public void playMusic() {
changeMusic();
}
// 暂停
public void pauseMusic() {
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.pause();
}
}
// 下一首
public void nextMusic() {
if (mMediaPlayer != null && musicPath.length != 0) {
currentPosition += 1;
changeMusic();
} else {
Toast.makeText(getApplicationContext(), "未找到音乐", Toast.LENGTH_SHORT).show();
}
}
// 上一首
public void previousMusic() {
if (mMediaPlayer != null && musicPath.length != 0) {
currentPosition -= 1;
changeMusic();
} else {
Toast.makeText(getApplicationContext(), "未找到音乐", Toast.LENGTH_SHORT).show();
}
}
// 关闭播放器
public void closeMedia() {
if (mMediaPlayer != null) {
mMediaPlayer.stop();
mMediaPlayer.release();
}
}
public void getMusicTitle(TextView musicTitle) {
// 获取用于显示歌曲标题的TextView
title = musicTitle;
}
}
@Override
public void onDestroy() {
super.onDestroy();
}
}

@ -0,0 +1,66 @@
package com.example.sleep.service;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.support.annotation.Nullable;
import com.example.sleep.R;
/**
*
*/
public class PlayerMusicService extends Service {
// 媒体播放器对象
private MediaPlayer mMediaPlayer;
@Nullable
@Override
public IBinder onBind(Intent intent) {
// 返回空,表示不支持绑定操作
return null;
}
@Override
public void onCreate() {
super.onCreate();
// 创建媒体播放器并加载指定音频文件
mMediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.silent);
// 设置音乐循环播放
mMediaPlayer.setLooping(true);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
new Thread(new Runnable() {
@Override
public void run() {
// 在新线程中启动音乐播放
startPlayMusic();
}
}).start();
// 当服务被异常杀死后会自动重启并且在重启后会保留传递的Intent
return START_STICKY;
}
private void startPlayMusic() {
if (mMediaPlayer != null) {
// 开始播放音乐
mMediaPlayer.start();
}
}
private void stopPlayMusic() {
if (mMediaPlayer != null) {
// 停止播放音乐
mMediaPlayer.stop();
}
}
@Override
public void onDestroy() {
super.onDestroy();
stopPlayMusic();
}
}
Loading…
Cancel
Save