《移动互联APP》上机实验报告3 - 考勤点名App(模板)

更新时间:2024-05-06 15:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

重庆交通大学信息科学与工程学院 移动互联

APP

课程

实验报告(3)

班 级: 计科

姓名 学号:

实验项目名称: 点名助手App设计与实现

实验项目性质: 设计性

实验所属课程: 《移动互联APP》

实验室(中心):

指 导 教 师 :

实验完成时间: 2016 年 10 月 20 日

教师评阅意见:

签名: 年 月 日 实验成绩: 一、实验内容

1) 本实验的目的是使学生深入了解Android数据存储和访问的方法,利用SQLite进行数据存储及访问。

2)掌握SQLlite命令行方式创建数据库、表的方法,对表中记录进行查询、插入、删除、更新等命令。

3)以重庆交通大学对学生考勤登记的实际需求为例, 设计并实现一个“学生考勤登记表”App,学生原始数据见附件(.xsl文件)。基本要求如下: (a) 设计一个学生考勤表,能够记录学生的学号、姓名、性别、照片、 专业、班级,以及每次考勤的状态、每次考勤的日期、总评得分等; (b) 能够添加、删除、查询、更改学生的信息,特别是照片信息(BLOB)的添加和更改;

4)若能考虑程序的启动欢迎界面(logo、编写者等信息的展示), 或者数据输入/输出的灵活性(比如支持多格式的原始数据批量导入/导出,照片信息的拍摄输入),或者学生姓名发音提示等等,则更佳。 二、实验要求

1) 分组要求:每个学生独立完成,即1人1组。

2) 程序及报告文档要求:具有较好的可读性,包括设计流程图、代码注释、

- 1 -

代码正确缩进、代码语法高亮、截图清晰等等。

三、实验步骤、程序代码及说明 包括以下内容:

(1) 数据库和表格式的设计与实现,原始数据导入方式;

数据库的实现用Android的Sqlite数据库实现,创建一个学生表,包含三个主要的属性列(学生姓名、学生学号和学生班级),通过dbwrite写入数据并存储在程序中,通过read关键字读取写入的数据,并显示在程序的界面上。

(2) 自己所做实验的关键步骤和内容;给出程序各功能模块的截图;

学生姓名 学生学号 学生班级 1程序设计流程图: ○

创建一个数据库 dbWrite输入相应的实验数据

Read读数据

通过按钮的调用显示在界面上 - 2 -

2数据库的创建需要先用sqlite创建立一个表,表的属性有姓名、学○

号和班级三个主要属性; 创建Sqlite数据库的代码:

public class SJK extends SQLiteOpenHelper { public SJK(Context context) {

super(context,\ }

public void onCreate(SQLiteDatabase db) {

String sql=\ + \ db.execSQL(sql); }

public void onUpgrade(SQLiteDatabase arg0,int arg1,int arg2) {// TODO Auto-generated method stub

} }

3学生信息的添加,通过dbWrite写入学生的姓名、学号和班级的信○息;

显示学生信息的效果图为:

- 3 -

姓名、学号和班级会随着“下一位”或者“上一位”的点击而改变相应学生的信息

添加信息的代码为:

public void CreateSJK() {

dbWrite = sjk.getWritableDatabase();

String str1 = \into DM(SNumber,SName,CName,KQ)values('631406010113','李红兵','计科1班',null);\ String str2 = \into DM(SNumber,SName,CName,KQ)values('631406010111','陈世豪','计科2班',null);\

- 4 -

String str3 = \into DM(SNumber,SName,CName,KQ)values('631406010114','蔡佳辰','计科3班',null);\ String str4 = \into DM(SNumber,SName,CName,KQ)values('631406010123','左永和','计科4班',null);\ String str5 = \into DM(SNumber,SName,CName,KQ)values('631406010102','莫天金','计科5班',null);\ String str6 = \into DM(SNumber,SName,CName,KQ)values('631406010103','吴国平','计科1班',null);\ String str7 = \into DM(SNumber,SName,CName,KQ)values('631406010104','孙文斌','计科1班',null);\ String str8 = \into DM(SNumber,SName,CName,KQ)values('631406010105','潘俊旭','计科1班',null);\ String str9 = \into DM(SNumber,SName,CName,KQ)values('631406010106','是加勒','计科1班',null);\ String str10 = \into DM(SNumber,SName,CName,KQ)values('6314060107','赵权','计科1班',null);\

dbWrite.execSQL(str1); dbWrite.execSQL(str2); dbWrite.execSQL(str3); dbWrite.execSQL(str4); dbWrite.execSQL(str5); dbWrite.execSQL(str6); dbWrite.execSQL(str7); dbWrite.execSQL(str8); dbWrite.execSQL(str9); dbWrite.execSQL(str10); }

4通过Read读出存储的数据 ○

public void ReadSJK() {

dbRead=sjk.getReadableDatabase(); KQtxt=(TextView)

findViewById(R.id.KQEdit);SNtxt=(TextView)

- 5 -

findViewById(R.id.SNEdit);

SNumbertxt=(TextView)

findViewById(R.id.SNumberEdit);CNtxt=(TextView)findViewById(R.id.ClassdEdit);

result=dbRead.rawQuery(\ result.move(i);

SNumbertxt.setText(result.getString(result.getColumnIndex(\

SNtxt.setText(result.getString(result.getColumnIndex(\ CNtxt.setText(result.getString(result.getColumnIndex(\ }

○5通过spinner标签写一个下拉列表展示学生的出勤情况: 效果图为:

考勤选项默认为“在勤”;

考勤选项有五个选项,分别为:在勤、迟到、早退、旷课、病假五个选项

- 6 -

spinner = (Spinner) findViewById(R.id.spinner); //数据

data_list = new ArrayList(); data_list.add(\在勤\ data_list.add(\迟到\ data_list.add(\早退\ data_list.add(\旷课\ data_list.add(\病假\

//适配器 arr_adapter=

new

ArrayAdapter(this,

android.R.layout.simple_spinner_item, data_list); //设置样式

- 7 -

arr_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

//加载适配器

spinner.setAdapter(arr_adapter);

○6显示界面的代码:

android:id=\ android:text=\点名册\

android:layout_width=\ android:textSize=\ android:textStyle=\

android:layout_height=\ android:layout_marginLeft=\ />

android:id=\

android:layout_width=\ android:layout_height=\ android:text=\姓 名:\

android:layout_above=\ android:layout_toLeftOf=\ android:textSize=\

android:layout_alignParentLeft=\ android:layout_alignParentStart=\ android:layout_alignTop=\/>

android:id=\

android:layout_width=\ android:textSize=\

android:layout_marginTop=\ android:layout_height=\ android:layout_below=\

android:layout_toRightOf=\/>

android:id=\

android:layout_width=\ android:layout_height=\ android:layout_below=\ android:textSize=\

- 8 -

android:layout_marginTop=\ android:text=\学 号:\

android:layout_above=\ android:layout_toLeftOf=\ android:layout_alignParentLeft=\ android:layout_alignParentStart=\/>

android:id=\ android:layout_width=\ android:layout_marginTop=\ android:textSize=\

android:layout_height=\ android:layout_below=\ android:layout_toRightOf=\/>

android:id=\

android:layout_width=\ android:layout_height=\ android:textSize=\

android:layout_alignParentLeft=\ android:layout_below=\ android:layout_marginTop=\ android:text=\班 级:\ android:layout_above=\

android:layout_toLeftOf=\ android:layout_toStartOf=\/>

android:id=\ android:textSize=\

android:layout_width=\ android:layout_height=\ android:layout_below=\ android:layout_marginTop=\ android:layout_toRightOf=\/>

android:id=\

android:layout_width=\ android:layout_height=\ android:layout_marginTop=\ android:textSize=\

android:layout_below=\ android:text=\考 勤:\

android:layout_alignBottom=\ android:layout_toLeftOf=\

- 9 -

android:layout_alignParentLeft=\ android:layout_alignParentStart=\/>

android:id=\ android:text=\ android:textSize=\

android:layout_width=\ android:layout_height=\ android:layout_marginTop=\ android:layout_below=\ android:layout_toRightOf=\/>

Top