Loading

Android每日打卡APP-主要代码

这是此次个人作业我的主要代码:

介绍可以见我的上一篇博客:https://www.cnblogs.com/rsy-bxf150/p/17228332.html

完整源码也可以见我的github:https://github.com/BXF-Aurora168/MyPractice-AndroidApp

代码(稍长):

package com.example.clockappliction;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.example.clockappliction.DataBase.CRUD;
import com.example.clockappliction.Information.Student;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button btn_login, btn_reg;

    private EditText et_log_id,et_log_password;
    private CheckBox cb_save1;
    private String username,password;

    SharedPreferences sp = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        sp = this.getSharedPreferences("userinfo", Context.MODE_PRIVATE);

        btn_login = (Button) findViewById(R.id.btn_login);
        btn_login.setOnClickListener(this);

        btn_reg = (Button) findViewById(R.id.btn_reg);
        btn_reg.setOnClickListener(this);

        et_log_id = (EditText) findViewById(R.id.et_log_id);
        et_log_password = (EditText) findViewById(R.id.et_log_password);

        cb_save1 = (CheckBox) findViewById(R.id.cb_save1);

        if (sp.getBoolean("CheckBoxLogin", false)) {
            et_log_id.setText(sp.getString("username", null));
            et_log_password.setText(sp.getString("password", null));
            cb_save1.setChecked(true);
        }else {
            et_log_id.setText(sp.getString("username", username));
            et_log_password.setText(sp.getString("password", password));
            cb_save1.setChecked(true);
        }


    }

    @Override
    public void onClick(View view) {

        username=et_log_id.getText().toString();
        password=et_log_password.getText().toString();


        if (view == findViewById(R.id.btn_login)){

            Student student = new Student();
            CRUD crud = new CRUD(this);
            //获取输入框的学生信息
            student.id = et_log_id.getText().toString();
            student.password = et_log_password.getText().toString();
            //通过id获取数据库学生信息
            Student studentData =crud.getStudentById(student.id);
            //登录
            if (student.id.equals(studentData.id)){

                if (student.password.equals(studentData.password)){

                    boolean CheckBoxLogin = cb_save1.isChecked();
                    SharedPreferences.Editor editor = sp.edit();
                    if (CheckBoxLogin) {
                        editor.putString("username", username);
                        editor.putString("password", password);
                        editor.putBoolean("auto", true);
                    }else {
                        editor.putString("username", null);
                        editor.putString("password", null);
                        editor.putBoolean("auto", false);
                    }
                    editor.commit();

                    student.name= studentData.name;
                    Intent intent =new Intent(this,MenuActivity.class);
                    intent.putExtra("st_id",student.id);
                    intent.putExtra("st_name",student.name);
                    startActivity(intent);
                }else {
                    Toast.makeText(this, "密码不正确", Toast.LENGTH_SHORT).show();
                }
            }else {
                Toast.makeText(this, "学号不正确", Toast.LENGTH_SHORT).show();
            }

        } else if (view == findViewById(R.id.btn_reg)) {
            //跳转到注册页面
            Intent intent = new Intent(this,RegActivity.class);
            intent.putExtra("keys",0);
            startActivity(intent);
        }


    }
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.menu,menu);
        return super.onCreateOptionsMenu(menu);
    }
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {

        switch (item.getItemId()){
            case R.id.teacher_view:
                Toast.makeText(this, "转换到教师登录页面!", Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(this,TeacherActivity.class);
                startActivity(intent);
                break;
            case R.id.student_view:
                Toast.makeText(this, "已经是学生登录页面!", Toast.LENGTH_SHORT).show();
                break;
        }
        return super.onOptionsItemSelected(item);
    }

}
package com.example.clockappliction;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.example.clockappliction.DataBase.CRUD;
import com.example.clockappliction.Information.Clock;
import com.example.clockappliction.adapter.ListViewAdapter;

import java.util.ArrayList;
import java.util.List;

public class MenuActivity extends AppCompatActivity implements View.OnClickListener{

    private TextView tv_my_name;
    private String cid=null;
    private Button btn_mu_dk,btn_mu_remind;
    private RecyclerView mList;
    private List<Clock> mData;

    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);
        btn_mu_dk = (Button) findViewById(R.id.btn_mu_dk);
        btn_mu_dk.setOnClickListener(this);

        btn_mu_remind = (Button) findViewById(R.id.btn_mu_remind);
        btn_mu_remind.setOnClickListener(this);

        tv_my_name = (TextView) findViewById(R.id.tv_my_name);
        Intent intent = getIntent();
        String st_id =intent.getStringExtra("st_id");
        String st_name =intent.getStringExtra("st_name");

        cid = st_id;
        tv_my_name.setText("欢迎使用打卡APP:"+ st_name +"!");
        //
        mList = (RecyclerView) this.findViewById(R.id.menu_recycler_view);
        initData();
        //
    }
    @Override
    protected void onRestart() {
        super.onRestart();
        setContentView(R.layout.activity_menu);
        btn_mu_dk = (Button) findViewById(R.id.btn_mu_dk);
        btn_mu_dk.setOnClickListener(this);

        btn_mu_remind = (Button) findViewById(R.id.btn_mu_remind);
        btn_mu_remind.setOnClickListener(this);

        tv_my_name = (TextView) findViewById(R.id.tv_my_name);
        Intent intent = getIntent();
        String st_id =intent.getStringExtra("st_id");
        String st_name =intent.getStringExtra("st_name");

        cid = st_id;
        tv_my_name.setText("欢迎使用打卡APP!");
        //
        mList = (RecyclerView) this.findViewById(R.id.menu_recycler_view);
        initData();
        //
    }

    //view加入数据
    private void initData() {
        mData = new ArrayList<>();
        CRUD crud = new CRUD(this);
        //导入数据

        for (int i = 1; i <= crud.getCountClock(); i++) {

            Clock data = new Clock();
            Clock Data=crud.getClockByKeyWord(i);
            data.date= Data.date;
            data.word= "关键字:"+Data.word;
            data.summary= "总结:"+Data.summary;
            data.keep= "坚持天数:"+Data.keep;
            mData.add(data);
        }
        //设置布局管理器
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        mList.setLayoutManager(linearLayoutManager);
        //创建适配器
        ListViewAdapter adapter = new ListViewAdapter(mData);
        //设置到rview里
        mList.setAdapter(adapter);
    }

    @Override
    public void onClick(View view) {


        if (view==findViewById(R.id.btn_mu_dk)){
            Intent intent = new Intent(this,ClockActivity.class);
            intent.putExtra("cid",cid);
            startActivity(intent);
        } else if (view==findViewById(R.id.btn_mu_remind)) {
            Intent intent = new Intent(this,SetTimeActivity.class);

            startActivity(intent);
        }

    }
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.menu2,menu);
        return super.onCreateOptionsMenu(menu);
    }
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {

        switch (item.getItemId()){
            case R.id.back_view:
                Intent intent = new Intent(this,MainActivity.class);
                startActivity(intent);
                break;
        }
        return super.onOptionsItemSelected(item);
    }

}
package com.example.clockappliction;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import com.example.clockappliction.DataBase.CRUD;
import com.example.clockappliction.Information.Student;

public class RegActivity extends AppCompatActivity implements View.OnClickListener{

    private Button btn_reg_add;

    private EditText et_reg_id,et_reg_name,et_reg_grade,et_reg_phone,et_reg_password;
    private int keys  = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);

        btn_reg_add = (Button) findViewById(R.id.btn_reg_add);
        btn_reg_add.setOnClickListener(this);

        et_reg_id = (EditText) findViewById(R.id.et_reg_id);
        et_reg_name = (EditText) findViewById(R.id.et_reg_name);
        et_reg_grade = (EditText) findViewById(R.id.et_reg_grade);
        et_reg_phone = (EditText) findViewById(R.id.et_reg_phone);
        et_reg_password = (EditText) findViewById(R.id.et_reg_password);

        Intent intent = getIntent();
        keys = intent.getIntExtra("keys",0);
        CRUD crud = new CRUD(this);
        Student student = new Student();
        student = crud.getStudentByKeyWord(keys);
        //从数据库中得到本来的数据
        et_reg_id.setText(student.id);
        et_reg_name.setText(student.name);
        et_reg_grade.setText(student.grade);
        et_reg_phone.setText(student.phone);
        et_reg_password.setText(student.password);
    }

    @Override
    public void onClick(View view) {

        if (view == findViewById(R.id.btn_reg_add)){

            CRUD crud = new CRUD(this);
            Student student = new Student();
            //接收输入框的数据
            student.keyword = keys;
            student.id = et_reg_id.getText().toString();
            student.name = et_reg_name.getText().toString();
            student.grade = et_reg_grade.getText().toString();
            student.phone = et_reg_phone.getText().toString();
            student.password = et_reg_password.getText().toString();

            keys = crud.insertStudent(student);

            Toast.makeText(this, "注册成功", Toast.LENGTH_SHORT).show();
        }
    }
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.menu2,menu);
        return super.onCreateOptionsMenu(menu);
    }
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {

        switch (item.getItemId()){
            case R.id.back_view:
                Intent intent = new Intent(this,MainActivity.class);
                startActivity(intent);
                break;
        }
        return super.onOptionsItemSelected(item);
    }


}
package com.example.clockappliction;

import static android.icu.text.DateTimePatternGenerator.DAY;
import static androidx.constraintlayout.helper.widget.MotionEffect.TAG;

import android.annotation.SuppressLint;
import android.app.AlarmManager;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.icu.util.TimeZone;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import java.util.Calendar;

public class SetTimeActivity extends AppCompatActivity implements View.OnClickListener , TimePickerDialog.OnTimeSetListener {

