学士学位论文移动应用软件开发课程设计基于adroid教师管理系统文档格式.docx
《学士学位论文移动应用软件开发课程设计基于adroid教师管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《学士学位论文移动应用软件开发课程设计基于adroid教师管理系统文档格式.docx(55页珍藏版)》请在冰豆网上搜索。
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<
resultCursor.getCount();
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,"
请输入正确的用户名或密码!
}
}
resultCursor.moveToNext();
3.2主界面和子界面通过线性布局方式进行布局,这样可以显得思路清晰,明朗。
主要元素由Button和TextView控件组成。
跳转技术:
使用Intent方式进行跳转。
4数据库设计
数据库设计我们建立了一个数据库,在这个数据库下新建了两张用于保存信息的表。
教师信息表:
序号
字段名称
中文说明
数据类型
是否为空
描述
1
User_Id
教师ID
IET
NotNull
主键自动增长
2
User_Name
教师姓名
TEXT
3
User_xb
系别
4
User_zhic
职称
5
User_gongz
工资
INT
表4-1教师信息表
管理员表
字段名字
gl_Id
管理员ID
用户管理员登陆
gl_mm
管理员密码
密码
表4-2管理员表
建数据库和建表的SQL语句:
privateSQLiteDatabaseOpenOrCreateDB()
{
SQLiteDatabasedbSQLiteDatabase=null;
try{
dbSQLiteDatabase=SQLiteDatabase.openOrCreateDatabase("
}
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);
User_xb"
strxb);
User_zhic"
strzc);
User_gongz"
strgz);
m_dbSQLiteDatabase.insert("
JS"
null,cvContextValues);
//使用insert方法实现插入数据
删除SQL语句:
StringstrWhereClause="
User_Id=?
//删除条件
String[]strArrayWhereArg={String.valueOf(str)};
//删除条件参数
m_dbSQLiteDatabase.delete("
strWhereClause,strArrayWhereArg);
//调用delete方法删除
myResult.setText("
删除成功"
);
提示信息
修改SQL语句:
ContentValuesupdateValues=newContentValues();
//对象实例化
updateValues.put("
strNew);
//修改值
StringstrWhereClause="
//修改条件
String[]strArrayWhereArg={str};
//修改条件参数
m_dbSQLiteDatabase.update("
updateValues,strWhereClause,strArrayWhereArg);
//调用update方法更新
查询SQL语句:
StringstrMsg="
查到的数据:
\n编号姓名性别职称工资\n"
User_Name"
//调用query方法查询数据
strMsg+="
"
+resultCursor.getString(0)+"
+resultCursor.getString
(1)+"
+resultCursor.getString
(2)+"
+resultCursor.getString(3)+"
+resultCursor.getString(4)+"
\n"
//依次获取查询到的字段
五、详细设计
1查找通讯录信息
该模块的设计思想为,按照查询关键字从数据库表中读取所有人的信息,并显示查找信息。
先打开数据库,利用SQLiteDatabase。
Query()方法进行查询,将查询关键字设为null进行整体查询,然后用cursor类实现输出。
否
是
图1查询流程图m_dbSQLiteDatabase=SQLiteDatabase.openOrCreateDatabase("
//打开数据库
StringstrMsg="
//查询条件
//将查询到的数据一次列出
}
2修改通讯录
该模块的设计思想为,按照修改关键字从数据库表中读取所有人的信息,并进行通过输入的修改关键词进行信息的个别修改。
修改流程图:
否
是
图2修改流程图
修改姓名代码:
Stringstr=txtkey.getText().toString();
//获取数据字符串
StringstrNew=txtNew.getText().toString();
if(m_dbSQLiteDatabase!
=null){//判断数据库是否为空
StringstrMsg="
},null,null,null,null,null,null);
//查询所有教师信息
ContentValuesupdateValues=newContentValues();
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(
"
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();
Toast.makeText(insert.this,"
成功添加"
//toast提示
}
4删除通讯录
该模块的设计思想为,按照修改关键字从数据库表中读取所有人的信息,并进行通过输入的删除关键词进行信息的删除。
删除流程图:
图4删除流程图
删除模块代码:
finalStringstr=deleKey.getText().toString();
if(m_dbSQLiteDatabase!
=null){
//delete()
if(rId.isChecked()){
},"
newString[]{str},null,null,null);
Dialogdialog=newAlertDialog.Builder(shanchu.this)//设置Dialog提示
.setTitle("
删除对话框"
)
.setIcon(R.drawable.ic_launcher)
.setMessage("
确认删除吗?
+strMsg)
.setPositiveButton("
确认"
newDialogInterface.OnClickListener(){
publicvoidonClick(DialogInterfacedialog,intwhich){
SQLiteDatabasem_dbSQLiteDatabase=null;
m_dbSQLiteDatabase=SQLiteDatabase.openOrCreateDatabase("
StringstrWhereClause="
//设置删除条件
String[]strArrayWhereArg={String.valueOf