您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 简易的记事本android课程设计
河南科技学院《物联网移动应用开发》课程设计报告设计题目:简易的记事本班级:物联网131班学号:20131554119姓名:指导教师:徐睿成绩:信息工程学院2课程设计报告说明一、写报告前,请认真阅读《课程设计报告说明》。二、打印装订要求1、一律用A4纸,双面打印,并左侧装订。报告正文部分均采用宋体小四。《课程设计报告说明》页也打印。2、课程设计概述部分占一页;课程设计内容长度根据实际需要填写;结论和指导教师评语及成绩单独占一页。保证打印格式工整。3、指导教师评语及成绩部分由指导教师填写。三、报告内容要求1、课程设计目的结合实际自己写,不要雷同。2、课程设计原理简要说明所完成课程设计项目所涉及的理论知识。3、课程设计内容这是课程设计报告极其重要的内容。概括整个课程设计过程。(最好在上述内容基础上画出相应的流图、设计思路和设计方法,再配以相应的文字进行说明。)3一、课程设计概述1、课程设计目的Window操作系统的诞生成就了微软帝国,同时也造就了PC时代的繁荣,然而如今,以Android和iPhone手机为代表的智能移动设备的发明与互联网云技术的兴起却敲响了PC时代的丧钟!这也预示着移动互联网时代(3G)已经来临。在这个互联网繁荣的时代,有一颗超新星,以它独特性能优势与人性化的UI设计使它在短短的几年迅速的占领了智能移动设备的市场份额,它就是Google的Android!这也意味着Google在移动互联网时代开始抢跑并领跑。通过调查显示,大部分消费者都会使用手机记事本功能。随着手机记事本功能的不断加强与完善,手机记事本对于人们的意义,已不仅仅像一般记事簿一样简单记录,而是向着更个性化人性化的方向发展。Android[1]系统是开源的,它以迅猛的姿势已经占领了全球一半多的市场。记事本在生活和工作也日益凸显出它的重要性,它能更好地帮助人们更好地管理自己的工作和生活,极大的方便了人们的生活。因其开源,我们可以在之上开发安卓记事本软件,同时这也符合广大的市场需求。2、课程设计要求设计的最终作品包括设计报告和能成功运行的程序,能够达到设计指标的要求。每个小组在设计完成后,要经指导教师检查。课程设计报告每个学生一份,由学习委员收齐后统一交给指导教师。按照课程设计的进程,认真完成各个环节,保证质量,达到目标。3、课程设计原理(1)设计实现添加事件、保存事件、删除事件、导出事件、添加图片等主功能。(2)利用Android中的一些组件和事件监听解决功能的实现问题。(3)利用mysql语句来实现数据库的设计为用户保存数据。(4)使用debug调试来解决程序运行时遇到的问题4二、课程设计内容1、软件功能规划(1)软件功能能够提示用户是否有已写记事本,能够进行记事本的标题填写和内容填写,确定后保存。(2)界面设计进入程序提示“您还没有开始写日记呢!点击下边的Menu按钮开始写日记吧!”,点击图片按钮后进入标题和内容的填写界面。2、程序设计(1)记事本组件的设计本项目涉及到以下组件:TextView:“记事本”,“新建记事”,“编辑记事”等标题。EditView:“记事本的标题”,“内容”等。ImageButton:“写事件”,“保存”,“加图片”按钮。Menu:“编译内容”,“删除当前记事”,“修改当前记事”,“导出当前记事”“帮助”,“关于”等。(2)记事本逻辑设计(i)添加新记事如果当前没有记事,点击“listview中的事件”后只有一个菜单选项“添加新记事”,写完记事之后,点击“确定”进行保存。(ii)编辑内容选中要编辑的那一个记事,然后点击“listview中的事件”菜单,会出现三个选项“新建记事”,“编辑内容”,“删除当前记事”,点击“编辑内容”对被选中的记事进行编辑,然后点击“确定”加以保存。(iii)删除记事点击上下键,选中要删除的记事,然后点击“listview中的事件”菜单,然后点击“删除当前记事”,对选中的记事加以删除。(3)记事本存储实现Android中一共提供了5种数据存储方式,但是由于存储的这些数据都是其应用程序私有的,所以如果需要在其他应用程序中使用这些数据,就要使用Android提供的ContentProviders。ContentProviders:Android提供的一个特殊的存储数据的类型,它提供了一套标准的接口来获取,操作数据。SharedPreference:用来存储“key-valuepaires”格式的数据,它是一个轻量级的键值存储机制,只可以存储基本数据类型。Files:它通过FileInputStream和FileOutputStream对文件进行操作,但是在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。SQLite:Android提供的一个标准的数据库,支持SQL语句。Network:通过网络来存储和获得数据。(i)数据存储之SQLite通过sqlite中的增删改查方法来保存、删除、修改、查找数据。来实现对5数据的操作。代码:publicclassDBManage{privateContextmContext=null;privateSQLiteDatabasemSQLiteDatabase=null;//用于操作数据库的对象privateDBHelperdh=null;//用于创建数据库的对象Cursornamecursor=null;privateStringdbName=notepad.db;privateintdbVersion=1;publicDBManage(Contextcontext){mContext=context;}/***打开数据库*/publicvoidopen(){try{dh=newDBHelper(mContext,dbName,null,dbVersion);if(dh==null){return;}mSQLiteDatabase=dh.getWritableDatabase();//dh.onOpen(mSQLiteDatabase);Log.i(log,DBisopened);}catch(SQLiteExceptionse){se.printStackTrace();Log.i(log,openDBfaile);}}/***关闭数据库*/publicvoidclose(){mSQLiteDatabase.close();dh.close();Log.i(log,DBisclosed);}//获取列表6publicCursorselectAll(){Cursorcursor=null;try{Stringsql=select*fromtravels;cursor=mSQLiteDatabase.rawQuery(sql,null);}catch(Exceptionex){ex.printStackTrace();cursor=null;}returncursor;}publicCursorselectById(intid){Cursorcursor=null;try{Stringsql=select*fromtravelswhere_id='+id+';cursor=mSQLiteDatabase.rawQuery(sql,null);}catch(Exceptionex){ex.printStackTrace();cursor=null;}returncursor;}publicCursorselcetPathByName(Stringname){Cursorcursor=null;try{Stringsql=selectpathfromiconswherefilename='+name+';cursor=mSQLiteDatabase.rawQuery(sql,null);Log.i(log,sql);}catch(Exceptionex){ex.printStackTrace();Log.i(log,selectfaile);}returncursor;}//插入数据publiclonginsert(Stringtitle,Stringcontent){Log.i(log,readytoinsert);longdatetime=System.currentTimeMillis();Log.i(log,time------+datetime);longl=-1;try{ContentValuescv=newContentValues();cv.put(title,title);7cv.put(content,content);cv.put(time,datetime);Log.i(log,data-----+title+content+datetime);l=mSQLiteDatabase.insert(travels,null,cv);Log.i(log,cv.toString());Log.i(log,datetime++l);}catch(Exceptionex){ex.printStackTrace();l=-1;}returnl;}publiclonginserticonpath(Stringfilename,Stringiconpath){longl=-1;try{Log.i(log,readytoinserticon);ContentValuescv=newContentValues();cv.put(filename,filename);cv.put(path,iconpath);l=mSQLiteDatabase.insert(icons,null,cv);Log.i(log,inserticonnamesuccess);}catch(Exceptionex){ex.printStackTrace();l=-1;}returnl;}//删除数据publicintdelete(longid){intaffect=0;try{Log.i(log,trytodeletethedataindatabases);affect=mSQLiteDatabase.delete(travels,_id=?,newString[]{id+});Log.i(log,deletesuccess);}catch(Exceptionex){ex.printStackTrace();affect=-1;Log.i(log,deletefaile);}returnaffect;}//修改数据8publicintupdate(intid,Stringtitle,Stringcontent){intaffect=0;try{ContentValuescv=newContentValues();cv.put(title,title);cv.put(content,content);affect=mSQLiteDatabase.update(travels,cv,_id=?,newString[]{id+});}catch(Exceptionex){ex.printStackTrace();affect=-1;}returnaffect;}}(ii)数据存储之Files我们可以通过自定义的copyfile()方法来复制数据代码://复制文件publicintcopyfile(Stringfrom,Stringinto){try{copyfrom=newFileInputStream(from);copyinto=newFileOutputStream(into);Log.i(log,fuckyou);byte[]bt=newbyte[1024];intc;while((c=copyfrom.read(bt))0){copyinto.write(bt,0,c);}copyfrom.close();copyinto.close();Log.i(log,copysuccess);return1;}catch(FileNotFoun
本文标题:简易的记事本android课程设计
链接地址:https://www.777doc.com/doc-4253799 .html