学生管理系统

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.itheima27.sutdentmanager"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="17" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="com.itheima27.sutdentmanager.MainActivity"            android:label="@string/app_name"            android:theme="@android:style/Theme.NoTitleBar" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@android:color/white"    android:orientation="vertical" >    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center_horizontal"        android:layout_marginTop="5dip"        android:text="学生管理系统"        android:textColor="#99CCFF"        android:textSize="23sp" />    <RelativeLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginTop="5dip"        android:padding="5dip" >        <TextView            android:id="@+id/tv_name"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingLeft="15dip"            android:paddingRight="15dip"            android:text="姓名"            android:textSize="18sp" />        <TextView            android:id="@+id/tv_sex"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginLeft="5dip"            android:layout_toRightOf="@id/tv_name"            android:paddingLeft="15dip"            android:paddingRight="15dip"            android:text="性别"            android:textSize="18sp" />        <TextView            android:id="@+id/tv_age"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginLeft="5dip"            android:layout_toRightOf="@id/tv_sex"            android:paddingLeft="15dip"            android:paddingRight="15dip"            android:text="年龄"            android:textSize="18sp" />        <EditText            android:id="@+id/et_name"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignLeft="@id/tv_name"            android:layout_alignRight="@id/tv_name"            android:layout_below="@id/tv_name"            android:singleLine="true" />        <EditText            android:id="@+id/et_sex"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignLeft="@id/tv_sex"            android:layout_alignRight="@id/tv_sex"            android:layout_below="@id/tv_sex"            android:singleLine="true" />        <EditText            android:id="@+id/et_age"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignLeft="@id/tv_age"            android:layout_alignRight="@id/tv_age"            android:layout_below="@id/tv_age"            android:inputType="number"            android:singleLine="true" />        <Button            android:id="@+id/btn_add_student"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignBaseline="@id/et_age"            android:layout_toRightOf="@id/et_age"            android:text="添加学生"            android:textSize="20sp" />    </RelativeLayout>    <ScrollView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_weight="1" >        <LinearLayout            android:id="@+id/ll_student_list"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:layout_margin="1dip"            android:orientation="vertical"            android:padding="5dip" >        </LinearLayout>    </ScrollView>    <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginTop="5dip"        android:orientation="horizontal" >        <Button            android:id="@+id/btn_save"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="保存数据"            android:textSize="20sp" />        <Button            android:id="@+id/btn_restore"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="恢复数据"            android:textSize="20sp" />    </LinearLayout></LinearLayout>


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;}@Overridepublic 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<Student> 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<Student>();filePath = Environment.getExternalStorageDirectory().getPath() + "/student.xml";}@Overridepublic 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();}}}

动态刷新界面

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity" >    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="onClick"        android:text="添加" />    <ScrollView        android:layout_width="fill_parent"        android:layout_height="fill_parent" >        <LinearLayout            android:id="@+id/ll"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:orientation="vertical" >        </LinearLayout>    </ScrollView></LinearLayout>

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.itheima28.refreshview"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="17" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="com.itheima28.refreshview.MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>

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;@Overrideprotected 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);}}






更多相关文章

  1. Android.Bundle savedInstanceState 的意义用法
  2. android添加购物车动画实现
  3. SharedPreferences 数据存储
  4. Android(安卓)WebView请求,保存cookie,判断登录状态
  5. android ant
  6. viewModel与recyclerView结合
  7. android判断当前手机是否是小米
  8. android后台打水印,并进行压缩
  9. Android开启Java8

随机推荐

  1. sqlserver索引的原理及索引建立的注意事
  2. 一列保存多个ID(将多个用逗号隔开的ID转
  3. 多列复合索引的使用 绕过微软sql server
  4. SQL语句分组获取记录的第一条数据的方法
  5. Sql Server 2012 转换函数的比较(Cast、C
  6. SQL Server字符串切割函数
  7. CREATE FUNCTION sqlserver用户定义函数
  8. sqlserver主键设计的注意点
  9. sqlserver数据库主键的生成方式小结(sqls
  10. 索引的原理及索引建立的注意事项