    private int hour,minute;
    private TextView tv_time;
    private Button btn_send;
    private EditText et_remind;
    public String mess = null;
    private SetTimeActivity.AlarmReceiver alarmReceiver;
    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_time_picker);

        tv_time = findViewById(R.id.tv_time);
        findViewById(R.id.btn_time).setOnClickListener(this);
        btn_send = (Button) findViewById(R.id.btn_send);
        btn_send.setOnClickListener(this);

        et_remind = (EditText) findViewById(R.id.et_remind);

    }

    @Override
    public void onStart() {
        super.onStart();
        alarmReceiver = new SetTimeActivity.AlarmReceiver(); // 创建一个闹钟的广播接收器
        // 创建一个意图过滤器,只处理指定事件来源的广播
        IntentFilter filter = new IntentFilter("ALARM");
        registerReceiver(alarmReceiver, filter); // 注册接收器,注册之后才能正常接收广播
    }
    @Override
    public void onStop() {
        super.onStop();
        unregisterReceiver(alarmReceiver); // 注销接收器,注销之后就不再接收广播
    }
    @Override
    public void onClick(View view) {
        if (view.getId()==R.id.btn_time){
            Calendar calendar = Calendar.getInstance();
            TimePickerDialog dialog = new TimePickerDialog(this,this,
                    calendar.get(Calendar.HOUR_OF_DAY),
                    calendar.get(Calendar.MINUTE),
                    true);
            dialog.show();
        }
        else if (view.getId()==R.id.btn_send) {


            Intent intent = new Intent("ALARM");
            mess = et_remind.getText().toString();

            PendingIntent sender = PendingIntent.getBroadcast(this,0, intent,PendingIntent.FLAG_MUTABLE);

            long firstTime = SystemClock.elapsedRealtime();    // 开机之后到现在的运行时间(包括睡眠时间)
            long systemTime = System.currentTimeMillis();

            android.icu.util.Calendar calendar = android.icu.util.Calendar.getInstance();
            calendar.setTimeInMillis(System.currentTimeMillis());
// 这里时区需要设置一下,不然会有8个小时的时间差
            calendar.setTimeZone(TimeZone.getTimeZone("GMT+8"));
            calendar.set(android.icu.util.Calendar.MINUTE,getMinute());
            calendar.set(android.icu.util.Calendar.HOUR_OF_DAY,getHours());
            calendar.set(android.icu.util.Calendar.SECOND,0);
            calendar.set(android.icu.util.Calendar.MILLISECOND,0);
// 选择的定时时间
            long selectTime = calendar.getTimeInMillis();
// 如果当前时间大于设置的时间,那么就从第二天的设定时间开始
            if(systemTime > selectTime) {
                Toast.makeText(this," ", Toast.LENGTH_SHORT).show();//设置的时间小于当前时间
                calendar.add(android.icu.util.Calendar.DAY_OF_MONTH,0);
                selectTime = calendar.getTimeInMillis();
            }
// 计算现在时间到设定时间的时间差
            long time = selectTime - systemTime;
            firstTime += time;
// 进行闹铃注册
            AlarmManager manager = (AlarmManager)getSystemService(ALARM_SERVICE);
            manager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                    time, DAY, sender);
            Log.i(TAG,"time ==== " + time +", selectTime ===== "
                    + selectTime + ", systemTime ==== " + systemTime +", firstTime === " + firstTime);
            Toast.makeText(this,"设置提醒闹铃成功! ", Toast.LENGTH_LONG).show();


        }
    }

    @Override
    public void onTimeSet(TimePicker timePicker, int hours_of_day, int minute) {
        String desc = String.format("你选择的时间是%d时%d分",hours_of_day,minute);
        tv_time.setText(desc);
        setHours(hours_of_day);
        setMinute(minute);
    }

    public int getHours(){
        return hour;
    }

    public int getMinute(){
        return minute;
    }
    public void setHours(int hour){
        this.hour=hour;
    }
    public void setMinute(int minute){
        this.minute=minute;
    }

    public void tipDialog(Context context) {
        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setTitle("事件闹钟:");
        builder.setMessage("提醒您:"+mess);
        builder.setIcon(R.mipmap.ic_launcher);
        builder.setCancelable(false);            //点击对话框以外的区域是否让对话框消失
        //设置正面按钮
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
            }
        });
        AlertDialog dialog = builder.create();      //创建AlertDialog对象

        dialog.show();                              //显示对话框
    }

    public class AlarmReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {

            tipDialog(context);

        }

    }


}
package com.example.clockappliction;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

import com.example.clockappliction.Information.Student;

public class TeacherActivity extends AppCompatActivity implements View.OnClickListener  {

    private Button mBtn_log;
    private EditText eText_id,eText_password;
    private CheckBox cb_save2;
    private String username,password;

    SharedPreferences sp1 = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_teacher);

        sp1 = this.getSharedPreferences("teacherinfo", Context.MODE_PRIVATE);

        mBtn_log = findViewById(R.id.btn_teacher_login);
        mBtn_log.setOnClickListener(this);

        eText_id = findViewById(R.id.et_teacher_id);
        eText_password = findViewById(R.id.et_teacher_password);

        cb_save2 = (CheckBox) findViewById(R.id.cb_save2);

        if (sp1.getBoolean("CheckBoxLogin", false)) {
            eText_id.setText(sp1.getString("username", null));
            eText_password.setText(sp1.getString("password", null));
            cb_save2.setChecked(true);
        }else {
            eText_id.setText(sp1.getString("username", username));
            eText_password.setText(sp1.getString("password", password));
            cb_save2.setChecked(true);
        }
    }

    @Override
    public void onClick(View view) {

        username=eText_id.getText().toString();
        password=eText_password.getText().toString();


        if (view == findViewById(R.id.btn_teacher_login)){
            //获取输入框的学生信息
            Student student = new Student();
            student.id = eText_id.getText().toString();
            student.password = eText_password.getText().toString();
            if (student.id.equals("teacher")){
                if (student.password.equals("123")){

                    boolean CheckBoxLogin = cb_save2.isChecked();
                    SharedPreferences.Editor editor = sp1.edit();
                    if (CheckBoxLogin) {
                        editor.putString("username", username);
                        editor.putString("password", password);
                        editor.putBoolean("auto", true);
                    }else {
                        editor.putString("username", null);
                        editor.putString("password", null);
                        editor.putBoolean("auto", false);
                    }
                    editor.commit();
                    Intent intent = new Intent(this,InfoActivity.class);
                    startActivity(intent);
                }else {
                    Toast.makeText(this, "密码错误", Toast.LENGTH_SHORT).show();
                }
            }else {
                Toast.makeText(this, "账号错误", Toast.LENGTH_SHORT).show();
            }

        }

    }
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.menu,menu);
        return super.onCreateOptionsMenu(menu);
    }
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {

        switch (item.getItemId()){
            case R.id.teacher_view:
                Toast.makeText(this, "已经是教师登录页面!", Toast.LENGTH_SHORT).show();
                break;
            case R.id.student_view:
                Toast.makeText(this, "转换到学生登录页面!", Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(this,MainActivity.class);
                startActivity(intent);
                break;
        }
        return super.onOptionsItemSelected(item);
    }

}
package com.example.clockappliction;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class InfoActivity extends AppCompatActivity implements View.OnClickListener {

    Button mBtn_search1,mBtn_search2,mBtn_search3;
    EditText mEt_search;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_info);

        mBtn_search1 = findViewById(R.id.btn_teacher_search1);
        mBtn_search2 = findViewById(R.id.btn_teacher_search2);
        mBtn_search3 = findViewById(R.id.btn_teacher_search3);
        mBtn_search1.setOnClickListener(this);
        mBtn_search2.setOnClickListener(this);
        mBtn_search3.setOnClickListener(this);
        mEt_search   = (EditText) findViewById(R.id.et_teacher_search);
    }

    @Override
    public void onClick(View view) {

        String search_text = mEt_search.getText().toString();

        Intent intent = null;
        switch (view.getId()){
            case R.id.btn_teacher_search1:
                intent = new Intent(this, A1Activity.class);
                intent.putExtra("s1_text",search_text);
                startActivity(intent);
                break;
            case R.id.btn_teacher_search2:
                intent = new Intent(this, A2Activity.class);
                intent.putExtra("s2_text",search_text);
                startActivity(intent);
                break;
            case R.id.btn_teacher_search3:
                intent = new Intent(this, A3Activity.class);
                startActivity(intent);
                break;
        }

    }

}
package com.example.clockappliction;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.example.clockappliction.DataBase.CRUD;
import com.example.clockappliction.Information.Clock;
import java.util.Calendar;

