2023年3月6日(软件工程日报)

今天完成个人作业第一部分内容,其中最长打卡天数未能实现,打卡显示没有完成,在第二阶段会加以完善。

以下为个人代码

java代码方面,包括闹钟设定,登录设定,注册设定,封装类,连接数据库,创建表结构

package com.example.myapplication2;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.content.DialogInterface;
import android.os.Bundle;

public class AlarmActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_alarm);
        AlertDialog alert = new AlertDialog.Builder(this).create();
       alert.setTitle("传播正能量");
       alert.setMessage("赶紧摆烂");
       alert.setButton(DialogInterface.BUTTON_POSITIVE, "确定", new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialogInterface, int i) {}
       });
       alert.show();
    }
}
View Code
package com.example.myapplication2;

import androidx.appcompat.app.AppCompatActivity;

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

public class FirstActivity extends AppCompatActivity implements View.OnClickListener {
     private Button btn_clock,btn_time,btn_return;
    private UserDBHelper mHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        btn_clock = findViewById(R.id.btn_clock);
        btn_time = findViewById(R.id.btn_time);
        btn_return = findViewById(R.id.btn_return);
        btn_clock.setOnClickListener(this);
        btn_time.setOnClickListener(this);
        btn_return.setOnClickListener(this);
    }
    @Override
    protected void onStart() {
        super.onStart();
        mHelper = UserDBHelper.getInstance(this);
        mHelper.openWriteLink();
        mHelper.openReadLink();
    }

    @Override
    protected void onStop() {
        super.onStop();
        mHelper.closeLink();
    }

    @Override
    public void onClick(View view) {
        switch (view.getId())
        {
            case R.id.btn_clock:
                Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
                startActivity(intent);
                break;
            case R.id.btn_time:
                Intent intent1 = new Intent(FirstActivity.this, TimeActivity.class);
                startActivity(intent1);
                break;
            case R.id.btn_return:
                Intent intent2 = new Intent(FirstActivity.this, LoginActivity.class);
                startActivity(intent2);
                break;
        }
    }
}
View Code
package com.example.myapplication2;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.myapplication2.Until.ToastUntil;

public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
   private Button btn_regist,btn_login;
    private EditText tv_name, tv_password;
    private UserDBHelper mHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        tv_name = findViewById(R.id.tv_name);
        tv_password = findViewById(R.id.tv_password);
        btn_regist = findViewById(R.id.btn_regist);
        btn_login = findViewById(R.id.btn_login);
        tv_name.setOnClickListener(this);
        tv_password.setOnClickListener(this);
        btn_regist.setOnClickListener(this);
        btn_login.setOnClickListener(this);
    }

    @Override
    protected void onStart() {
        super.onStart();
        mHelper = UserDBHelper.getInstance(this);
        mHelper.openWriteLink();
        mHelper.openReadLink();
    }

    @Override
    protected void onStop() {
        super.onStop();
        mHelper.closeLink();
    }

    @Override
    public void onClick(View view) {
        switch (view.getId())
        {
            case R.id.btn_regist:
                Intent intent = new Intent(LoginActivity.this,RegisteActivity.class);
                startActivity(intent);
            case R.id.btn_login:
                String name = tv_name.getText().toString();
                String password = tv_password.getText().toString();
                if(name.equals("") || password.equals("")) {

                    ToastUntil.show(this, "有输入为空");
                }
                else {
                    if (mHelper.search(name, password) == 0) {
                        ToastUntil.show(this, "账户不存在");
                    } else if (mHelper.search(name, password) == 1) {
                        ToastUntil.show(this, "登录成功");
                        Intent intent1 = new Intent(LoginActivity.this, FirstActivity.class);
                        startActivity(intent1);
                    } else if (mHelper.search(name, password) == 2) {
                        ToastUntil.show(this, "密码错误");
                    }
                }

        }
    }
}
View Code
package com.example.myapplication2;

public class Passage {
    private String usename;
    private String sometime;
    private String essential;
    private String word;
    private String day;

    public Passage() {
    }

