Android简单的学生管理系统 - Go语言中文社区

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;
    }
}

项目源码下载地址:https://pan.baidu.com/s/1jJymWzs 密码: vxve

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u010870518/article/details/44960409
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-04-19 13:35:55
  • 阅读 ( 1304 )
  • 分类:研发管理

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