安卓课程表课程设计报告.doc_第1页
安卓课程表课程设计报告.doc_第2页
安卓课程表课程设计报告.doc_第3页
安卓课程表课程设计报告.doc_第4页
安卓课程表课程设计报告.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

_南 京 晓 庄 学 院【移动开发应用框架】课程设计报告课程表的设计与实现所在院(系):信息工程学院学 号 : 13139173学生姓名 : 陈倡年级专业 : 软件工程指导教师 : 李青 提交日期 : 2015 年 12 月课程设计实验报告班级 13软工4姓名 陈倡学号 13139173任课教师李青实验日期 2015.12成绩一、 目的(本次课程设计的概要以及所涉及的知识点。)1.课程表课程的添加与实现2. 记录笔记并可以查看设计知识点:数据库的数据的新增,查询,删除等,辅助类,上下文菜单的使用;二、使用环境 (本次实践所使用的平台和相关软件。 ) SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDK 指的是Android专属的软件开发工具包。 使用Eclipse进行android应用开发需要给Eclipse装ADT插件,这样Eclipse就可以和android ADT建立连接,可以在Eclipse中启动android模拟器进行程序调试等。三、内容与设计思想 (1 设计思路 2 主要功能说明 3 主要的模块结构 4 主要代码分析 。 )1.课程与笔记是私有的,所以设置用户名与密码登陆,在课程表中应有一个显示界面,用于显示已添加的课程,点击新增按钮进入新增界面,用于增加新的课程,需添加上课的星期和课的节次,并检查当前是否有课,并提示。保存后进入课表显示界面,查看课表。笔记中有一笔记列表,显示创建笔记的时间和标题。点开笔记可以查看详细内容。也可以进行笔记的新增。若长按笔记。则可以进行删除操作。2.登录进入菜单,若无用户,可以注册。课程表,查看已经有课程,新增课程并保存。笔记,查看已有笔记,查看详细笔记,新增笔记,删除笔记。3.整个程序包含两个大的模块:课程表模块和笔记模块;课程表中包含显示和新增两个模块;笔记中有显示列表模块,新增模块,和查看模块4.(1)用户登录时,根据用户名与密码进入数据库中查询,若有返回值为1,表示有该用户,进行界面的跳转,进去菜单界面。若返回值为0 ,则表示用户名或密码错误,并提示。but_login.setOnClickListener(new OnClickListener() public void onClick(View arg0) String putname = edit_putname.getText().toString();String putpassword = edit_putpassword.getText().toString();Cursor cs = dbhelper.login(putname, putpassword);int m = cs.getCount();if(m=0)String tips = 你输入的用户名或密码有误;Toast toast = Toast.makeText(getApplicationContext(), tips,20000); toast.show();elseIntent intent = new Intent(MainActivity.this,MenuActivity.class);intent.putExtra(name, putname);MainActivity.this.startActivity(intent););(2)新增课程时,查询这一天的所有课程,若已有的课程和添加的课程节次相同则冲突,则提示这节已经有课,若无可进行添加,并跳转会课程表界面查看Cursor cs = db.query(schedule, new Stringtime, day=+day+, null, null, null, null);cs.moveToFirst();while(!cs.isAfterLast()String check = cs.getString(cs.getColumnIndex(time);if(check.equals(timeclass)String tips = 这节已经有课;Toast toast = Toast.makeText(getApplicationContext(), tips, 20000); toast.show(); return;cs.moveToNext();cs.close();String sql = insert into schedule(couesename,room,week,day,time,teachername) + values(+couesename+,+room+,+week+,+day+,+timeclass+,+teachername+);db.execSQL(sql);(3)通过上下文菜单的方法,长按笔记列表,会出现设置好删除菜单,通过onContextItemSelected响应菜单,并获得所选择的菜单。通过info.targetView 查找到长按的视图,并获得TextView里的时间字符串,根据字符串进入数据库进行查找并删除,再跟新listView;this.registerForContextMenu(lv_notes);public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) menu.add(0, 1,0, 删除);public boolean onContextItemSelected(MenuItem item)AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();if(item.getItemId()=1)/获取当前的视图TextView tv = (TextView)info.targetView.findViewById(R.id.tv_showwritetime);String str = tv.getText().toString();String sql = delete from notes where writetime=+str+;db.execSQL(sql);/通知更新显示ListVcs = db.query(notes, new String_id,writetime,notesname, null, null, null, null, null, null);adapter = new SimpleCursorAdapter(this, R.layout.notes_layout, cs,new Stringwritetime,notesname,new intR.id.tv_showwritetime,R.id.tv_shownotesname);lv_notes.setAdapter(adapter);/adapter.notifyDataSetChanged();return false;(4) 新建了一个DBHelper辅助类继承SQLiteOpenHelper,新建数据库,新建表格,并对数据进行增删改查。onCreate()方法是建立表格,只进行一次。还可以根据版本号进行数据库的更新,在其他类中调用查询方法,并返回所查询的值。public class DBHelper extends SQLiteOpenHelperprivate static final int Version = 1 ;private static final String DBNAME = cc;private static final String sql_createschedule = create table schedule(_id integer primary key autoincrement,+ couesename text,+ room text,+week text, +day text,+time text,+teachername text);private static final String sql_createuserinformation = create table userinformation(_id integer primary key autoincrement,+ name text,+ password text,+imageid integer);private static final String sql_createnotes = create table notes(_id integer primary key autoincrement,+writetime text,+notesname text,+notes text);public DBHelper(Context context) super(context, DBNAME, null, Version);public void onCreate(SQLiteDatabase db) db.execSQL(sql_createschedule);db.execSQL(sql_createuserinformation);db.execSQL(sql_createnotes);public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) public Cursor login(String putname,String putpassword)SQLiteDatabase db = this.getReadableDatabase();Cursor cslogin = db.query(userinformation,null,name=+putname+ and password =+putpassword+,null,null,null,null,null);return cslogin;public void aegister(String newname,String newpassword,int imageid)SQLiteDatabase db = this.getReadableDatabase();String sql = insert into userinformation(name,password,imageid) + values(+newname+,+newpassword+,+imageid+);db.execSQL(sql);public Cursor checkname(String newname)SQLiteDatabase db = this.getReadableDatabase();Cursor cscheckname = db.query(userinformation, new Stringname, name = +newname+, null, null, null, null, null);return cscheckname;public Cursor queryschedule()SQLiteDatabase db = this.getReadableDatabase();Cursor csschedule = db.query(schedule, null, null, null, null, null, null);return csschedule;public void addcosuses(String couesename,String room,String week,String day,String timeclass,String teachername)SQLiteDatabase db = this.getReadableDatabase();String sql = insert into schedule(couesename,room,week,day,time,teachername) + values(+couesename+,+room+,+week+,+day+,+timeclass+,+teachername+);db.execSQL(sql);public void writenotes(String writetime,String notesname,String notes)SQLiteDatabase db = this.getReadableDatabase();String sql = insert into notes(writetime,notesname,notes) values(+writetime+,+notesname+,+notes+);db.execSQL(sql);public Cursor querynotes()SQLiteDatabase db = this.getReadableDatabase();Cursor cs = db.query(not

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论