    public Passage(String usename, String sometime, String essential, String word, String day) {
        this.usename = usename;
        this.sometime = sometime;
        this.essential = essential;
        this.word = word;
        this.day = day;
    }

    @Override
    public String toString() {
        return "Passage{" +
                "usename='" + usename + '\'' +
                ", sometime='" + sometime + '\'' +
                ", essential='" + essential + '\'' +
                ", word='" + word + '\'' +
                ", day='" + day + '\'' +
                '}';
    }

    public String getUsename() {
        return usename;
    }

    public void setUsename(String usename) {
        this.usename = usename;
    }

    public String getSometime() {
        return sometime;
    }

    public void setSometime(String sometime) {
        this.sometime = sometime;
    }

    public String getEssential() {
        return essential;
    }

    public void setEssential(String essential) {
        this.essential = essential;
    }

    public String getWord() {
        return word;
    }

    public void setWord(String word) {
        this.word = word;
    }

    public String getDay() {
        return day;
    }

    public void setDay(String day) {
        this.day = day;
    }


}
View Code
package com.example.myapplication2;

import androidx.appcompat.app.AppCompatActivity;

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

import com.example.myapplication2.Until.ToastUntil;

public class RegisteActivity extends AppCompatActivity implements View.OnClickListener {
    private EditText et_name, et_password, et_number, et_phone, et_class;
    private Button btn_registe, btn_cannel;
    private UserDBHelper mHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_registe);
        et_name = findViewById(R.id.et_name);
        et_password = findViewById(R.id.et_password);
        et_number = findViewById(R.id.et_number);
        et_phone = findViewById(R.id.et_phone);
        et_class = findViewById(R.id.et_class);
        findViewById(R.id.et_name).setOnClickListener(this);
        findViewById(R.id.et_password).setOnClickListener(this);
        findViewById(R.id.et_number).setOnClickListener(this);
        findViewById(R.id.et_phone).setOnClickListener(this);
        findViewById(R.id.et_class).setOnClickListener(this);
        findViewById(R.id.btn_registe).setOnClickListener(this);
        findViewById(R.id.btn_cannel).setOnClickListener(this);
    }

    @Override
    protected void onStart() {
        super.onStart();
        mHelper = UserDBHelper.getInstance(this);
        mHelper.openWriteLink();
        mHelper.openReadLink();
    }

    @Override
    protected void onStop() {
        super.onStop();
        mHelper.closeLink();
    }


    @Override
    public void onClick(View view) {
        String name = et_name.getText().toString();
        String password = et_password.getText().toString();
        String number = et_number.getText().toString();
        String phone = et_phone.getText().toString();
        String classt = et_class.getText().toString();
        User user = null;
        switch (view.getId()) {
            case R.id.btn_registe:
                user = new User(name, password, number, phone, classt);
                if(name.equals("") || password.equals("") || number.equals("") || phone.equals("") || classt.equals(""))
                {
                    ToastUntil.show(this, "有输入为空");
                }
                else if (mHelper.search1(name) == 1) {
                    ToastUntil.show(this, "账户存在");
                }
                else if(mHelper.search1(name) == 0)
                {
                    if (mHelper.insert(user) > 0) {
                        ToastUntil.show(this, "添加成功");
                        Intent intent = new Intent(RegisteActivity.this, LoginActivity.class);
                        startActivity(intent);
                    }
                }
                break;
            case R.id.btn_cannel:
                Intent intent = new Intent(RegisteActivity.this,LoginActivity.class);
                startActivity(intent);
        }
    }
}
View Code
package com.example.myapplication2;

import androidx.appcompat.app.AppCompatActivity;

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

import com.example.myapplication2.Until.ToastUntil;

