南京晓庄学院【智能终端移动开发技术课程考察报告】《基于android的记事本设计》所在院(系):信息工程学院学号:学生姓名:年级专业:指导教师:李青课程设计实验报告第2页共10页提交日期:2015年12月课程设计实验报告班级姓名学号任课教师李青实验日期2015.12成绩一、目的(本次课程设计的概要以及所涉及的知识点。)本次课题的目的实在Android系统的手机开发平台之上,研究与开发一个记事本软件,提供使用手机的记事本功能服务。记事本的基本功能就是记事,手机用户首先用到的就是文本记事,输入事物信息以文本的形式展现出来,存储起来。还可以以图片的形式储存自己的文字,这样更自由与便捷。插入图片,比如记事时想记下此时的图片,还可以记录下这段时间的视频。本次课题涉及了很多知识点,例如:丰富而又可扩展的视图(Views),可用来构建应用程序,它包括列表(Lists),文本框(listview),按钮(Buttons)等。二、使用环境(本次实践所使用的平台和相关软件。)2.1硬件环境本次实践是基于android设备,如android手机或平板电脑:主频1GHZ以上,内存为512MB以上,系统版本为Android2.2及以上,在eclipse平台下安装了安卓androidSDK插件的电脑:window8系统。2.2软件环境操作系统:windows8IDE:eclipse7.0AndoridSDK集成环境三、内容与设计思想(1.设计思路2.主要功能说明3.主要的模块结构4.主要代码分析。)3.1、设计思路记事本是用来记录下用户想记录的事情,比如:现在想记下这时候的一段话,一张图片,一段视频。所以我们这个记事本内要简洁明了,让用户打开就直接能够清晰的知道自己想记录什么,打开主界面,应该看到三个添加按钮,文字、图片、视频。3.2、主要功能3.2.1、添加文字。当点击添加文字时,图片和视频框是隐藏的,输入文字点击保存即可。3.2.2、添加图片点击图片按钮,即跳入相机拍摄状态。拍摄完毕后保存即可。3.2.3、添加视频点击视频按钮,跳转到相机拍摄视频,拍摄完毕后,点击保存即可。课程设计实验报告第3页共10页这里的图片和视屏都是保存在sd卡里面的。在数据库中只是其存放路径,起名字是获取当前拍摄的时间。3.2.4、在主界面中可以查看之前存储的文字、图片、视频点击你想要查看的记录即可。3.2.5、删除和修改当用户点击想查看的记录,会跳入这条记录中这是用户可以修改这条记录中的内容,也可通过底部的删除按钮删除按钮3.3、主要的模块结构图1、Java事件结构图,图1java事件结构图AddContent.java用来选择增加内容,为文字或者图片或视频。有对应的布局文件MainActivity.java主活动调用数据,和增加监听事件。MyAdapter.java主要是获取缩略图。NotesDB.java主要是写创建数据库SelectAct.java主要详情页,有对应的布局文件,select.xml图2、布局文件结构图图2布局文件结构图Activity_main.xml主界面布局图Addcontent.xml对应的增加内容布局文件Cell.xml显示存储的界面布局Select.xml添加或修改图片视频布局。4、主要代码分析4.4.1、首先创建了数据库。NotesDB.java中扩张于SQLiteOpenHelper构建onCreate方法,在onUpgrade课程设计实验报告第4页共10页方法中更新数据库。onCreate方法中用db.execSQL创建。我们当前并不需要更新所以不用。CREATETABLE+TABLE_NAME(表名)ID+INTEGERPRIMARYKEYAUTOINCREMENT,(ID主键自增。)CONTENT+TEXTNOTNULL,(内容,内容不能为空。)PATH+TEXTNOTNULL,(图片,图片不能为空。)VIDEO+TEXTNOTNULL,(视频,视频不能为空。)TIME+TEXTNOTNULL)(时间,时间不能为空。)图3、为在DBNS中数据库notes存放位置。图3、notes表图4.4.2、MainActivityonClick()这个方法是用来判断我们点击的是文字或图片,视频,然跳转到AddContent.java来执行,增加的图片,文字,视频。selectDB()此方法是获取数据库,而onResume()方法是执行获取到的数据。initView()初始化,获取按钮,onItemClick方法显示存储的内容时间,缩略图。4.4.3、AddContent.java执行增加的是文字图片和视频。这一段是跳转到系统相机进行拍照,按时间保存,格式为JPGIntentiimg=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);phoneFile=newFile(Environment.getExternalStorageDirectory().getAbsoluteFile()+/+getTime()+.jpg);在数据库中保存的是这张图片的保存路径。Bitmapbitmap=BitmapFactory.decodeFile(phoneFile.getAbsolutePath());c_img.setImageBitmap(bitmap);四、调试过程(测试结果分析)4.1用android虚拟机打开记事本图4是记事本初始界面课程设计实验报告第5页共10页图4初始界面4.2、点击文字按钮图5为添加文字界面,图6输入Hello,图7点击保存后到主界面可看到保存的内容。图5,添加文字界面课程设计实验报告第6页共10页图6输入hello图7点击保存4.3、由于虚拟机没有照相机功能,所以下到真机截图。图8为点击相机转换到相机拍摄,然后储存,也可添加文字。图9保存后预览课程设计实验报告第7页共10页图8图片添加图9图片保存预览4.4、点击视频按钮。到相机录像功能,拍摄一段后可记录,也可添加文字。击保存图10添加视频,图11,保存视频后预览课程设计实验报告第8页共10页图10添加视频图11添加后预览4.5删除按钮图12删除图片,图13删除后预览课程设计实验报告第9页共10页图12删除图片图13删除后预览五、总结设计中遇到的问题及解决过程设计中遇到过很多很多问题,比如,无法预览以存放的图片和视频。后查阅资料找到用ViewgetView()方法获取时间,图片,视频、缩略图。在布局文件中不知道用和来储存数据库中以储存的内容,而后查阅资料所得,用ListView。课程设计实验报告第10页共10页在创建完活动时不知要在AndroidManifest.xml中注册该方法使其成为活动。比如:activityandroid:name=com.notebook.SelectActandroid:screenOrientation=portrait/activity而我们需要他固定纵向展示,不以屏幕旋转而旋转。六、附录1、原代码节略2、参考文献[1]杨丰盛,《Android应用开发揭秘》,机械工业出版社,2008[2]邓凡平,《深入理解Android》,机械工业出版社,出版2010[3]柯元旦,《Android内核剖析》,电子工业出版社,出版2006[4]吴亚峰、索依娜等,《Android核心技术与实例详解》电子工业出版社,2010[5]郭宏志,《Android应用开发详解》,电子工业出版社,2010[6]靳岩、姚尚朗编著,《Android开发入门与实战》,人民邮电出版社,2009