湖南科技大学智能终端系统开发及应用课程设计报告.doc_第1页
湖南科技大学智能终端系统开发及应用课程设计报告.doc_第2页
湖南科技大学智能终端系统开发及应用课程设计报告.doc_第3页
湖南科技大学智能终端系统开发及应用课程设计报告.doc_第4页
湖南科技大学智能终端系统开发及应用课程设计报告.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

智能终端系统及应用开发课程设计报告 题目:个人理财小助手学 号:班 级:姓 名:指导老师: 一、 题目:个人理财小助手(1) 目的与要求1. 掌握 SQLite 数据库及其使用。2. 熟练掌握布局及常用控件 Button、 ListView、 EditText、 TextView 等。(2)功能需求个人理财小助手主要为用户提供 5 个主要模块,包括:登录模块、收入管理模块、支出管理模块、 便签管理模块、 系统设置模块。对日常的开支进行随时记录, 存储到本机的SQLite数据库。1. 使用 SQLite 数据库实现增加、删除、修改;2. 使用 ListView 进行显示;3. 增加私密性,验证成功才能进行收支管理;4. 能提供简单的收支统计(按月、按周)功能;5. 提供数据管理,能对数据进行导出(如将收入/支出明细导出为 txt 或 Excel 文档)。二、 工作日志12月15日(1) 搭建android开发环境。从/technetwork/java/javase/downloads/index.html下载版本6.0以上的JDK并安装。配置环境变量:安装 JDK 以后,若需要在 cmd 下使用 Java 命令和编译、运行程序,可以配置环境变量:新建环境变量 JAVA_HOME,右击“我的电脑”“属性”“高级”“环境变量”。从/s/1dDJkkVZ下载adt-bundle-windows-x86-20130917,解压缩即可,进入eclipse 文件夹,运行 eclipse.exe。(2) 创建HelloWorld程序,并在模拟器上运行,如下图所示。(3) 确定开发题目个人理财小助手。个人理财小助手主要为用户提供 5 个主要模块,包括:登录模块、收入管理模块、支出管理模块、 便签管理模块、 系统设置模块。对日常的开支进行随时记录, 存储到本机的 SQLite数据库。开始设计第一个布局登录布局,上网查找所需图片。12月16日(1) 改进了昨天做的登录界面,在之前的基础上加入一张图片和一个按钮,如下图所示。先将网上下载的图片复制到res/drawable下,再利用ImageView添加图片。登录界面整体采用相对布局,TextView和EditText之间使用线性布局。(2) 设计了菜单界面的布局。菜单界面整体采用相对布局,界面上有8个按钮,每一行的按钮采用线性布局。赋给每个线性布局一个id,再用android:layout_below=”+id/线性布局id将这3个线性布局分开。将下载好的图片利用android:background=”drawable/图片名字”作为按钮的背景。利用android:background=”#e7e7e7e7”改变背景颜色。(3) 设计了保存密码界面的布局,布局与登录界面的布局差不多,但背景颜色为 android:background=”#e7e7e7e7”,如下图所示。(4) 设计了新增收入界面和新增支出界面的布局,界面整体使用相对布局,界面上有5个TextView和5个EditText以及2个按钮,每行中的TextView和EditText采用线性布局,赋给每个线性布局id,用android:layout_below=”+id/线性布局id分开每个线性布局。整体背景色为android:background=”#e7e7e7e7”, EditText背景色为android:background=”ffffff”。如下图所示。 12月17日(1) 用ListView完成我的收入和我的支出界面的布局设计。我的收入和我的支出界面相同,整体采用线性布局,在线性布局中添加ListView控件。ListView是一个列表视图,由很多Item(条目)组成,每个Item的布局都是一样的。创建好ListView界面之后接下来需要创建ListView的条目,在res目录下创建一个item.xml文件,指定Item的布局。Item的布局整体采用相对布局,其上有五个TextView,第一个TextView内容为“我的收入”;后四个TextView使用线性布局,第二个TextView内容为序号,权重weight设为1;第三个TextView内容为收入的名字,权重weight设为2;第四个TextView内容为金额,权重weight设为3;第五个TextView内容为日期,权重weight设为3。如下图所示。 (2) 完成新增便签界面的布局设计。界面整体采用相对布局,布局中有两个TextView,一个EditText和两个按钮,第二个TextView内容为“请输入便签,最多输入200字”,颜色用”#900000”设为红色 ,与EditText组成线性布局,将线性布局的一个属性android:orientation设为vertical(垂直),使其垂直显示。EditText颜色设为白色,textSize为150dp。整体背景依然设为”#e7e7e7”。如下图所示。12月18日(1) 完成“设置密码”按钮的代码编写,使其从FinancialMenagerActivity跳转到PasswordActivity。在布局文件activity_financial_manager_main.xml中为按钮“设置密码”设置onClick属性指定点击方法名android:onClick=click。 (2) 编写“保存”按钮和“取消”按钮的代码。创建一个内部类实现OnClickListener接口并重写onClick()方法,在方法中写入点击事件的逻辑。这里比较重要的一点,要为按钮设置点击事件前要先获取到该控件的引用,需要在布局文件password.xml中为按钮“保存”设置id, android:id=+id/zc_button1,在代码中使用findViewById(R.id.zc_button1)方法获得该控件的View对象,最后通过强制类型转换得到该控件。12月21日(4) 修改代码过程中,不知道什么原因导致布局也无法显示。再次修改时,不小心activity.java文件,所幸布局文件还能用。重新建立工程,重新命名工程为FM,applicationname为理财猫,将布局文件和图片复制进去。并且出于有Back建的考虑,我将保存密码布局、新增收入布局、新增支出布局和新增便签布局中的“取消”按钮全部删除,以减少工作量。(5) 编写“设置密码”按钮的代码,以实现登录界面和保存密码界面的跳转。(6) 编写“保存”按钮的代码,实现将密码保存到data/data/hnust.zsz.fm/files/password.txt的功能 。(7) 完成“登录”按钮的代码编写,以实现从登录界面跳转到菜单界面。如果密码输入错误,则会弹出“密码错误”;密码正确才能登录。 在编写按钮的代码过程中,我在布局文件activity_fm.xml布局文件中为button1定义了onClick属性,它的作用就是为按钮设置点击事件,以onClick属性的值为方法名创建了一个方法,在参数中传人View对象。我还使用直接创建OnClickListener的匿名内部类的方法实现按钮。12月22日(1) 编写菜单界面上7个按钮的代码,以实现从菜单跳转到新增收入、收入、便签等各个界面。在主类中实现OnClickListener借口,然后重写onClick()方法,并通过switch语句判断是哪个按钮被点击,然后执行相应操作,部分代码如下:其中启动下一个activity时,我使用的是显示意图。显示意图,即在通过Intent启动Activity时,需要明确指定激活组件的名称。(2) 创建一个新增收入的数据库。创建数据库属于数据操作,因此需要在hnust.zsz.fm的包下创建一个名为dao的包。并在该包下定义一个MyHelper类继承自SQLiteOpenHelper。 (3) 创建Accoutn类。在操作数据库是将数据存放至一个JavaBean对象中操作起来会比较方便。因此,需要在hnust.zsz.fm包下创建一个bean包用于存放JavaBean类,然后在hnust.zsz.fm.bean包下定义一个类Account。12月23日(1) 完成新增收入模块的编写,实现了能将新增收入保存到数据库的功能。编写数据逻辑操作类,在hnust.zsz.fm.dao包下创建一个AccountDao类用于操作数据,该类创建了对数据进行增、删、改、查操作的方法。 (2) 完成编写界面与数据库进行交互的代码,用于实现将数据库中的数据以ListView的形式展示在界面上。ListView的setOnItemClicListener():该方法用于监听Item的点击事件,在使用该方法时需要传入一个OnItemClickListener的实现类对象,并且需要实现onItemClick方法。当点击ListView的Item时就会触发Item的点击事件然后会回调onItemClick()方法。Adapter的notifyDataChange()方法:该方法是用于重新适配数据,当需要适配的数据内容发生变化时,可以调用此方法重新适配数据,会重新执行BaseAdapter中gerView()的方法。(3) 编写了与新增收入类似的新增支出模块的代码,但点击保存按钮时,并没有保存数据,原因还未找到。12月24日(1) 完成了新增支出模块的编写,实现了能将新增支出保存到数据库的功能,并能对保存的新增支出进行查询、删除操作。 (2) 我原先的登录时,比对的是代码中的固定密码,而且设置的密码是以文件的形式保存的,但不能调出比对。我将它改成将密码保存在数据库中,并能调出比对。我在主要的数据库中使用SQLiteDatabase的insert()、update()、delete()、query()方法实现增、删、改、查的功能,而在登录模块的数据库中我是用exeSQL()和rawQuety()方法来实现增、删、改、查的功能。(3) 完成了便签模块中将便签保存到数据库中的代码编写。(4) 补了一个数据管理的布局。布局整体采用线性布局,使用了ListView控件。三、 遇到的问题及解决方法(1) The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (Menu),原因是public class Menu extends Activity没有implements OnClickListener,加上即可。(2) Multiple markers at this line- The value of the local variable button1 is not used- Syntax error, insert to complete MethodBody一个花括号位置放错了,导致public void click1包含在protected void onCreate中,只需将放在正确位置即可。(3) 在新增收入、收入、便签等界面按Back键后,直接跳转到登录界面,应跳转到上一界面才对。原因是我在每个case中break前加了finish(),删去即可。(4) 运行app后,出现invalid resource directory name,在res文件下生成一个crunch文件导致运行出错。原因可能是我用两个android版本去编程,将这个文件删除即可。(5) 设计菜单界面布局时,添加图片为按钮的背景后,图片相互重叠。需要去挑战图片的height和width,我将二者设为75dp就解决了这个问题。还出现了按钮有的能单独点击,有的不能的问题。这是由于线性布局互相重叠,只需给每个线性布局一个id,再利用android:layout_below将布局分开。四、 经验总结首先,编程过程中一定要非常认真仔细,任何一点差错都会使程序出错。比如一符号打成中文字符也会报错,再比如 一个字母打错也不行。其次,我从这次课程设计中学到了很多。熟悉了相对布局和线性布局,掌握了

温馨提示

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

评论

0/150

提交评论