public class SecondActivity extends AppCompatActivity implements View.OnClickListener {
    private EditText et_usename, et_essential, et_word, et_day, et_sometime;
    private Button btn_add, btn_noadd;
    private UserDBHelp mHelper;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        et_usename = findViewById(R.id.et_usename);
        et_essential = findViewById(R.id.et_essential);
        et_word = findViewById(R.id.et_word);
        et_sometime = findViewById(R.id.et_sometime);
        findViewById(R.id.et_usename).setOnClickListener(this);
        findViewById(R.id.et_essential).setOnClickListener(this);
        findViewById(R.id.et_word).setOnClickListener(this);
        findViewById(R.id.et_sometime).setOnClickListener(this);
        findViewById(R.id.btn_add).setOnClickListener(this);
        findViewById(R.id.btn_noadd).setOnClickListener(this);
    }

    @Override
    protected void onStart() {
        super.onStart();
        mHelper = UserDBHelp.getInstance(this);
        mHelper.openWriteLink();
        mHelper.openReadLink();
    }

    @Override
    protected void onStop() {
        super.onStop();
        mHelper.closeLink();
    }


    @Override
    public void onClick(View view) {
        String usename = et_usename.getText().toString();
        String essential = et_essential.getText().toString();
        String word = et_word.getText().toString();
        String sometime = et_sometime.getText().toString();
        String day = String.valueOf(mHelper.search2(usename));
        Passage passage = null;
        switch (view.getId()) {
            case R.id.btn_noadd:
                Intent intent = new Intent(SecondActivity.this, FirstActivity.class);
                startActivity(intent);
                break;
            case R.id.btn_add:
                passage = new Passage(usename, sometime, essential, word, day);
                if(usename.equals("") || essential.equals("") || word.equals("") || sometime.equals(""))
                {
                    ToastUntil.show(this, "有输入为空");
                }
                else {
                    if (mHelper.insert(passage) > 0) {
                        ToastUntil.show(this, "添加成功");
                        Intent intent1 = new Intent(SecondActivity.this, FirstActivity.class);
                        startActivity(intent1);
                    }
                    break;
                }
        }
    }
}
View Code
package com.example.myapplication2;

import androidx.appcompat.app.AppCompatActivity;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
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 java.util.Calendar;

public class TimeActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_time);
        final TimePicker timePicker = (TimePicker) findViewById(R.id.tv_time);
        timePicker.setIs24HourView(true);
        Button button1 = (Button) findViewById(R.id.btn_times);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(TimeActivity.this,AlarmActivity.class);
                PendingIntent pendingIntent = PendingIntent.getActivity(TimeActivity.this,0,intent,0);
                AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
                Calendar c = Calendar.getInstance();
                c.set(Calendar.HOUR_OF_DAY,timePicker.getCurrentHour());
                c.set(Calendar.MINUTE,timePicker.getCurrentMinute());
                c.set(Calendar.SECOND,0);
                alarm.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);
                Toast.makeText(TimeActivity.this, "闹钟设置成功", Toast.LENGTH_SHORT).show();
            }
        });
    }
}
View Code
package com.example.myapplication2;

public class User {
    private String name;
    private String password;
    private String number;
    private String classroom;
    private String phone;

    public User() {
    }

    public User(String username, String password, String number, String classroom, String phone) {
        this.name = username;
        this.password = password;
        this.number = number;
        this.classroom = classroom;
        this.phone = phone;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + name + '\'' +
                ", password='" + password + '\'' +
                ", number='" + number + '\'' +
                ", classroom='" + classroom + '\'' +
                ", phone='" + phone + '\'' +
                '}';
    }

    public String getUsername() {
        return name;
    }

