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

浙公网安备 33010602011771号