个人作业-每日打卡APP-第二阶段
1、首先打开之后是登录页面,此时选择注册
2、来到注册页面输入id(学号)、姓名、手机号、班级、密码
3、点击确认,注册成功,输入姓名和密码,点击登录
4、登陆之后来到打卡页面,自动显示用户姓名、今日日期、坚持天数、连续最长天数。
5、填入关键字和总结,点击打卡,打卡成功,显示打卡后的信息,可以返回
6、返回打卡页面,点击事件提醒,填入提醒内容
7、点击设置闹钟,进入设置时间页面
8、时间到了之后,弹出提示窗
9、回到开始界面,选择教师登录,来到老师登录页面
10、登录成功后,显示全部已经注册过的用户,用户姓名、最长打卡天数,班级,学号。
部分代码:
教师查询全部学生信息:
MyAdapter
public class MyAdapter extends BaseAdapter { private List<Clock> listC; private List<User> listU; private LayoutInflater layoutInflater; public MyAdapter(Context context, List<Clock> listC ,List<User> listU) { this.listC = listC; this.listU = listU; layoutInflater = LayoutInflater.from(context); } @Override public int getCount() { return listC.size(); } @Override public Object getItem(int i) { return null; } public Object getItemC(int position) { return listC.get(position); } public Object getItemU(int position) { return listU.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if(convertView == null) { convertView = layoutInflater.inflate(R.layout.itemlayout , null , false); viewHolder = new ViewHolder(convertView); convertView.setTag(viewHolder); }else { viewHolder = (ViewHolder) convertView.getTag(); } //数据库 Clock clock = (Clock) getItemC(position); // System.out.println(clock.getUsername()); String most = String.valueOf(clock.getMost_day()); viewHolder.t_username.setText(clock.getUsername()); viewHolder.t_mostDay.setText(most); User user = (User) getItemU(position); String id = String.valueOf(user.getId()); viewHolder.t_classroom.setText(user.getClassroom()); viewHolder.t_id.setText(id); return convertView; } class ViewHolder{ TextView t_username,t_mostDay,t_classroom,t_id; public ViewHolder(View view){ t_username = view.findViewById(R.id.item_username); t_mostDay = view.findViewById(R.id.item_time); t_classroom = view.findViewById(R.id.item_classroom); t_id = view.findViewById(R.id.item_id); } } }
闹钟:BookActivity
public class BookActivity extends Activity implements View.OnClickListener { //private Button btn; private AlarmManager alarmManager; //闹钟管理器 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_book); //获取闹钟管理器 alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); findViewById(R.id.btn_setClock).setOnClickListener(this); findViewById(R.id.btn_back).setOnClickListener(this); } @Override public void onClick(View view) { if(view.getId() == R.id.btn_back) finish(); else setClock(view); } public void setClock(View view) { //获取当前系统时间 Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); //弹出闹钟框 TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { Calendar c = Calendar.getInstance(); //获取日期对象 c.set(Calendar.HOUR_OF_DAY, hourOfDay); //设置闹钟小时数 c.set(Calendar.MINUTE, minute); //设置闹钟分钟数 Intent intent = new Intent(BookActivity.this, AlarmReceiver.class); //创建pendingIntent PendingIntent pendingIntent = PendingIntent.getBroadcast(BookActivity.this, 0X102, intent, 0); //设置闹钟 alarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pendingIntent); //Toast.makeText(BookActivity.this, "闹钟设置成功", Toast.LENGTH_SHORT).show(); ToastUtil.show(BookActivity.this, "闹钟设置成功"); } }, hour, minute, true); timePickerDialog.show(); } }
AlarmActivity:闹钟到时显示
//闹钟的提醒框 public class AlarmActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //显示闹钟提醒框 new AlertDialog.Builder(AlarmActivity.this) .setTitle("闹钟") .setMessage("时间到了") .setPositiveButton("确定", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialogInterface, int which) { AlarmActivity.this.finish(); } }).create().show(); } }
AlarmReceiver
//广播接收类 public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent i = new Intent(context, AlarmActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } }
gitbub路径:
下载地址:
https://github.com/applpine/Clock.git
项目目录: