3/17每日总结
所花时间:3小时
代码量:如下:
博客量:本学期截至目前23篇
了解到的知识点:app打卡
经过几天的努力,在今天上交了app作业和增删改查的java web 在接下来还会完成这个团队项目的地铁的功能。
闹钟功能:
package com.example.riji; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; public class Alarm extends AppCompatActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_alarm); Intent intent=new Intent(); intent=getIntent(); String nao = intent.getStringExtra("nao"); //创建一个闹钟提醒的对话框,点击确定关闭铃声与页面 new AlertDialog.Builder(Alarm.this).setTitle("闹钟").setMessage(nao) .setPositiveButton("关闭闹铃", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Alarm.this.finish(); } }).show(); } }
package com.example.riji; import androidx.appcompat.app.AppCompatActivity; import android.app.TimePickerDialog; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TimePicker; import android.widget.Toast; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; public class AlarmReceiver extends AppCompatActivity implements View.OnClickListener { private Button btn_set; private Button btn_cancel; private Timer timer; private TimerTask timerTask; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_res_alarm); timer=new Timer(); bindViews(); } private void bindViews() { btn_set = (Button) findViewById(R.id.btn_set); btn_cancel = (Button) findViewById(R.id.btn_cancel); btn_set.setOnClickListener(this); btn_cancel.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn_set: timerTask = new TimerTask() { @Override public void run() { Intent intent = new Intent(AlarmReceiver.this, Alarm.class); intent.putExtra("nao","到了打卡时间了哦"); startActivity(intent); } }; Calendar currentTime = Calendar.getInstance(); new TimePickerDialog(AlarmReceiver.this, 0, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { //设置当前时间 Calendar c = Calendar.getInstance(); c.setTimeInMillis(System.currentTimeMillis()); // 根据用户选择的时间来设置Calendar对象 c.set(Calendar.HOUR, hourOfDay); c.set(Calendar.MINUTE, minute); timer.schedule(timerTask,c.getTimeInMillis()-currentTime.getTimeInMillis(),1000000); Log.e("HEHE",c.getTimeInMillis()+""); //这里的时间是一个unix时间戳 // 提示闹钟设置完毕: Toast.makeText(AlarmReceiver.this, "闹钟设置完毕~"+ c.getTimeInMillis(), Toast.LENGTH_SHORT).show(); } }, currentTime.get(Calendar.HOUR_OF_DAY), currentTime .get(Calendar.MINUTE), true).show(); btn_cancel.setVisibility(View.VISIBLE); break; case R.id.btn_cancel: timer.cancel(); btn_cancel.setVisibility(View.GONE); Toast.makeText(AlarmReceiver.this, "闹钟已取消", Toast.LENGTH_SHORT) .show(); break; } } }
xml:
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Alarm"> </androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/btn_set" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="250dp" android:text="设置闹钟" /> <Button android:id="@+id/btn_cancel" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="关闭闹钟" android:visibility="gone" /> </LinearLayout>