移动应用软件开发课程设计基于adroid教师管理系统.docx

上传人:b****7 文档编号:10608515 上传时间:2023-02-21 格式:DOCX 页数:65 大小:1.20MB
下载 相关 举报
移动应用软件开发课程设计基于adroid教师管理系统.docx_第1页
第1页 / 共65页
移动应用软件开发课程设计基于adroid教师管理系统.docx_第2页
第2页 / 共65页
移动应用软件开发课程设计基于adroid教师管理系统.docx_第3页
第3页 / 共65页
移动应用软件开发课程设计基于adroid教师管理系统.docx_第4页
第4页 / 共65页
移动应用软件开发课程设计基于adroid教师管理系统.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

移动应用软件开发课程设计基于adroid教师管理系统.docx

《移动应用软件开发课程设计基于adroid教师管理系统.docx》由会员分享,可在线阅读,更多相关《移动应用软件开发课程设计基于adroid教师管理系统.docx(65页珍藏版)》请在冰豆网上搜索。

移动应用软件开发课程设计基于adroid教师管理系统.docx

移动应用软件开发课程设计基于adroid教师管理系统

 

课程设计报告

课程设计名称移动应用软件开发

(andriod)课程设计

专业

班级

学号

姓名

指导教师郑凯梅

成绩

 

2016年7月5日

一、课程设计内容

二、开发环境及技术

在无网络连接情况下,需要在线更新的两个软件SDK和Eclipse的ADT插件逍遥子已经在有网络的前提下先完成在线升级之后打包。

现在属于绿色低碳无公害软件,将他们解压到开发机里做一些相应的设置就可以使用了。

1.安装java开发的JDK到本机,配置好环境变量。

2.解压AndroidSDK和Eclipse,配置Eclipse的SDK路径。

(android-sdkGOOD.zip与eclipseOK.rar)。

我们可以在D盘或者是E盘建立一个目录Android,然后解压配置好的SDK和配置好的Eclipse文件到这个文件夹下面。

,解压完成后生成新的两个目录:

比如我是在D:

/盘所以……在解压完Eclipse首次运行他时,由于被搬家过来软件自动检查他的工作路径,需要用户设置它的默认工作路径,还需要用户选择SDK的一些配置路径。

系统默认的是在线安装新的SDK组件,我们不可能在没有网络连接的情形下升级应用组件!

所以选取UseexistingSDKs,然后点击下一步完成经一部的配置。

完成配置到Windows里找到AndroidSDKManager运行,检测是否可以正常启动。

三、系统需求分析

手机电子教师管理系统和在手机应用程序中并不常见,一般在手机上较为常见的日程提醒程序无法实现自由管理教师信息信息。

经过对周边同学的调查研究,普遍认为这款软件方便实用。

本系统是用Android实现的一个教师管理软件,通过对教师需求的考察、分析,要求本软件具有以下功能:

1、简洁操作界面,能保证系统的易用性;

2、教师信息的查询、添加、删除、修改和排序;

3、教师工资的添加、系别的查询。

4、每位教师的信息预览。

四、概要设计

1系统结构图(功能模块图)

 

图1-1教师管理功能模块图

2功能模块说明

1.打开或创建数据库

用于存放教师信息

2.新建教师信息表

建表用于创建教师信息各类元素

3.查询模块

查询教师信息

4.插入模块

插入教师信息

5.修改模块

用于修改教师信息

6.删除模块

用于删除教师信息

7.排序模块

对教师信息进行排序

8.退出模块

退出教师管理系统

3界面布局设计

3.1首先是登录界面布局,登录界面我们采用绝对布局方式。

组成元素主要是TextView、Button和EditText控件。

界面跳转技术代码:

SQLiteDatabasem_dbSQLiteDatabase=null;

m_dbSQLiteDatabase=SQLiteDatabase.openOrCreateDatabase("/data/data/com.example.jsgl/JSDB.db",null);