public class ClockActivity extends AppCompatActivity implements View.OnClickListener{

    private EditText et_dk_word,et_dk_summary;
    private Button btn_dk_add;
    private TextView tv_dk_keep,tv_dk_maxday,tv_dk_date;
    private static int jud ;
    static int KeepCou=1;
    static int MaxCou=1;
    //检查判断值为0--》允许打卡
    //检查判断值为1--》判断日期是否变更--》变更---判断设为0 -----允许打卡
    //                              》未变更---判断设为1----不允许打卡
    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_clock_in);

        tv_dk_keep = (TextView) findViewById(R.id.tv_dk_keep);
        tv_dk_maxday = (TextView) findViewById(R.id.tv_dk_maxday);
        tv_dk_date = (TextView) findViewById(R.id.tv_dk_date);


        tv_dk_keep.setText("坚持天数:"+ KeepCou);
        tv_dk_maxday.setText("历史最长天数:" +MaxCou);
        tv_dk_date.setText("日期:" +getStringDate());
        et_dk_word = (EditText) findViewById(R.id.et_dk_word);
        et_dk_summary = (EditText) findViewById(R.id.et_dk_summary);

        btn_dk_add = (Button) findViewById(R.id.btn_dk_add);
        btn_dk_add.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        if (view==findViewById(R.id.btn_dk_add)){
            CRUD crud = new CRUD(this);
            //获取输入框信息
            Intent intent = getIntent();
            String cid = intent.getStringExtra("cid");

            Clock clock1 = crud.getClockByDate(getStringDate());
            if (clock1!=null){
                jud=1;
            } else if (clock1==null) {
                jud=0;
            }

            if (jud==0){

                Clock clock =new Clock();
                clock.cid = cid;
                clock.keep = String.valueOf(KeepCou);
                clock.maxday = String.valueOf(MaxCou);
                clock.date = getStringDate();
                clock.word = et_dk_word.getText().toString();
                clock.summary = et_dk_summary.getText().toString();
                crud.insertClock(clock);
                Toast.makeText(this, "打卡成功!", Toast.LENGTH_SHORT).show();
                KeepCou++;
                MaxCou++;
            }else {
                Toast.makeText(this, "你今天已经打过卡了", Toast.LENGTH_SHORT).show();
            }

        }
    }
    public String getStringDate(){
        java.util.Calendar calendar = java.util.Calendar.getInstance();//取得当前时间的年月日 时分秒
        String year = String.valueOf(calendar.get(java.util.Calendar.YEAR));
        String month = String.valueOf(calendar.get(java.util.Calendar.MONTH)+1);
        String day = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
        String date = year + "." + month + "." + day;
        return date;
    }
    public int getDate(){
        java.util.Calendar calendar = java.util.Calendar.getInstance();//取得当前时间的年月日 时分秒
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        int month = (calendar.get(Calendar.MONTH)+1)*100;
        int year = calendar.get(Calendar.YEAR)*10000;
        int ymd = day+month+year;
        //20230308
        return ymd;
    }
}
package com.example.clockappliction;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;

import com.example.clockappliction.DataBase.CRUD;
import com.example.clockappliction.Information.Clock;
import com.example.clockappliction.adapter.ListViewAdapter;
import com.example.clockappliction.DataBase.DBHelper;
import java.util.ArrayList;
import java.util.List;
public class A1Activity extends AppCompatActivity implements View.OnClickListener {
    private RecyclerView mList;
    private List<Clock> mData;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_a1);
        mList = (RecyclerView) this.findViewById(R.id.a1_RecycleView);

        initData();
    }

    private void initData() {

        mData = new ArrayList<>();
        CRUD crud = new CRUD(this);

        Intent intent = getIntent();
        String t_word = intent.getStringExtra("s1_text");

        ArrayList<Clock> list1 = crud.getClockByWord(t_word);

        //导入数据
        for (int i = 0; i < list1.size() ; i++) {

            Clock data = new Clock();
            Clock Data=list1.get(i);
            data.date= Data.date;
            data.word= "关键字:"+Data.word;
            data.summary= "总结:"+Data.summary;
            data.keep= "坚持天数:"+Data.keep;
            mData.add(data);
        }
        //设置布局管理器
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        mList.setLayoutManager(linearLayoutManager);
        //创建适配器
        ListViewAdapter adapter = new ListViewAdapter(mData);
        //设置到rview里
        mList.setAdapter(adapter);
    }

    @Override
    public void onClick(View view) {

    }
}
package com.example.clockappliction;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import com.example.clockappliction.DataBase.CRUD;
import com.example.clockappliction.Information.Clock;
import com.example.clockappliction.adapter.ListViewAdapter;

import java.util.ArrayList;
import java.util.List;

