基于Android的理财与记账平台的设计与实现

目 录
1绪论 1
1.1选题背景及意义 1
1.1.1 研究背景 1
1.1.2 目的和意义 1
1.2国内外现状和发展趋势 1
1.3 研究主要内容 2
2设计开发所用到的工具和技术 3
2.1系统开发工具 3
2.2 Eclipse的介绍 3
2.3 Android简介 3
2.4安卓技术 4
2.5 SQLite简介 4
3系统分析 5
3.1 经济可行性分析 5
3.2 技术可行性分析 5
3.3 系统业务流程分析 5
3.4 系统需求分析 6
3.5 性能需求分析 7
4系统设计 8
4.1系统总体设计分析 8
4.2系统结构图 8
4.3系统特点 8
4.2数据库设计 8
4.2.1数据库的概念 8
4.2.2数据库的选择 9
4.2.3数据库表的描述 9
5系统实现 11
5.1用户登录模块 11
5.2用户记账模块 14
5.3报表模块 18
5.4资金模块 19
5.5更多模块 22
6系统测试 27
6.1测试目的及意义 27
6.2测试方法说明 27
6.3测试详情 27
6.3.1 登录注册模块 27
6.3.2 记账模块 28
6.3.3 报表模块 28
6.3.4 资金模块 28
总 结 30
参考文献 31
致 谢 32
3.4 系统需求分析
去设计维护一个App,首先最重要的就是去明确一个确切而又详细的目标,有一个合理的系统规划。通过对用户目前的一些需求,在这些方面下手,才能做好一个用户满意的东西。系统规划就是对系统的方向和内容进行一个提前的掌握以及设计,这样的话开发者才会对这个软件的设计有一个初步的把控和合理的分析。所以通过对目前一些app的查看以及对用户的一些调查来说,大致明确了一个方向,需要有四个模块来支撑整个App的运行。
首先对于管理员,也就是用户来说,应该有一个登录注册界面来让用户登录的账户,并且假如用户注册了多个账户,每个账户的内容也应该是不一样的,得在后台记录每个用户的资金状况。
其次,最重要的肯定是用户对于记账信息的管理,包括对用户每天资金流转具体情况的输入,并且应该让这些信息显示在用户的面前,这样用户才能看到自己每一天的收入支出情况,这是用户最关心的东西。
此App增加了一个功能就是报表显示用户当月的收入支出情况,收入和支出会用报表的方式向用户展示在报表界面中,非常的直观。所以应该设计一个报表模块来显示用户的收入支出情况。
因为用户的资金账户不可能只有一个,比如用户有支付宝、银行卡等等一些账户,添加收入支出的时候具体到哪个账户都得分清楚,还有就是其他的某些账户比如说现金。所以应该设计一个资金管理界面,让用户添加资金账户,并且管理账户的余额情况,在用户记账的时候每笔收入支出用的是哪个资金账户都可以选择。
因为主要是做Android系统的开发,此软件应该使用主流的使用java语言编写代码的Eclipes或者目前安卓开发使用较多的Android Studio。Eclipes只是一个开发环境,还需要有Java SDK。此外,因为开发的是Android平台的应用系统,所以安卓的SDK也是必须要的,这是安卓的开发环境必须的一些工具。
此外不管是在开发中还是在开发结束后都要时刻对做好的App进行检测,所以还需要Android的虚拟机来进行测试,Genymotion是一款最稳定的不容易崩溃而且一直能连接到的虚拟机,还有就是夜神模拟器或者是逍遥模拟器,二者都可以选择但是有时会断开连接,所以推荐使用Genymotion,当然真机也是可以当做测试机的。
简单地说,上述的各种开发中所必须的工具全部准备好之后才开始整个Android的开发,然后准备好一个测试机,这样才能开始一个完整的Android平台应用程序的开发。

package com.view;

import com.familyfinances.R;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
/*
 * 自定义组合控件
 */
public class MineView extends LinearLayout{
    
    

	private ImageView icon;
	private TextView text;
	private ImageView image;
	private MineView mineView;
	
	
	private String mText;
	private int mIcon;
	private int mImage;
	

	public MineView(Context context, AttributeSet attrs) {
    
    
		super(context, attrs);
		//获取子元素
		TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.MineView);
		for(int i=0; i<ta.getIndexCount(); i++){
    
    
			int attr = ta.getIndex(i);
			switch (attr) {
    
    
			case R.styleable.MineView_icon:
				mIcon = ta.getResourceId(attr, R.drawable.ic_launcher);
				break;
			case R.styleable.MineView_text:
				mText = ta.getString(attr);
				break;
			case R.styleable.MineView_image:
				mImage = ta.getResourceId(attr, R.drawable.ic_launcher);
				break;
			}
		}
		
		//进行资源回收
		ta.recycle();
		initView(context);
		
	}

	private void initView(Context context) {
    
    
		
		View view = View.inflate(context, R.layout.mine_list_view, this);
		icon = (ImageView) view.findViewById(R.id.mineview_icon);
		text = (TextView) view.findViewById(R.id.mineview_text);
		image = (ImageView) view.findViewById(R.id.mineview_image);
		
		icon.setImageResource(mIcon);
		text.setText(mText);
		image.setImageResource(mImage);
		
		//给指定的控件设置   属性
		if(mIcon == R.drawable.ft_cash || mIcon == R.drawable.ft_chuxuka 
				|| mIcon == R.drawable.ft_creditcard
				||mIcon == R.drawable.ft_wangluochongzhi){
    
    
			text.setTextColor(Color.parseColor("#ffffff"));
			image.setVisibility(View.INVISIBLE);
		}
		
	}
	
	/**
	 * 创建一个回调接口
	 * @author HelloWorld
	 *
	 */
	public interface MyOnClickListener{
    
    
		
		public void setMyClickListener();
		
	}
	
	//声明一个  回调接口的 对象
	private MyOnClickListener myOnClickListener;
	
	
	/**
	 * 把对外调用的方法 传进来 
	 * @param myOnClickListener
	 */
	public void setMyOnClickListener(MyOnClickListener myOnClickListener){
    
    
		
		this.myOnClickListener = myOnClickListener;
		
	}

}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/newlw/article/details/131652049
今日推荐