当前位置: 代码迷 >> Android >> Android容易的学生管理系统
  详细解决方案

Android容易的学生管理系统

热度:15   发布时间:2016-04-28 01:36:47.0
Android简单的学生管理系统

(1)管理系统实现的功能主要是:学生、教师的注册登录,和选课,以及修改学生的成绩等基本简单的功能,最主要的是实现一些Dialog的使用。
界面如下:
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述

(2)主要代码如下:(个人留作笔记,如需要完整代码,在最下边免费下载)

下边是一个适配器,适配器是为了一个listvie进行设置值,其中加载的是一个itemview,适配器中还是用了继承的方法,用于通知适配器进行更新。

public class CourseAdapter extends BaseAdapter {    private Context context;    private List<Course> coursetList;    public CourseAdapter(Context context, List<Course> coursetList) {        this.context = context;        this.coursetList = coursetList;    }    public int getCount() {        return coursetList.size();    }    public Object getItem(int position) {        return coursetList.get(position);    }    public long getItemId(int position) {        return position;    }    /**     * 通知adapter更新数据     */    @Override    public void notifyDataSetChanged() {        super.notifyDataSetChanged();    }    public View getView(int position, View convertView, ViewGroup parent) {        if (convertView == null) {            //这里加载的每一个item条目的布局文件            convertView = LayoutInflater.from(context).inflate(                    R.layout.student_score_item, null);        }        TextView tv_name = (TextView) convertView.findViewById(R.id.tv_name);        TextView tv_course = (TextView) convertView                .findViewById(R.id.tv_course);        TextView tv_score = (TextView) convertView.findViewById(R.id.tv_score);        // 获得某一个位置的student        Course course = coursetList.get(position);        tv_name.setText(course.getStudentName() + "");        tv_course.setText(course.getCourseName() + "");        tv_score.setText(course.getCourseSocre() + "");        return convertView;    }}

(3)还用到了Java的反射机制,结合工厂模式进行操作:

public class PersonFactory {    /**     * 根据类的名称来生产对象:java的反射机制使用     *      * @param className     * @return     */    public PersonInter getPersonByClass(String className) {        try {            PersonInter personInter = (PersonInter) Class.forName(className).newInstance();            return personInter;        } catch (InstantiationException e) {            e.printStackTrace();        } catch (IllegalAccessException e) {            e.printStackTrace();        } catch (ClassNotFoundException e) {            e.printStackTrace();        }        return null;    }    /**     * 根据类型来创建对象     */    public PersonInter getHair(String key) {        if ("student".equals(key)) {            return new StudentImpl();        } else if ("teacher".equals(key)) {            return new TeacherImpl();        }        return null;    }    /**     * 根据类的名称来生产对象:java的映射     */    public PersonInter getPersonByClassKey(String key) {        try {            Map<String, String> map = new PropertiesReader().getProperties();            PersonInter person = (PersonInter) Class.forName(map.get(key)).newInstance();            return person;        } catch (InstantiationException e) {            e.printStackTrace();        } catch (IllegalAccessException e) {            e.printStackTrace();        } catch (ClassNotFoundException e) {            e.printStackTrace();        }        return null;    }}

项目源码下载地址:http://yunpan.cn/cVHSjNCeRxZqV 访问密码 96dd

  相关解决方案