public class A2Activity extends AppCompatActivity implements View.OnClickListener{
    private RecyclerView mList;
    private List<Clock> mData;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_a2);
        mList = (RecyclerView) this.findViewById(R.id.a2_RecycleView);

        initData();
    }

    private void initData() {
        mData = new ArrayList<>();
        CRUD crud = new CRUD(this);
        //导入数据
        Intent intent = getIntent();
        String sum = intent.getStringExtra("s2_text");
        ArrayList<Clock> list1 = crud.getClockBySum(sum);

        //导入数据
        for (int i = 0; i < list1.size() ; i++) {

            Clock data = new Clock();
            Clock Data=list1.get(i);
            data.date= Data.date;
            data.word= "关键字:"+Data.word;
            data.summary= "总结:"+Data.summary;
            data.keep= "坚持天数:"+Data.keep;
            mData.add(data);
        }
        //设置布局管理器
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        mList.setLayoutManager(linearLayoutManager);
        //创建适配器
        ListViewAdapter adapter = new ListViewAdapter(mData);
        //设置到rview里
        mList.setAdapter(adapter);
    }

    @Override
    public void onClick(View view) {

    }
}
package com.example.clockappliction;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.example.clockappliction.DataBase.CRUD;
import com.example.clockappliction.Information.Clock;
import com.example.clockappliction.adapter.ListViewAdapter;
import com.example.clockappliction.adapter.ListViewAdapter2;

import java.util.ArrayList;
import java.util.List;

public class A3Activity extends AppCompatActivity implements View.OnClickListener{

    private RecyclerView mList;
    private List<Clock> mData;
    private TextView mNum;
    int cou = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_a3);
        mList = (RecyclerView) this.findViewById(R.id.a3_RecycleView);
        mNum  = this.findViewById(R.id.tv_a3_num);
        initData();

        mNum.setText("发表总次数: "+cou);
    }

    private void initData() {
        mData = new ArrayList<>();
        CRUD crud = new CRUD(this);
        //导入数据

        for (int i = 1; i <= crud.getCountClock(); i++) {

            Clock data = new Clock();
            Clock Data=crud.getClockByKeyWord(i);
            data.date= Data.date;
            data.word= "关键字:"+Data.word;
            data.summary= "总结:"+Data.summary;
            data.keep= "坚持天数:"+Data.keep;
            mData.add(data);
            cou++;
        }
        //设置布局管理器
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        mList.setLayoutManager(linearLayoutManager);
        //创建适配器
        ListViewAdapter2 adapter = new ListViewAdapter2(mData);
        //设置到rview里
        mList.setAdapter(adapter);
    }

    @Override
    public void onClick(View view) {

    }
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.menu2,menu);
        return super.onCreateOptionsMenu(menu);
    }
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {

        switch (item.getItemId()){
            case R.id.back_view:
                Intent intent = new Intent(this,InfoActivity.class);
                startActivity(intent);
                break;
        }
        return super.onOptionsItemSelected(item);
    }
}
package com.example.clockappliction.Information;

public class Clock {

        public int keyword;

        public String cid;
        public String date;
        public String word;
        public String summary;
        public String maxday;
        public String keep;

        public static final String TABLE = "Clock_Info";

        public static final String KEYWORD = "keyword";

        public static final String CID = "cid";
        public static final String DATE = "date";
        public static final String WORD = "word";
        public static final String SUMMARY = "summary";
        public static final String MAXDAY = "maxday";
        public static final String KEEP = "keep";

}
package com.example.clockappliction.Information;

public class Student {

    public int keyword;


    public String id;
    public String name;
    public String grade;
    public String phone;
    public String password;


    public static final String TABLE = "Student_Info";

    public static final String KEYWORD = "keyword";



    public static final String ID = "id";
    public static final String NAME = "name";
    public static final String GRADE = "grade";
    public static final String PHONE = "phone";
    public static final String PASSWORD = "password";

}
package com.example.clockappliction.DataBase;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.example.clockappliction.Information.Clock;
import com.example.clockappliction.Information.Student;

public class DBHelper extends SQLiteOpenHelper {
    private static final int DATABASE_VERSION=2;

    private static final String DATABASE_NAME="crud.db";

    public DBHelper(Context context) {
        super(context,DATABASE_NAME,null,DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

        String CREATE_TABLE_USER="CREATE TABLE IF NOT EXISTS " + Student.TABLE +"("
                +Student.KEYWORD+" INTEGER PRIMARY KEY AUTOINCREMENT ,"

                +Student.ID+" TEXT ,"
                +Student.NAME+" TEXT ,"
                +Student.GRADE+" TEXT ,"
                +Student.PASSWORD+" TEXT ,"
                +Student.PHONE+" TEXT)";

        db.execSQL(CREATE_TABLE_USER);

        String CREATE_TABLE_CLOCK="CREATE TABLE IF NOT EXISTS " + Clock.TABLE +"("
                +Clock.KEYWORD+" INTEGER PRIMARY KEY AUTOINCREMENT ,"

                +Clock.CID+" TEXT ," //CID==ID

                +Clock.DATE+" TEXT ,"
                +Clock.WORD+" TEXT ,"
                +Clock.SUMMARY+" TEXT ,"
                +Clock.KEEP+" TEXT ,"
                +Clock.MAXDAY+" TEXT)";

        db.execSQL(CREATE_TABLE_CLOCK);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        db.execSQL("DROP TABLE IF EXISTS "+ Student.TABLE);
        db.execSQL("DROP TABLE IF EXISTS "+ Clock.TABLE);
        onCreate(db);
    }
}
package com.example.clockappliction.DataBase;

import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.widget.Toast;

import com.example.clockappliction.Information.Clock;
import com.example.clockappliction.Information.Student;

import java.util.ArrayList;

public class CRUD {

    private DBHelper dbHelper;

    public CRUD (Context context){dbHelper = new DBHelper(context);}

