冲刺day6
今天开始完善service层了,预计两天完成
AlarmService.java
package timeline.lizimumu.com.t.service; import android.app.IntentService; import android.content.Intent; import androidx.annotation.Nullable; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Locale; import timeline.lizimumu.com.t.data.AppItem; import timeline.lizimumu.com.t.data.DataManager; import timeline.lizimumu.com.t.data.HistoryItem; import timeline.lizimumu.com.t.db.DbHistoryExecutor; import timeline.lizimumu.com.t.log.FileLogManager; import timeline.lizimumu.com.t.util.AlarmUtil; import timeline.lizimumu.com.t.util.AppUtil; public class AlarmService extends IntentService { private static final String ALARM_SERVICE_NAME = "alarm.service"; public AlarmService() { super(ALARM_SERVICE_NAME); } @Override protected void onHandleIntent(@Nullable Intent intent) { DataManager manager = DataManager.getInstance(); List<AppItem> items = manager.getApps(this.getApplicationContext(), 0, 1); for (AppItem item : items) { HistoryItem historyItem = new HistoryItem(); historyItem.mName = item.mName; historyItem.mPackageName = item.mPackageName; historyItem.mMobileTraffic = item.mMobile; historyItem.mIsSystem = AppUtil.isSystemApp(getPackageManager(), item.mPackageName) ? 1 : 0; historyItem.mDuration = item.mUsageTime; historyItem.mTimeStamp = AppUtil.getYesterdayTimestamp(); historyItem.mDate = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss", Locale.getDefault()).format(new Date(historyItem.mTimeStamp)); DbHistoryExecutor.getInstance().insert(historyItem); } FileLogManager fileLogManager = FileLogManager.getInstance(); fileLogManager.log("alarm " + new SimpleDateFormat("yyyy.MM.dd HH:mm:ss", Locale.getDefault()).format(new Date(System.currentTimeMillis())) + "\n"); AlarmUtil.setAlarm(this.getApplicationContext()); } }
AlertActivity.java
package timeline.lizimumu.com.t.service; import android.app.AlertDialog; import android.content.DialogInterface; import android.media.MediaPlayer; import android.os.Bundle; import android.util.Log; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import timeline.lizimumu.com.t.R; import timeline.lizimumu.com.t.ui.AlarmActivity; public class AlertActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); MediaPlayer mediaPlayer=MediaPlayer.create(this, R.raw.guyongzhe); mediaPlayer.start(); mediaPlayer.setLooping(true); //显示闹钟提醒框 new AlertDialog.Builder(AlertActivity.this) .setTitle("闹钟") .setMessage("时间到了") .setPositiveButton("确定", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialogInterface, int which) { mediaPlayer.stop(); finish(); } }).create().show(); } }