    public void setUsername(String username) {
        this.name = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getClassroom() {
        return classroom;
    }

    public void setClassroom(String classroom) {
        this.classroom = classroom;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}
View Code
package com.example.myapplication2;

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

public class UserDBHelp extends SQLiteOpenHelper {
    private static final String DB_NAME = "note.db";//名字
    private static final String TABLE_NAME = "notes";//名字
    private static final int DB_VERSION = 1;//版本
    private static UserDBHelp mHelper = null;
    private SQLiteDatabase mRDB = null;
    private SQLiteDatabase wRDB = null;
    private UserDBHelp(Context context)
    {
        super(context,DB_NAME,null,DB_VERSION);
    }
    public static UserDBHelp getInstance(Context context)
    {
        if (mHelper == null)
        {
            mHelper = new UserDBHelp(context);
        }
        return  mHelper;
    }
    public  SQLiteDatabase openReadLink()//读连接
    {
        if(mRDB == null || !mRDB.isOpen()) {
            mRDB = mHelper.getReadableDatabase();
        }
        return mRDB;
    }
    public  SQLiteDatabase openWriteLink()//写连接
    {
        if(wRDB == null || !wRDB.isOpen()) {
        }
        return wRDB;
    }
    public void closeLink()
    {
        if(mRDB != null && mRDB.isOpen())
        {
            mRDB.close();
            mRDB = null;
        }
        if(wRDB != null && wRDB.isOpen())
        {
            wRDB.close();
            wRDB = null;
        }
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql1 = "CREATE TABLE IF NOT EXISTS "+TABLE_NAME+" (" + "usename VARCHAR NOT NULL," + "sometime VARCHAR NOT NULL," + "essential VARCHAR NOT NULL," + "word VARCHAR NOT NULL," + "day VARCHAR NOT NULL);";
        db.execSQL(sql1);
    }


    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
    public long insert(Passage passage)
    {
        ContentValues values = new ContentValues();
        values.put("usename",passage.getUsename());
        values.put("sometime",passage.getSometime());
        values.put("essential",passage.getEssential());
        values.put("word",passage.getWord());
        values.put("day",passage.getDay());
        if (wRDB == null)
        {
            wRDB = mHelper.getWritableDatabase();

        }
        return wRDB.insert(TABLE_NAME,null,values);
    }
    public int search2(String usename) {
        int i = 1;
        if (wRDB == null)
        {
            wRDB = mHelper.getReadableDatabase();

        }
        Cursor cursor = wRDB.query("notes", new String[]{"usename"}, "usename=?", new String[]{usename}, null, null, null, null);
        while (cursor.moveToNext()) {
            if (usename.equals(cursor.getString(0))) {
                i++;
            }
        }

        return i;
    }
}
View Code
package com.example.myapplication2;

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

import com.example.myapplication2.Until.ToastUntil;

public class UserDBHelper extends SQLiteOpenHelper {
    private static final String DB_NAME = "users.db";//名字
    private static final String TABLE_NAME = "enroll";//名字
   // private static final String TABLE_NAME1 = "notes";//名字
    private static final int DB_VERSION = 1;//版本
    private static UserDBHelper mHelper = null;
    private SQLiteDatabase mRDB = null;
    private SQLiteDatabase wRDB = null;
    private UserDBHelper(Context context)
    {
        super(context,DB_NAME,null,DB_VERSION);
    }
    public static UserDBHelper getInstance(Context context)
    {
        if (mHelper == null)
        {
            mHelper = new UserDBHelper(context);
        }
        return  mHelper;
    }
    public  SQLiteDatabase openReadLink()//读连接
    {
        if(mRDB == null || !mRDB.isOpen()) {
            mRDB = mHelper.getReadableDatabase();
        }
        return mRDB;
    }
    public  SQLiteDatabase openWriteLink()//写连接
    {
        if(wRDB == null || !wRDB.isOpen()) {
        }
        return wRDB;
    }
    public void closeLink()
    {
        if(mRDB != null && mRDB.isOpen())
        {
            mRDB.close();
            mRDB = null;
        }
        if(wRDB != null && wRDB.isOpen())
        {
            wRDB.close();
            wRDB = null;
        }
    }
   /* String sql1 = "CREATE TABLE IF NOT EXISTS "+TABLE_NAME1+" (" + "usename VARCHAR NOT NULL," + "sometime VARCHAR NOT NULL," + "essential VARCHAR NOT NULL," + "word VARCHAR NOT NULL," + "day VARCHAR NOT NULL);";
        db.execSQL(sql1);*/
    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "CREATE TABLE IF NOT EXISTS "+TABLE_NAME+" (" + "name VARCHAR NOT NULL," + "password VARCHAR NOT NULL," + "number VARCHAR NOT NULL," + "classroom VARCHAR NOT NULL," + "phone VARCHAR NOT NULL);";
        db.execSQL(sql);

    }


    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
    public long insert(User user)
    {
        ContentValues values = new ContentValues();
        values.put("name",user.getUsername());
        values.put("password",user.getPassword());
        values.put("number",user.getNumber());
        values.put("classroom",user.getClassroom());
        values.put("phone",user.getPhone());
        if (wRDB == null)
        {
            wRDB = mHelper.getWritableDatabase();

        }
        return wRDB.insert(TABLE_NAME,null,values);
    }
       public int search(String name,String password) {
        int i = 0;
           if (wRDB == null)
           {
               wRDB = mHelper.getReadableDatabase();

           }
        Cursor cursor = wRDB.query("enroll", new String[]{"password"}, "name=?", new String[]{name}, null, null, null, null);
        while (cursor.moveToNext()) {
        if (password.equals(cursor.getString(0))) {
            i = 1;

        } else {
            i = 2;

        }
    }

    return i;
}
    public int search1(String name) {
        int i = 0;
        if (wRDB == null)
        {
            wRDB = mHelper.getReadableDatabase();

        }
        Cursor cursor = wRDB.query("enroll", new String[]{"name"}, "name=?", new String[]{name}, null, null, null, null);
        while (cursor.moveToNext()) {
            if (name.equals(cursor.getString(0))) {
                i = 1;
            }
        }

        return i;
    }

}
View Code

xml方面

包括登录界面,注册界面,闹钟提醒界面,打卡界面

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <Button
            android:id="@+id/btn_clock"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="打卡" />
        <Button
            android:id="@+id/btn_time"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="定时" />
        <Button
            android:id="@+id/btn_return"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="返回登录界面" />

