赞
踩
由android + mysql实现
功能需求和页面需求两天没有细想,想到啥功能写啥功能想到啥界面写啥界面
总体界面结构参照了微信的设计结构,主要功能包括管理员的注册和登录,所有学生信息的查询、单个学生信息的添加。
界面主要由两下方的按钮部分和上方的功能部分组成,每一个按钮又是一个不同的Fragment,每一个功能也是一个不同的Fragment。
布局为垂直线性布局,从上到下依次是ImageButton以及TextView。
其余三个按钮类似,不做过多介绍。
布局为ConstraintLayout,由ImageView、两个TextView、两个按钮构成
布局为垂直线性布局,从上到下依次是TextView,TableLayout。为TableLayout添加五列,分别是学生的学号、专业、姓名、性别、年龄。
布局为ConstraintLayout
以上四个按钮+三个Fragment共同组成了整个学生管理系统
用户的属性为用户名和密码
字段名 | 字段类型 | 字段长度 |
---|---|---|
username | String | 50 |
password | String | 50 |
学生的属性为学号、专业、姓名、性别、年龄
字段名 | 字段类型 | 字段长度 |
---|---|---|
id | String | 20 |
major | String | 20 |
name | String | 20 |
age | int | 20 |
gender | String | 20 |
将四个不同按钮的界面设计好后,分别新建四个不同的Fragment的子类与四个不同的按钮相对应
添加完毕之后,为主页面添加四个fragments与上面四个类相对应,并在主页面中添加相应的点击事件监听,并创建四个功能界面碎片的实例。之后的主要逻辑为,先隐藏所有的界面碎片实例,在根据按钮的不同来展现不同的碎片实例。
上图是登录注册界面部分的切换,其他类似。
至此,Fragment页面切换功能结束。
首先新建一个叫studentDao的类来编写对学生信息的增删改查
所有学生信息查询
添加学生信息
通过学号查询学生信息
调用方法
依旧是开启一个线程,在使用java语句手动创建一行向tableLayout中添加以查询到的数据
public void run() { for (int i = 0; i<mStudentList.size(); i++){ TableRow row = new TableRow(getContext()); text1 = new TextView(getContext()); text1.setText(mStudentList.get(i).getId()); text1.setTextSize(20); //字体大小 text1.setTextColor(R.color.teal_200); text1.setGravity(Gravity.CENTER); //居中显示 text2 = new TextView(getContext()); text2.setText(mStudentList.get(i).getMajor()); text2.setTextSize(20); //字体大小 text2.setGravity(Gravity.CENTER); //居中显示 text3 = new TextView(getContext()); text3.setText(mStudentList.get(i).getName()); text3.setTextColor(R.color.teal_200); text3.setTextSize(20); //字体大小 text3.setGravity(Gravity.CENTER); //居中显示 text4 = new TextView(getContext()); text4.setText(String.valueOf(mStudentList.get(i).getAge())); text4.setTextSize(20); //字体大小 text4.setGravity(Gravity.CENTER); //居中显示 text5 = new TextView(getContext()); text5.setText(mStudentList.get(i).getGender()); text5.setTextSize(20); //字体大小 text5.setGravity(Gravity.CENTER); //居中显示 row.addView(text1); row.addView(text2); row.addView(text3); row.addView(text4); row.addView(text5); mTableLayout.addView(row); } }
并在主线程中更新
mStudentDao = new studentDao();
mTableLayout = view.findViewById(R.id.table);
new Thread(new Runnable(){
public void run(){
mStudentList =mStudentDao.findAllDao();
handler.post(mRunnable);
}
}).start();
所有学生信息查询功能结束
业务逻辑
//添加学生数据
public boolean add(Student student){
if (mStudentDao.findByIdDao(student.getId()).getId()!=null){
return false;
}
mStudentDao.addDao(student);
return true;
}
数据获取
调用方法
至此,添加学生信息功能结束
其他功能不好展现,在这里就不展现了,有什么做的不好的地方请多多指教。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。