好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

湖南科技大学智能终端系统开发及应用课程设计报告.doc

12页
  • 卖家[上传人]:20****03
  • 文档编号:152644953
  • 上传时间:2020-11-24
  • 文档格式:DOC
  • 文档大小:376KB
  • / 12 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 智能终端系统及应用开发课程设计报告 题目:个人理财小助手学 号:班 级:姓 名:指导老师: 一、 题目:个人理财小助手(1) 目的与要求1. 掌握 SQLite 数据库及其使用2. 熟练掌握布局及常用控件 Button、 ListView、 EditText、 TextView 等2)功能需求个人理财小助手主要为用户提供 5 个主要模块,包括:登录模块、收入管理模块、支出管理模块、 便签管理模块、 系统设置模块对日常的开支进行随时记录, 存储到本机的SQLite数据库1. 使用 SQLite 数据库实现增加、删除、修改;2. 使用 ListView 进行显示;3. 增加私密性,验证成功才能进行收支管理;4. 能提供简单的收支统计(按月、按周)功能;5. 提供数据管理,能对数据进行导出(如将收入/支出明细导出为 txt 或 Excel 文档)二、 工作日志12月15日(1) 搭建android开发环境从 JDK 以后,若需要在 cmd 下使用 Java 命令和编译、运行程序,可以配置环境变量:新建环境变量 JAVA_HOME,右击“我的电脑”—>“属性”—>“高级”—>“环境变量”。

      从 文件夹,运行 eclipse.exe2) 创建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字”,颜色用”#”设为红色 ,与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包下定义一个类Account12月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键后,直接跳转到登录界面,应跳转到上一界面才对。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.