Android 日历打卡应用代码示例:完整实现
Android 日历打卡应用代码示例:完整实现
以下是一个完整的日历打卡应用的代码:
MainActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CalendarView;
import android.widget.Toast;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
private CalendarView calendarView;
private Button checkInButton;
private String lastCheckedDate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
calendarView = findViewById(R.id.calendarView);
checkInButton = findViewById(R.id.checkInButton);
// 设置日历选择监听器
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
// 在这里处理选择日期的逻辑
String selectedDate = formatDate(year, month, dayOfMonth);
if (selectedDate.equals(lastCheckedDate)) {
Toast.makeText(MainActivity.this, '已打卡', Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, '未打卡', Toast.LENGTH_SHORT).show();
}
}
});
// 设置打卡按钮点击监听器
checkInButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 在这里处理打卡逻辑
lastCheckedDate = getCurrentDate();
Toast.makeText(MainActivity.this, '打卡成功!', Toast.LENGTH_SHORT).show();
}
});
}
private String getCurrentDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(new Date());
}
private String formatDate(int year, int month, int dayOfMonth) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(year - 1900, month, dayOfMonth);
return sdf.format(date);
}
}
activity_main.xml
<?xml version='1.0' encoding='utf-8'?>
<LinearLayout xmlns:android='http://schemas.android.com/apk/res/android'
xmlns:tools='http://schemas.android.com/tools'
android:layout_width='match_parent'
android:layout_height='match_parent'
android:orientation='vertical'
android:padding='16dp'
tools:context='.MainActivity'>
<CalendarView
android:id='@+id/calendarView'
android:layout_width='match_parent'
android:layout_height='wrap_content' />
<Button
android:id='@+id/checkInButton'
android:layout_width='wrap_content'
android:layout_height='wrap_content'
android:text='打卡' />
</LinearLayout>
该应用允许用户选择日期,并通过点击打卡按钮来记录打卡。当用户选择一个日期时,应用会检查该日期是否已经打卡,并显示相应的提示信息。当用户点击打卡按钮时,应用会更新打卡日期,并显示打卡成功的提示。
原文地址: https://www.cveoy.top/t/topic/QN6 著作权归作者所有。请勿转载和采集!