android实现学生信息录入系统

该博客介绍了一个Android应用,用于学生信息录入。应用包含四个界面:基本信息、院系专业、其他信息和提交。在基本信息界面,籍贯和生日通过身份证号自动填充;信息录入完成后,通过广播发送,广播接收器展示信息并可存入数据库。
摘要由CSDN通过智能技术生成

/*
设计如下四个界面,界面分别为“开始界面”(MainActivity)、“基本信息界面”(BasicInfoActivity)、“院系专业界面”(SchoolInfoActivity)、“其他信息界面”(OtherInfoActivity),单击第一个界面“进入”按钮跳转到第二个界面,在第二个界面录入学生基本信息,这个界面的籍贯及生日信息从身份证号提取(籍贯提取使用Service实现,类名为NativePlaceService),并自动填充到对应的文本编辑框中,单击第二个界面“下一步”按钮跳转到第三个界面,在第三个界面录入院系、专业、班级等信息,单击第三个界面“下一步”按钮跳转到第四个界面,在第四个界面录入电话、电子邮箱、微信号、特长相关信息,单击第四个界面“提交”按钮后,将所有录入信息通过广播方式进行发送,广播接收器(MyBroadcastReceiver)接收到广播后,弹出对话框,对话框显示所有录入信息,单击对话框的“确定”后,将信息存入数据库,单击“取消”按钮,返回第二个界面。
*/
package com.xatu.final_exam_test;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class BasicInfoActivity extends AppCompatActivity implements View.OnClickListener, RadioGroup.OnCheckedChangeListener {
private Button button_next;
private EditText editText_id, editText_name, editText_idcard,editText_year,editText_month,editText_day,editText_place;
private RadioGroup radioGroup_sex;
private RadioButton radioButton_boy, radioButton_girl;
private String selectedType_sex = “”;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_basic_info);
    IntView();
    button_next.setOnClickListener(this);
    radioGroup_sex.setOnCheckedChangeListener(this);
}

public void IntView() {
    button_next = findViewById(R.id.btn_next);
    editText_id = findViewById(R.id.et_id);
    editText_name = findViewById(R.id.et_name);
    editText_idcard = findViewById(R.id.et_idcard);
    editText_idcard.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

        }

        @Override
        public void afterTextChanged(Editable s) {
            String idcard=s.toString().trim();
            String city=CityMap.findCity(BasicInfoActivity.this,idcard);
            String year = "";
            String month = "";
            String day = "";
            if(editText_idcard.getText().toString().length() == 18 ) {
                year = editText_idcard.getText().toString().substring(6, 10);
                month = editText_idcard.getText().toString().substring(10, 12);
                day = editText_idcard.getText().toString().substring(12, 14);
            }
            if (city!=null){
                // 获取籍贯信息,添加生日信息
                editText_place.setText(city);
                editText_year.setText(year);
                editText_month.setText(month);
                editText_day.setText(day);
            }
        }
    });
    radioGroup_sex = findViewById(R.id.radio_sex);
    radioButton_boy = findViewById(R.id.radio_boy);
    radioButton_girl = findViewById(R.id.radio_girl);
    editText_place=findViewById(R.id.et_NativePlace);
    editText_place.setEnabled(false);
    editText_year=findViewById(R.id.et_year);
    editText_year.setEnabled(false);
    editText_month=findViewById(R.id.et_month);
    editText_month.setEnabled(false);
    editText_day=findViewById(R.id.et_day);
    editText_day.setEnabled(false);
}

@Override
public void onCheckedChanged(RadioGroup group, int id) {
    if (id == R.id.radio_boy) {
        selectedType_sex = radioButton_boy.getText().toString();
    } else {
        selectedType_sex = radioButton_girl.getText().toString();
    }
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btn_next:
            Intent intent2 = new Intent(BasicInfoActivity.this, SchoolInfoActivity.class);
            intent2.putExtra("xuehao", editText_id.getText().toString().trim());
            intent2.putExtra("name", editText_name.getText().toString().trim());
            intent2.putExtra("idcard", editText_idcard.getText().toString().trim());
            intent2.putExtra("sex", selectedType_sex.toString().trim());

// Toast.makeText(BasicInfoActivity.this, “姓名:” + editText_name.getText().toString() +
// “\n 学号:” + editText_id.getText().toString() + “\n 身份证号:” + editText_idcard.getText().toString()
// + “\n 性别:” + selectedType_sex.toString(), Toast.LENGTH_SHORT).show();
startActivity(intent2);
break;
}
}
}
package com.xatu.final_exam_test;

import android.content.Context;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.io.InputStream;

public class CityMap {

private static JSONObject json;

public static String findCity(Context context, String idCode) {
    if (idCode.length() >= 6) {
        if (json == null) {
            try {
                InputStream in = context.getAssets().open("city_map.json");
                byte[] bytes = new byte[in.available()];
                in.read(bytes);
                in.close();
                json = new JSONObject(new String(bytes));
            } catch (IOException | JSONException e) {
                e.printStackTrace();
            }
        }
        String code = idCode.substring(0, 6);
        try {
            return json.getString(code);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
    return null;
}

}
package com.xatu.final_exam_test;

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

public class DBAdapter {
private static final String DB_NAME = “student.db”;
static final String DB_TABLE = “studentinfo”;
private static final int DB_VERSION = 1;

public static final String KEY_ID = "student_id";
public static final String KEY_NAME = "name";
public static final String KEY_IDCARD = "id_numbe";
public static final String KEY_SEX = "sex";
public static final String KEY_PLACE = "native_place";
public static final String KEY_BIRTHDAY = "birthday";
public static final String KEY_SCHOOL = "school";
public static final String KEY_MAJOR = "major";
public static final String KEY_CLASS = "student_class";
public static final String KEY_PHONE = "phone";
public static final String KEY_EMAIL = "email";
public static final String KEY_WEIXIN = "weixin_number";
public static final String KEY_TECHANG = "special_skill";

private SQLiteDatabase db;
private Context context;
private DBOpenHelper dbOpenHelper;

private static class DBOpenHelper extends SQLiteOpenHelper {
    public DBOpenHelper(Context context, String name,
                        SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);

    }

    private static final String DB_CREATE = "create table " + DB_TABLE + "(" + KEY_ID + " integer primary key autoincrement," +
            KEY_NAME + "text no
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值