    public int insertStudent(Student student){

        SQLiteDatabase db = dbHelper.getWritableDatabase();
        ContentValues values = new ContentValues();

        values.put(Student.ID,student.id);
        values.put(Student.NAME,student.name);
        values.put(Student.GRADE,student.grade);
        values.put(Student.PHONE,student.phone);
        values.put(Student.PASSWORD,student.password);

        long keywords = db.insert(Student.TABLE,null,values);
        db.close();
        return (int) keywords;
    }
    public void insertClock(Clock clock){

        SQLiteDatabase db = dbHelper.getWritableDatabase();
        ContentValues values = new ContentValues();

        values.put(Clock.DATE,clock.date);
        values.put(Clock.WORD,clock.word);
        values.put(Clock.SUMMARY,clock.summary);
        values.put(Clock.KEEP,clock.keep);
        values.put(Clock.MAXDAY,clock.maxday);

        values.put(Clock.CID,clock.cid);

        db.insert(Clock.TABLE,null,values);
        db.close();
    }
    @SuppressLint("Range")
    public Clock getClockByKeyWord(int key){
        SQLiteDatabase db = dbHelper.getReadableDatabase();
        String selectQuery = "SELECT * FROM " + Clock.TABLE + " WHERE " + Clock.KEYWORD +"=?";
        Clock clock = new Clock();
        Cursor cursor = db.rawQuery(selectQuery,new String[]{String.valueOf(key)});
        if (cursor.moveToFirst()){

                clock.date = cursor.getString(cursor.getColumnIndex(Clock.DATE));
                clock.word = cursor.getString(cursor.getColumnIndex(Clock.WORD));
                clock.summary = cursor.getString(cursor.getColumnIndex(Clock.SUMMARY));
                clock.maxday = cursor.getString(cursor.getColumnIndex(Clock.MAXDAY));
                clock.keep = cursor.getString(cursor.getColumnIndex(Clock.KEEP));
                cursor.close();
                db.close();
                return clock;
        }
        cursor.close();
        db.close();
        return null;
    }
    @SuppressLint("Range")
    public Clock getClockByDate(String the_date){
        SQLiteDatabase db = dbHelper.getReadableDatabase();
        String selectQuery = "SELECT * FROM " + Clock.TABLE + " WHERE " + Clock.DATE +"=?";
        Clock clock = new Clock();
        Cursor cursor = db.rawQuery(selectQuery,new String[]{the_date});
        if (cursor.moveToFirst()){

            clock.date = cursor.getString(cursor.getColumnIndex(Clock.DATE));
            clock.word = cursor.getString(cursor.getColumnIndex(Clock.WORD));
            clock.summary = cursor.getString(cursor.getColumnIndex(Clock.SUMMARY));
            clock.maxday = cursor.getString(cursor.getColumnIndex(Clock.MAXDAY));
            clock.keep = cursor.getString(cursor.getColumnIndex(Clock.KEEP));
            cursor.close();
            db.close();
            return clock;
        }
        cursor.close();
        db.close();
        return null;
    }
    @SuppressLint("Range")
    public int getCountClock(){
        //查询记录数量
        SQLiteDatabase db = dbHelper.getReadableDatabase();
        Cursor cursor = db.rawQuery("SELECT COUNT (*) FROM "+Clock.TABLE,null);
        cursor.moveToFirst();
        int result = cursor.getInt(0);
        cursor.close();
        db.close();
        return result;
    }
    @SuppressLint("Range")
    public  Student getStudentById(String id){

        SQLiteDatabase db = dbHelper.getReadableDatabase();
        String selectQuery = "SELECT "+
                Student.KEYWORD +","+
                Student.ID +","+
                Student.NAME +","+
                Student.GRADE + ","+
                Student.PASSWORD + ","+
                Student.PHONE+
                " FROM " + Student.TABLE
                +" WHERE " +
                Student.ID + "=?";
        int count = 0;
        Student student = new Student();
        Cursor cursor = db.rawQuery(selectQuery,new String[]{String.valueOf(id)});
        if (cursor.moveToFirst()){
                student.keyword = cursor.getInt(cursor.getColumnIndex(Student.KEYWORD));
                student.id = cursor.getString(cursor.getColumnIndex(Student.ID));
                student.name = cursor.getString(cursor.getColumnIndex(Student.NAME));
                student.grade = cursor.getString(cursor.getColumnIndex(Student.GRADE));
                student.phone = cursor.getString(cursor.getColumnIndex(Student.PHONE));
                student.password = cursor.getString(cursor.getColumnIndex(Student.PASSWORD));
        }
        cursor.close();
        db.close();
        return student;
    }
    @SuppressLint("Range")
    public Student getStudentByKeyWord(int keyword){

        SQLiteDatabase db = dbHelper.getReadableDatabase();
        String selectQuery = "SELECT "+
                Student.KEYWORD +","+
                Student.ID +","+
                Student.NAME +","+
                Student.GRADE + ","+
                Student.PASSWORD + ","+
                Student.PHONE+
                " FROM " + Student.TABLE
                +" WHERE " +
                Student.KEYWORD + "=?";
        int count = 0;
        Student student = new Student();
        Cursor cursor = db.rawQuery(selectQuery,new String[]{String.valueOf(keyword)});
        if (cursor.moveToFirst()){
                student.keyword = cursor.getInt(cursor.getColumnIndex(Student.KEYWORD));
                student.id = cursor.getString(cursor.getColumnIndex(Student.ID));
                student.name = cursor.getString(cursor.getColumnIndex(Student.NAME));
                student.grade = cursor.getString(cursor.getColumnIndex(Student.GRADE));
                student.phone = cursor.getString(cursor.getColumnIndex(Student.PHONE));
                student.password = cursor.getString(cursor.getColumnIndex(Student.PASSWORD));
        }
        cursor.close();
        db.close();
        return student;
    }
    @SuppressLint("Range")
    public ArrayList<Clock> getClockByWord(String word){

        SQLiteDatabase db = dbHelper.getReadableDatabase();
        ArrayList<Clock> list1 = new ArrayList<>();
        String selectQuery = "SELECT * FROM " + Clock.TABLE + " WHERE " + Clock.WORD + " LIKE "+"?" ;

        Cursor cursor = db.rawQuery(selectQuery,new String[]{String.valueOf("%"+word+"%")});

        if (cursor.moveToFirst()){
            do {
                Clock clock = new Clock();
                clock.date = cursor.getString(cursor.getColumnIndex(Clock.DATE));
                clock.word = cursor.getString(cursor.getColumnIndex(Clock.WORD));
                clock.summary = cursor.getString(cursor.getColumnIndex(Clock.SUMMARY));
                clock.maxday = cursor.getString(cursor.getColumnIndex(Clock.MAXDAY));
                clock.keep = cursor.getString(cursor.getColumnIndex(Clock.KEEP));
                list1.add(clock);
            }while (cursor.moveToNext());
        }
        cursor.close();
        db.close();
        return list1;
    }
    @SuppressLint("Range")
    public ArrayList<Clock> getClockBySum(String sum){

        SQLiteDatabase db = dbHelper.getReadableDatabase();
        ArrayList<Clock> list1 = new ArrayList<>();
        String selectQuery = "SELECT * FROM " + Clock.TABLE + " WHERE " + Clock.SUMMARY + " LIKE "+"?" ;


        Cursor cursor = db.rawQuery(selectQuery,new String[]{String.valueOf("%"+sum+"%")});

        if (cursor.moveToFirst()){
            do {
                Clock clock = new Clock();
                clock.date = cursor.getString(cursor.getColumnIndex(Clock.DATE));
                clock.word = cursor.getString(cursor.getColumnIndex(Clock.WORD));
                clock.summary = cursor.getString(cursor.getColumnIndex(Clock.SUMMARY));
                clock.maxday = cursor.getString(cursor.getColumnIndex(Clock.MAXDAY));
                clock.keep = cursor.getString(cursor.getColumnIndex(Clock.KEEP));
                list1.add(clock);
            }while (cursor.moveToNext());
        }
        cursor.close();
        db.close();
        return list1;
    }

}
package com.example.clockappliction.adapter;

import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.example.clockappliction.DataBase.CRUD;
import com.example.clockappliction.Information.Clock;
import com.example.clockappliction.Information.Student;
import com.example.clockappliction.R;

import java.util.List;

public class ListViewAdapter extends RecyclerView.Adapter<ListViewAdapter.InnerHolder> {


