Skip to content

mondaylab/android.financial.management

Repository files navigation

android.financial.management

用android实现一个简易的个人记账App

📋一、系统结构设计Design

1. 需求分析

首先我们先来看下App的需求👇

设计和实现一个类似个人财务管理的 Android APP ,数据库采用 SQLite (也可以直接访问 Web MySQL 数据库、或提供 Web 接口访问 MySQL 数据库)。

APP应具备以下功能:

  • 用户注册和登录(这类 APP 一般面对个人,用户不需要分类别);
  • 收入和支出管理(单条收支记录的添加、删除和修改,收入和支出每一条记录至少包括日期、类型、金额和说明。)
  • 收入和支出查询(根据时间段、类别等进行查询)
  • 收入和支出统计(例如某个月、某个星期或指定时间段的总收支)
  • 其他要求:界面设计应尽量美观,可以添加一些图片或背景。

基于以上需求,周一对所要实现的功能进行了整理。请看下方思维导图:

需求分析

2. 数据库设计

分析完成之后,接下来开始设计数据库详情见下方思维导图:

数据库设计

因为功能较为简单,所以数据库只设计了两张表。

3. 界面设计

设计完数据库之后,开始楷模润色该 APP 的界面。基于本次课题需求,周一设计了5个界面。接下来先来看 App具体界面设计:

界面设计


看完五个界面所需要的内容之后,接下来,我们来对它进行原型绘制。请看下图:

原型图


现在,原型图设计完毕。我们接着设计高保真 App 界面。请看下图:

高保真界面1

高保真界面2

4. 过程设计

好了,看完原型图之后,我们是不是该来想想页面与页面之间,是怎么进行交互的呢?

因此,现在我们来对整个过程进行设计。详情见下方思维导图:

过程设计

📘二、编码阶段Coding

1. 项目结构🗂️

(1)文件目录

先来看项目的文件目录详情看下图👇

项目文件结构

(2)AndroidManifest.xml

接下来附上 AndroidManifest.xml 的代码,具体代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.financial.management">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="个人财务管理App"
        android:roundIcon="@mipmap/ic_launcher"
        android:supportsRtl="true"
        android:theme="@style/Theme.Final">
       <activity android:name="com.financial.management.ManageActivity"></activity>
        <activity android:name="com.financial.management.SearchRecordActivity" />
        <activity android:name="com.financial.management.RegisterActivity"/>
        <activity android:name="com.financial.management.UserCenterActivity" />
        <activity android:name="com.financial.management.MainActivity">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        </activity>
    </application>

</manifest>

(3)Activity类解读

看完上面两个内容之后,接下来是Activity类的解读时间。详情见下表👇

文件名 作用
MainActivity 用户登录页面Activity,用户可以进行登录。
RegisterActivity 用户注册页面Activity,用户可以进行注册。
UserCenterActivity 个人中心Activity,对应用户个人中心的4个按钮进行功能编写,实现用户收支管理、查看收支、收支统计、退出登录四大功能。
ManageActivity 收支管理Activity,对用户的收入和支出进行管理。
SearchRecordActivity 查询收支Activity,通过条件对数据库中的数据进行查询,得出用户想要查询的收支结果。
DBHelper 创建数据库表和数据库数据,同时实现与数据库操作相关的登录和注册方法。
User 用户类Activity,用于获取用户ID以及密码。

(4)XML解读

解读完 Activity 类之后,现在来对 XML 的各个文件进行介绍。详情见下表👇

文件名 作用
activity_main.xml 用户登录页面,用户通过输入账号和密码,进行登录操作。
activity_register.xml 用户注册页面,用户通过输入账号和密码,进行注册操作。
activity_user_center.xml 个人中心页面,当用户登录成功以后,进行个人中心页面。个人中心实现收支管理、查看收支、收支统计、退出登录四大功能。
activity_search_record.xml 通过选择年份月份来进行查询该年该月份的各个收入支出详情,并且计算总金额以及根据类别来计算该类别的总金额。
activity_manage.xml 用户对自己的日常开销进行收支管理,可以进行添加、删除和修改等操作。
record_item_layout.xml 用来存储列表的传输数据

🎵三、优化方案Optimization Scheme

(:不合理设计

本App还存在以下等诸多不合理设计,后续还将会持续优化🌈

👉年月份数据写的太固定了,没有可扩展性

👉日期应该用日期选择器来做,而不应该是以文本的形式

👉收入和支出应该以单选框来进行选择,而不应该是文本的形式

👉……

---Ending---

About

用android实现一个简易的个人记账App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages