博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【黑马Android】(03)学生管理系统/动态刷新界面
阅读量:6495 次
发布时间:2019-06-24

本文共 7182 字,大约阅读时间需要 23 分钟。

学生管理系统

package com.itheima27.sutdentmanager.entities;public class Student {	private String name;	private String sex;	private Integer age;	public Student(String name, String sex, Integer age) {		super();		this.name = name;		this.sex = sex;		this.age = age;	}	public Student() {		super();		// TODO Auto-generated constructor stub	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getSex() {		return sex;	}	public void setSex(String sex) {		this.sex = sex;	}	public Integer getAge() {		return age;	}	public void setAge(Integer age) {		this.age = age;	}	@Override	public String toString() {		return "Student [name=" + name + ", sex=" + sex + ", age=" + age + "]";	}}
package com.itheima27.sutdentmanager;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserException;import org.xmlpull.v1.XmlSerializer;import com.itheima27.sutdentmanager.entities.Student;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.graphics.Color;import android.text.TextUtils;import android.util.Xml;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.EditText;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {    private EditText etName;	private EditText etSex;	private EditText etAge;	private LinearLayout llStudentList;	private List
studentList; private String filePath; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { etName = (EditText) findViewById(R.id.et_name); etSex = (EditText) findViewById(R.id.et_sex); etAge = (EditText) findViewById(R.id.et_age); llStudentList = (LinearLayout) findViewById(R.id.ll_student_list); findViewById(R.id.btn_save).setOnClickListener(this); findViewById(R.id.btn_restore).setOnClickListener(this); findViewById(R.id.btn_add_student).setOnClickListener(this); studentList = new ArrayList
(); filePath = Environment.getExternalStorageDirectory().getPath() + "/student.xml"; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_save: if(studentList.size() > 0) { if(saveStudent2Local()) { Toast.makeText(this, "保存成功", 0).show(); } else { Toast.makeText(this, "保存失败", 0).show(); } } else { Toast.makeText(this, "当前没有数据", 0).show(); } break; case R.id.btn_restore: if(restoreStudentFromLocal()) { Toast.makeText(this, "恢复成功", 0).show(); } else { Toast.makeText(this, "恢复失败", 0).show(); } break; case R.id.btn_add_student: addStudent(); break; default: break; } } private boolean restoreStudentFromLocal() { try { XmlPullParser parser = Xml.newPullParser(); parser.setInput(new FileInputStream(filePath), "utf-8"); int eventType = parser.getEventType(); studentList.clear(); Student student = null; String nodeName = null; while(eventType != XmlPullParser.END_DOCUMENT) { nodeName = parser.getName(); switch (eventType) { case XmlPullParser.START_TAG: if("student".equals(nodeName)) { student = new Student(); } else if("name".equals(nodeName)) { student.setName(parser.nextText()); } else if("sex".equals(nodeName)) { student.setSex(parser.nextText()); } else if("age".equals(nodeName)) { student.setAge(Integer.valueOf(parser.nextText())); } break; case XmlPullParser.END_TAG: if("student".equals(nodeName)) { studentList.add(student); } break; default: break; } eventType = parser.next(); } refreshStudentList(); return true; } catch (Exception e) { e.printStackTrace(); } return false; } private void refreshStudentList() { llStudentList.removeAllViews(); TextView childView; for (Student student : studentList) { childView = new TextView(this); childView.setTextSize(23); childView.setTextColor(Color.BLACK); childView.setText("  " + student.getName() + "  " + student.getSex() + "  " + student.getAge()); llStudentList.addView(childView); } } private boolean saveStudent2Local() { try { XmlSerializer serializer = Xml.newSerializer(); serializer.setOutput(new FileOutputStream(filePath), "utf-8"); serializer.startDocument("utf-8", true); serializer.startTag(null, "infos"); for (Student stu : studentList) { serializer.startTag(null, "student"); serializer.startTag(null, "name"); serializer.text(stu.getName()); serializer.endTag(null, "name"); serializer.startTag(null, "sex"); serializer.text(stu.getSex()); serializer.endTag(null, "sex"); serializer.startTag(null, "age"); serializer.text(String.valueOf(stu.getAge())); serializer.endTag(null, "age"); serializer.endTag(null, "student"); } serializer.endTag(null, "infos"); serializer.endDocument(); return true; } catch (Exception e) { e.printStackTrace(); } return false; } private void addStudent() { String name = etName.getText().toString(); String sex = etSex.getText().toString(); String age = etAge.getText().toString(); if(!TextUtils.isEmpty(name) && !TextUtils.isEmpty(sex) && !TextUtils.isEmpty(age)) { studentList.add(new Student(name, sex, Integer.valueOf(age))); TextView childView = new TextView(this); childView.setTextSize(23); childView.setTextColor(Color.BLACK); childView.setText("  " + name + "  " + sex + "  " + age); llStudentList.addView(childView); } else { Toast.makeText(this, "请正确输入", 0).show(); } }}

动态刷新界面

package com.itheima28.refreshview;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.widget.LinearLayout;import android.widget.TextView;public class MainActivity extends Activity {	private LinearLayout llGroup;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);				llGroup = (LinearLayout) findViewById(R.id.ll);	}	public void onClick(View view) {				// 添加一个TextView向llGroup				// 定义一个textview对象		TextView tv = new TextView(this);		tv.setText("张三   女   34");				// 把textview对象添加到linearlayout中		llGroup.addView(tv);	}}

你可能感兴趣的文章
string与数值之间的转换
查看>>
Windows系统安装Oracle 11g客户端
查看>>
怎样写出一个较好的高速排序程序
查看>>
【动态规划】最长公共子序列与最长公共子串
查看>>
要立刷金组flag了T_T
查看>>
Swift常量和变量
查看>>
GNU Make chapter 2 —— Makefile 介绍
查看>>
[转]在Eclipse中使用JUnit4进行单元测试(中级篇)
查看>>
gdb图形化调试工具总结
查看>>
白话经典算法系列之七 堆与堆排序
查看>>
微软职位内部推荐-SDEII
查看>>
Windows下FFmpeg高速入门
查看>>
【分享】 IT囧事
查看>>
Android安卓开发中图片缩放讲解
查看>>
【Java】Lucene检索引擎详解
查看>>
Cts框架解析(7)-任务运行的调度室
查看>>
SDN:软件定义网络
查看>>
1.1GTK+ 的简单程序HelloWorld
查看>>
一款基jquery超炫的动画导航菜单
查看>>
stm32时钟树讲解
查看>>