    private final List<Clock> mData;

    public ListViewAdapter(List<Clock> data){this.mData = data;}

    //创建View
    @NonNull
    @Override
    public InnerHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        View view =View.inflate(parent.getContext(),R.layout.item_list_view,null);


        return new InnerHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull InnerHolder holder, int position) {

        holder.setData(mData.get(position));

    }

    @Override
    public int getItemCount() {
        if (mData != null) {
            return mData.size();
        }
        return 0;
    }


    public class InnerHolder extends RecyclerView.ViewHolder{

        private ImageView mIv_168;
        private TextView mDate,mWord,mSum,mKeep;
        public InnerHolder(@NonNull View itemView) {
            super(itemView);
            //找到控件
            mIv_168 = itemView.findViewById(R.id.iv_168);

            mDate = itemView.findViewById(R.id.list_tv_date);
            mWord = itemView.findViewById(R.id.list_tv_word);
            mSum  = itemView.findViewById(R.id.list_tv_summary);
            mKeep = itemView.findViewById(R.id.list_tv_keep);
        }

        public void setData(Clock clock) {

            mDate.setText(clock.date);
            mWord.setText(clock.word);
            mSum.setText(clock.summary);
            mKeep.setText(clock.keep);
        }
    }

}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:background="@mipmap/pic_5"
    tools:context=".MainActivity"
    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_title0"
        android:text="欢迎使用"
        android:textSize="50sp"
        android:layout_marginTop="80dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:textStyle="bold"
        android:textColor="@color/blue_1"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_title"
        android:text="每日打卡APP"
        android:textSize="50sp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:layout_below="@+id/tv_title0"
        android:textStyle="bold"
        android:textColor="@color/blue_1"
         />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="50dp"

        android:id="@+id/et_log_id"
        android:hint="   学号"
        android:background="@drawable/bg_edit"

        android:layout_below="@+id/tv_title"
        android:layout_marginTop="50dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></EditText>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:inputType="textPassword"
        android:id="@+id/et_log_password"
        android:hint="   密码"
        android:background="@drawable/bg_edit"
        android:layout_below="@+id/et_log_id"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></EditText>


    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn_login"
        android:text="登录"
        android:textSize="28dp"

        android:layout_below="@+id/et_log_password"
        android:layout_marginTop="70dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></Button>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn_reg"
        android:text="注册"
        android:textSize="28dp"

        android:layout_below="@+id/btn_login"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></Button>
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/cb_save1"
        android:text="记住账号密码"
        android:textColor="@color/white_text"
        android:textSize="18sp"
        android:layout_below="@+id/et_log_password"
        android:layout_marginLeft="40dp"
        android:layout_marginTop="15dp" />


</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:background="@mipmap/pic_5"
    tools:context=".MenuActivity">



    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/menu_recycler_view"
        android:layout_width="match_parent"
        android:layout_height="500dp"
        android:layout_below="@+id/tv_my_name"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:id="@+id/btn_mu_dk"
        android:text="每日打卡"

        android:textSize="27dp"
        android:layout_below="@+id/menu_recycler_view"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></Button>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:id="@+id/btn_mu_remind"
        android:text="设置提醒"

        android:textSize="27dp"
        android:layout_below="@+id/btn_mu_dk"
        android:layout_marginTop="12dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:layout_marginBottom="15dp"
        ></Button>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_my_name"

        android:layout_marginTop="5dp"

        android:textSize="18dp"
        android:textColor="@color/white_text"
        android:text="欢迎使用打卡APP:某某某"
        android:layout_marginRight="10dp"
        android:layout_marginLeft="10dp"
        ></TextView>

