Android实现记事本功能

该记事本包含创建新条目,数据库增删改查,条目可编辑,滑动删除与拖拽排序,简单闹钟实现(还有个简陋背景音乐开关就不提了太简单),接下来逐一介绍一下

 

build.gradle导入(app目录下)

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.recyclerview:recyclerview:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.palette:palette:1.0.0'
    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'

    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
    implementation 'com.google.android.gms:play-services-ads:18.3.0'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    implementation 'com.github.fanlcly:android_utils:0.0.16'
    implementation 'com.contrarywind:Android-PickerView:4.1.9'
    implementation 'com.alibaba:fastjson:1.1.72.android'
    implementation 'com.github.xesam:AndroidTimer:v0.1'

 

接收器(仅仅只是闹钟的接收器)

package timeline.lizimumu.com.t.receiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

import timeline.lizimumu.com.t.service.AlarmService;



public class AlarmReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        context.startService(new Intent(context, AlarmService.class));
    }
}

闹钟服务

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();
    }
}

闹钟功能实现

package timeline.lizimumu.com.t.ui;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import java.util.Calendar;

import timeline.lizimumu.com.t.R;
import timeline.lizimumu.com.t.service.AlertActivity;

public class AlarmActivity extends AppCompatActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ring);

        TimePicker timePicker=(TimePicker) findViewById(R.id.timePicker);
        timePicker.setIs24HourView(true);
        Button btn=(Button) findViewById(R.id.timeSet);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent(AlarmActivity.this, AlertActivity.class);
                PendingIntent pendingIntent=PendingIntent.getActivity(AlarmActivity.this,0,intent,0);
                AlarmManager alarmManager=(AlarmManager) getSystemService(Context.ALARM_SERVICE);
                Calendar calendar=Calendar.getInstance();
                calendar.set(Calendar.HOUR_OF_DAY,timePicker.getCurrentHour());
                calendar.set(Calendar.MINUTE,timePicker.getCurrentMinute());
                calendar.set(Calendar.SECOND,0);

                alarmManager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pendingIntent);
                Toast.makeText(AlarmActivity.this,"主人,闹钟设置成功,么么哒。",Toast.LENGTH_SHORT).show();
            }
        });


    }
}

 

posted @ 2022-05-14 21:21  stdxxd  阅读(228)  评论(0)    收藏  举报