if(m_dbSQLiteDatabase!

=null){

CursorresultCursor=m_dbSQLiteDatabase.query("gl",newString[]{"gl_name","gl_mm"},null,null,null,null,null);

if(resultCursor.moveToFirst()){

for(inti=0;i

if(username.equals(resultCursor.getString(0))&&password.equals(resultCursor.getString

(1))){

Toast.makeText(//创建Toast

MainActivity.this,"恭喜您登陆成功!

",Toast.LENGTH_SHORT).show();//显示Toast信息

IntentinttMainAct=newIntent

(MainActivity.this,guanli.class);

startActivityForResult(inttMainAct,INFORMATIONACT);

}else{

Toast.makeText(MainActivity.this,"请输入正确的用户名或密码!

",Toast.LENGTH_SHORT).show();

}

}

}

resultCursor.moveToNext();

3.2主界面和子界面通过线性布局方式进行布局,这样可以显得思路清晰,明朗。

主要元素由Button和TextView控件组成。

跳转技术:

使用Intent方式进行跳转。

4数据库设计

数据库设计我们建立了一个数据库,在这个数据库下新建了两张用于保存信息的表。

教师信息表:

序号

字段名称

中文说明

数据类型

是否为空

描述

1

User_Id

教师ID

IET

NotNull

主键自动增长

2

User_Name

教师姓名

TEXT

NotNull

3

User_xb

系别

TEXT

4

User_zhic

职称

TEXT

5

User_gongz

工资

INT

表4-1教师信息表

管理员表

序号

字段名字

中文说明

数据类型

是否为空

描述

1

gl_Id

管理员ID

INT

NotNull

用户管理员登陆

2

gl_mm

管理员密码

INT

NotNull

密码

表4-2管理员表

建数据库和建表的SQL语句:

privateSQLiteDatabaseOpenOrCreateDB()

{

SQLiteDatabasedbSQLiteDatabase=null;

try{

dbSQLiteDatabase=SQLiteDatabase.openOrCreateDatabase("/data/data/com.example.jsgl/JSDB.db",null);

}

catch(Exceptionex){

returnnull;

}

returndbSQLiteDatabase;

}

privatebooleanCreateTable()

{

StringsqlCreateTable="CREATETABLEJS"+

"(User_IdINTEGERPRIMARYKEY,User_nameTEXTNOTNULL,"+

"User_xbTEXT,"+

"User_zhicTEXT,"+

"User_gongzTEXT)";

if(m_dbSQLiteDatabase==null)returnfalse;

m_dbSQLiteDatabase.execSQL(sqlCreateTable);

returntrue;

}

首先第一张表是用来保存管理员登录信息,用来进行教师管理系统的登录。

另一张表是用来管理教师信息,所用到的技术主要是增、删、改、查和排序。

增加sql语句:

cvContextValues.put("User_Id",i);//插入数据字段

cvContextValues.put("User_name",strName);

cvContextValues.put("User_xb",strxb);

cvContextValues.put("User_zhic",strzc);

cvContextValues.put("User_gongz",strgz);

m_dbSQLiteDatabase.insert("JS",null,cvContextValues);//使用insert方法实现插入数据

删除SQL语句:

StringstrWhereClause="User_Id=?

";//删除条件

String[]strArrayWhereArg={String.valueOf(str)};//删除条件参数

m_dbSQLiteDatabase.delete("JS",strWhereClause,strArrayWhereArg);//调用delete方法删除

myResult.setText("删除成功");提示信息

修改SQL语句:

ContentValuesupdateValues=newContentValues();//对象实例化

updateValues.put("User_Id",strNew);//修改值

StringstrWhereClause="User_Id=?

";//修改条件

String[]strArrayWhereArg={str};//修改条件参数

m_dbSQLiteDatabase.update("JS",updateValues,strWhereClause,strArrayWhereArg);//调用update方法更新

查询SQL语句:

StringstrMsg="查到的数据:

\n编号姓名性别职称工资\n";

CursorresultCursor=m_dbSQLiteDatabase.query("JS",newString[]{"User_Id","User_Name","User_xb","User_zhic","User_gongz"},null,null,null,null,null);//调用query方法查询数据

if(resultCursor.moveToFirst()){

for(inti=0;i

strMsg+=""+resultCursor.getString(0)+""+resultCursor.getString

(1)+""+resultCursor.getString

(2)+""+resultCursor.getString(3)+""+resultCursor.getString(4)+"\n";//依次获取查询到的字段

resultCursor.moveToNext();

五、详细设计

1查找通讯录信息

该模块的设计思想为,按照查询关键字从数据库表中读取所有人的信息,并显示查找信息。

先打开数据库,利用SQLiteDatabase。

Query()方法进行查询,将查询关键字设为null进行整体查询,然后用cursor类实现输出。

 

 

 

图1查询流程图m_dbSQLiteDatabase=SQLiteDatabase.openOrCreateDatabase("/data/data/com.example.jsgl/JSDB.db",null);//打开数据库

if(m_dbSQLiteDatabase!

=null){

StringstrMsg="查到的数据:

\n编号姓名性别职称工资\n";

//查询条件

CursorresultCursor=m_dbSQLiteDatabase.query("JS",newString[]{"User_Id","User_Name","User_xb","User_zhic","User_gongz"},null,null,null,null,null);

//将查询到的数据一次列出

if(resultCursor.moveToFirst()){

for(inti=0;i

strMsg+=""+resultCursor.getString(0)+""+resultCursor.getString

(1)+""+resultCursor.getString

(2)+""+resultCursor.getString(3)+""+resultCursor.getString(4)+"\n";

resultCursor.moveToNext();

}

2修改通讯录

该模块的设计思想为,按照修改关键字从数据库表中读取所有人的信息,并进行通过输入的修改关键词进行信息的个别修改。

修改流程图:

 

 

 

图2修改流程图

修改姓名代码:

SQLiteDatabasem_dbSQLiteDatabase=null;

m_dbSQLiteDatabase=SQLiteDatabase.openOrCreateDatabase("/data/data/com.example.jsgl/JSDB.db",null);//打开数据库

Stringstr=txtkey.getText().toString();//获取数据字符串

StringstrNew=txtNew.getText().toString();

if(m_dbSQLiteDatabase!

=null){//判断数据库是否为空

StringstrMsg="查到的数据:

\n编号姓名性别职称工资\n";

CursorresultCursor=m_dbSQLiteDatabase.query("JS",newString[]{"User_Id","User_Name","User_xb","User_zhic","User_gongz"},null,null,null,null,null,null);//查询所有教师信息

if(resultCursor.moveToFirst()){

for(inti=0;i

strMsg+=""+resultCursor.getString(0)+""+resultCursor.getString

(1)+""+resultCursor.getString

(2)+""+resultCursor.getString(3)+""+resultCursor.getString(4)+"\n";

resultCursor.moveToNext();

}

ContentValuesupdateValues=newContentValues();

updateValues.put("User_Name",strNew);//修改条件

StringstrWhereClause="User_Id=?

";

String[]strArrayWhereArg={str};

m_dbSQLiteDatabase.update("JS",updateValues,

strWhereClause,strArrayWhereArg);//进行更新

txtresult.setText(strMsg);//显示更新后的内容

Toast.makeText(xiugai.this,"修改成功",Toast.LENGTH_LONG).show();

}

else{

txtresult.setText("未找到!

");

}

m_dbSQLiteDatabase.close();

}}

 

3增加通讯录

该模块的设计思想为,按照需要增加数据写入数据库中,并提示增加成功信息。

增加流程图:

 

 

 

图3增加流程图

增加部分代码:

//获得各个控件引用

EditTextedtname=(EditText)findViewById(R.id.EditText02);

EditTextedtnum=(EditText)findViewById(R.id.EditText01);

EditTextedtxb=(EditText)findViewById(R.id.EditText03);

EditTextedtgz=(EditText)findViewById(R.id.EditText04);

EditTextedtyx=(EditText)findViewById(R.id.EditText05);

SQLiteDatabasem_dbSQLiteDatabase=null;

m_dbSQLiteDatabase=SQLiteDatabase.openOrCreateDatabase(

"/data/data/com.example.jsgl/JSDB.db",null);//打开数据库

StringstrNum,strName,strxb,strzc,strgz;//定义字符串

//获取输入的字符串

strNum=edtnum.getText().toString();

strName=edtname.getText().toString();

strxb=edtxb.getText().toString();

strzc=edtgz.getText().toString();

strgz=edtyx.getText().toString();

inti=Integer.parseInt(strNum);

/*Toast.makeText(

add.this,

strNum+","+strName+","+strTel+","+strage

+","+stryx,Toast.LENGTH_LONG).show();*/

if(m_dbSQLiteDatabase!

=null){

//插入数据

ContentValuescvContextValues=newContentValues();

cvContextValues.put("User_Id",i);

cvContextValues.put("User_name",strName);

cvContextValues.put("User_xb",strxb);

cvContextValues.put("User_zhic",strzc);

cvContextValues.put("User_gongz",strgz);

m_dbSQLiteDatabase.insert("JS",null,cvContextValues);

Toast.makeText(insert.this,"成功添加",Toast.LENGTH_LONG).show();//toast提示

}

}

4删除通讯录

该模块的设计思想为,按照修改关键字从数据库表中读取所有人的信息,并进行通过输入的删除关键词进行信息的删除。

删除流程图:

图4删除流程图

删除模块代码:

SQLiteDatabasem_dbSQLiteDatabase=null;

m_dbSQLiteDatabase=SQLiteDatabase.openOrCreateDatabase("/data/data/com.example.jsgl/JSDB.db",null);

finalStringstr=deleKey.getText().toString();

if(m_dbSQLiteDatabase!

=null){

//delete()

if(rId.isChecked()){

StringstrMsg="查到的数据:

\n编号姓名性别职称工资\n";

CursorresultCursor=m_dbSQLiteDatabase.query("JS",newString[]{"User_Id","User_Name","User_xb","User_zhic","User_gongz"},"User_Id=?

",newString[]{str},null,null,null);

if(resultCursor.moveToFirst()){

for(inti=0;i

strMsg+=""+resultCursor.getString(0)+""+resultCursor.getString

(1)+""+resultCursor.getString

(2)+""+resultCursor.getString(3)+""+resultCursor.getString(4)+"\n";

resultCursor.moveToNext();

}

Dialogdialog=newAlertDialog.Builder(shanchu.this)//设置Dialog提示

.setTitle("删除对话框")

.setIcon(R.drawable.ic_launcher)

.setMessage("确认删除吗?

\n"+strMsg)

.setPositiveButton("确认",newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,intwhich){

SQLiteDatabasem_dbSQLiteDatabase=null;

m_dbSQLiteDatabase=SQLiteDatabase.openOrCreateDatabase("/data/data/com.example.jsgl/JSDB.db",null);

StringstrWhereClause="User_Id=?

";//设置删除条件

String[]strArrayWhereArg={String.valueOf(str)}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1