</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:background="@mipmap/pic_5"
    tools:context=".RegActivity">

    <TextView
        android:id="@+id/tv_title2"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_marginStart="98dp"
        android:layout_marginTop="70dp"
        android:layout_marginBottom="50dp"
        android:text="注册账号"
        android:textColor="@color/blue_1"
        android:textSize="50sp"
        android:textStyle="bold" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="50dp"

        android:id="@+id/et_reg_id"
        android:hint="   学号"
        android:background="@drawable/bg_edit"
        android:layout_below="@+id/tv_title2"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></EditText>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="50dp"

        android:id="@+id/et_reg_name"
        android:hint="   姓名"
        android:background="@drawable/bg_edit"
        android:layout_below="@+id/et_reg_id"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></EditText>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="50dp"

        android:id="@+id/et_reg_grade"
        android:hint="   班级"
        android:background="@drawable/bg_edit"
        android:layout_below="@+id/et_reg_name"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></EditText>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="50dp"

        android:id="@+id/et_reg_phone"
        android:hint="   电话号码"
        android:background="@drawable/bg_edit"
        android:layout_below="@+id/et_reg_grade"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></EditText>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:inputType="textPassword"
        android:id="@+id/et_reg_password"
        android:hint="   密码"
        android:background="@drawable/bg_edit"
        android:layout_below="@+id/et_reg_phone"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></EditText>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:id="@+id/btn_reg_add"
        android:text="注册"

        android:textSize="29dp"
        android:layout_below="@+id/et_reg_password"
        android:layout_marginTop="30dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></Button>

</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:background="@mipmap/pic_1"
    tools:context=".TeacherActivity"
    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_title0"
        android:text="欢迎使用"
        android:textSize="50sp"
        android:layout_marginTop="80dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:textStyle="bold"
        android:textColor="@color/white_text"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_title"
        android:text="每日打卡APP"
        android:textSize="50sp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:layout_below="@+id/tv_title0"
        android:textStyle="bold"
        android:textColor="@color/white_text"
        />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="50dp"

        android:id="@+id/et_teacher_id"
        android:hint="   教师工号"
        android:background="@drawable/bg_edit"

        android:layout_below="@+id/tv_title"
        android:layout_marginTop="50dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></EditText>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:inputType="textPassword"
        android:id="@+id/et_teacher_password"
        android:hint="   教师密码"
        android:background="@drawable/bg_edit"
        android:layout_below="@+id/et_teacher_id"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></EditText>


    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn_teacher_login"
        android:text="教师登录"
        android:textSize="28dp"

        android:layout_below="@+id/et_teacher_password"
        android:layout_marginTop="70dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        ></Button>

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/cb_save2"
        android:layout_below="@+id/et_teacher_password"
        android:layout_marginLeft="40dp"
        android:text="记住账号密码"
        android:textColor="@color/white"
        android:textSize="20sp"
        android:layout_marginTop="15dp" />



</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@mipmap/pic_bg1"
    >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="30dp"
        android:id="@+id/tv_time"
        ></TextView>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:textSize="20dp"
        android:id="@+id/et_remind"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:background="@drawable/bg_edit"
        android:layout_above="@+id/btn_time"
        android:hint="输入提醒事件"
        ></EditText>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn_time"
        android:text="设置时间"
        android:textSize="28dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:layout_marginTop="20dp"
        android:layout_above="@+id/btn_send"
        ></Button>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn_send"
        android:text="点击设置提醒"
        android:textSize="28dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="50dp"
        ></Button>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

        <ImageView
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:src="@mipmap/pic_ok"
            android:id="@+id/iv_168"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="8dp"
            android:padding="3dp"
            android:background="@drawable/bg_edit2"/>
        <TextView
            android:id="@+id/list_tv_date"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:layout_toRightOf="@+id/iv_168"
            android:text="日期"
            android:textSize="20dp"
            android:textColor="@color/black"
            android:layout_marginTop="8dp"
            android:background="@drawable/bg_edit2"
            />
        <TextView
            android:id="@+id/list_tv_word"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/iv_168"
            android:layout_marginRight="10dp"
            android:layout_below="@+id/list_tv_date"
            android:text="关键字"
            android:textSize="20dp"
            android:textColor="@color/black"
            android:background="@drawable/bg_edit2"
            />
        <TextView
            android:id="@+id/list_tv_summary"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_below="@+id/list_tv_keep"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:textSize="20dp"
            android:text="总结"
            android:textColor="@color/black"
            android:background="@drawable/bg_edit2"
            />
        <TextView
            android:id="@+id/list_tv_keep"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:layout_toRightOf="@+id/iv_168"
            android:textSize="20dp"
            android:layout_below="@+id/list_tv_word"
            android:text="坚持天数"
            android:textColor="@color/black"
            android:background="@drawable/bg_edit2"
            />


</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:orientation="vertical"
    tools:context=".A1Activity"
    android:background="@mipmap/pic_bg1">

    <androidx.recyclerview.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/a1_RecycleView"
        android:layout_marginBottom="20dp"/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:orientation="vertical"
    tools:context=".A3Activity"
    android:background="@mipmap/pic_5">


    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/tv_a3_num"
        android:text="发表总次数"
        android:textSize="20dp"
        android:textColor="@color/white_text"
        android:layout_marginTop="10dp" />

    <androidx.recyclerview.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/a3_RecycleView"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="50dp"/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:orientation="horizontal"
    tools:context=".A2Activity"
    android:background="@mipmap/pic_bg1">

    <androidx.recyclerview.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/a2_RecycleView"
        android:layout_marginBottom="20dp"/>
</RelativeLayout>

 

posted @ 2023-03-17 22:40  冰稀饭Aurora  阅读(115)  评论(0编辑  收藏  举报