    </LinearLayout>
</LinearLayout>
View Code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.3"
                android:gravity="center"
                android:textSize="18dp"
                android:text="用户名:"/>
            <EditText
                android:id="@+id/tv_name"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_marginRight="20dp"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:textSize="18dp"
                android:layout_weight="0.3"
                android:text="密    码:"/>
            <EditText
                android:id="@+id/tv_password"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:inputType="textPassword"
                android:layout_weight="1"
                android:layout_marginRight="20dp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <Button
                android:id="@+id/btn_login"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_margin="5dp"
                android:text="登录"
                />
            <Button
                android:id="@+id/btn_regist"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_margin="5dp"
                android:text="注册"
                />
        </LinearLayout>
    </LinearLayout>


</LinearLayout>
View Code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <!-- 用户名部分 -->
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="用户名:" />

        <EditText
            android:id="@+id/et_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="密 码:"
            />

        <EditText
            android:id="@+id/et_password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword"

            />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="学号:" />

        <EditText
            android:id="@+id/et_number"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="手机号:" />

        <EditText
            android:id="@+id/et_phone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <!-- 密码部分 -->

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="用户班级"
            />

        <EditText
            android:id="@+id/et_class"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <Button
            android:id="@+id/btn_registe"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="注册" />
        <Button
            android:id="@+id/btn_cannel"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="取消" />

    </LinearLayout>
</LinearLayout>
View Code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <!-- 用户名部分 -->
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="学号:" />
        <EditText
            android:id="@+id/et_usename"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="时间:" />
        <EditText
            android:id="@+id/et_sometime"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="关键字:" />

        <EditText
            android:id="@+id/et_essential"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="总结:" />
        <EditText
            android:id="@+id/et_word"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <Button
            android:id="@+id/btn_add"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="增加" />
        <Button
            android:id="@+id/btn_noadd"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="返回" />

    </LinearLayout>
</LinearLayout>
View Code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".TimeActivity">
<TimePicker
    android:id="@+id/tv_time"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
    <Button
        android:id="@+id/btn_times"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="设置闹钟"
        />
</LinearLayout>
View Code

以上为第一阶段所有代码

在第二阶段的代码会在之后的的日报中更新

posted @ 2023-03-06 18:59  摆烂达人  阅读(16)  评论(0编辑  收藏  举报