0% found this document useful (0 votes)
9 views53 pages

Repex

The document is a mini project report on an Expense Tracker mobile application developed by students for their Bachelor of Technology degree in Computer Science and Engineering. The application aims to help users, particularly students, manage their finances effectively by allowing them to record, categorize, and visualize their expenses through an intuitive interface. It addresses challenges faced by existing systems, such as inefficient data organization and lack of graphical representation, by incorporating features like a pie chart for expense visualization and robust search functionality.

Uploaded by

alveenapbabu786
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views53 pages

Repex

The document is a mini project report on an Expense Tracker mobile application developed by students for their Bachelor of Technology degree in Computer Science and Engineering. The application aims to help users, particularly students, manage their finances effectively by allowing them to record, categorize, and visualize their expenses through an intuitive interface. It addresses challenges faced by existing systems, such as inefficient data organization and lack of graphical representation, by incorporating features like a pie chart for expense visualization and robust search functionality.

Uploaded by

alveenapbabu786
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Mini Project Report

On

EXPENSE TRACKER

Submitted to the APJ Abdul Kalam Technological University

in partial fulfillment of requirements for the award of degree

Bachelor of Technology

in

Computer Science and Engineering

By
ABHIRAM RAMESH(UCE22CS004)
AFEEF BULAL(UCE22CS006)
ALVEENA P BABU(UCE22CS008)
AMALA ROBIN(UCE22CS009)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


UNIVERSITY COLLEGE OF ENGINEERING, THODUPUZHA
IDUKKI DISTRICT, KERALA-685 584

APRIL 2025
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
UNIVERSITY COLLEGE OF ENGINEERING, THODUPUZHA

BONAFIDE CERTIFICATE

This is to certify that the report entitled “EXPENSE TRACKER” is


the record of the work executed by ABHIRAM RAMES(UCE22CS004), AFEEF
BULAL(UCE22CS006), ALVEENA P BABU(UCE22CS008), AMALA
ROBIN(UCE22CS009) of sixth semester Computer Science and Engineering in
partial fulfillment of the requirement for the award of the degree of Bachelor of
Technology under the APJ Abdul Kalam Technological University during the
academic year 2022-2026

Project Coordinator Head of the Department

External Supervisor

Place: Thodupuzha
Date:
ACKNOWLEDGEMENT

We take this opportunity to express our deepest sense of gratitude and sincere
thanks to everyone who helped me to complete this work successfully. We are
grateful to our respected principal Dr. V G Geethamma providing all facilities for
the presentation of this project. We express our sincere thanks to Ms. Rahumath
Beevi A, Head of Department, Computer Science and Engineering, University
College of Engineering, Thodupuzha for rendering all possible help and support
during the presentation of this project. We would like to place on record my sincere
gratitude to our project guide Ms. Lini Abraham and Mr. Reghunath E.V Assistant
Professor, University College of Engineering Thodupuzha for the guidance and
mentorship throughout the course. We would like to express our sincere gratitude to
project coordinators Name for their support and co-operation. Finally, we thank our
family, and friends who contributed to the successful fulfilment of this project
ABSTRACT

Managing personal finances is a crucial aspect of student life, where effective


budgeting and expense tracking play a vital role in ensuring financial stability and
informed decision-making. This project introduces an expense tracker mobile
application, developed using Android Studio and Java, specifically designed to
provide students with a seamless and intuitive way to record, categorize, and visualize
their daily financial transactions. The application features a comprehensive main
dashboard that offers a clear overview of expenses through a dynamic pie chart,
visually representing the percentage of expenses distributed across various categories
within a selected time frame. Users can effortlessly add income and expenses through
dedicated pages, selecting appropriate categories and dates to maintain an organized
financial record. To enhance accessibility, the app incorporates a robust search
functionality that allows users to retrieve transaction details for specific categories,
ensuring quick access to past financial records. Additionally, an efficient data
management system is integrated through an easy deletion feature, enabling users to
remove outdated or incorrect transactions with just a few clicks. Technically, the
application is built using essential Android components such as ListView,
RecyclerView, and GridView, ensuring smooth and structured data presentation. It
employs an SQLite database for efficient data storage and retrieval, while
MPAndroidChart is utilized to deliver an interactive graphical representation of
expenses, helping users gain insights into their spending patterns. Furthermore, the
inclusion of menus, navigation drawers, and search functionalities significantly
enhances user experience, making financial management more intuitive and user-
friendly. By integrating these features into a well-structured and aesthetically pleasing
interface, this expense tracker simplifies the complexities of financial tracking,
empowering students to develop better spending habits and make well-informed
financial decisions effortlessly.
CONTENTS

[Link] TITLE PAGE NO.

1. INTRODUCTION

1.1 Challenges Faced by the Current System…………………….......1

1.2 Solved by the Proposed system……………………………..…………….….2

2. EXISTING SYSTEM…………………………………….………...…..4

3. PROPOSED SYSTEM…………………………………………………9

4. SYSTEM ANALYSIS

4.1 Existing System analysis………………………………………...11

4.2 Proposed system Overview……………………………………...12

4.3 Feasibility Study…………………………………………………12

4.4 User Requirements and Functional Specification…………….…13

5. SYSTEM DESIGN

5.1 Data Flow Diagram of Proposed system………………………..15

5.2 Tables…………………………………………………………...17

6. IMPLEMENTATION

6.1 User Interface development…………………………………….18

6.2 Database Integration……………………………………………19

6.3 Expense Management and Search functionality………………..20

6.4 Graphical Representation and budgeting system……………….21

7. SYSTEM TESTING………………………………………………....23

CONCLUSION………………………………………………………26

REFERENCES……………………………………………………….27

APPENDIX…………………………………………………………...28
LIST OF FIGURES

[Link] TITLE PAGE NO.

5.1 DATA FLOW DIAGRAM


5.1.1 DFD Level 0……………………………………15
5.1.2 DFD Level 1……………………………………15
5.1.3 DFD Level 2……………………………………16
LIST OF TABLES

[Link] TITLE PAGE NO.

5.2.1 EXPENSE TABLE…………………………………….17


Expense Tracker

CHAPTER 1
INTRODUCTION
Managing finances effectively is essential for maintaining financial stability
and ensuring responsible spending habits. Tracking expenses allows individuals to
monitor their financial activities, plan budgets efficiently, and make informed
decisions regarding their expenditures. While traditional methods such as maintaining
handwritten records or using spreadsheets can be useful, they often prove to be
inconvenient, time-consuming, and impractical for everyday use. To address these
challenges, a mobile expense tracker application has been developed using Android
Studio and Java, offering a more accessible, efficient, and user-friendly alternative.
This application provides users with the ability to record their income and expenses
effortlessly, categorize them based on spending habits, and visualize financial patterns
through an interactive pie chart. The intuitive interface ensures a seamless experience,
allowing users to input financial data by selecting categories and dates while viewing
real-time updates on their spending. A dedicated search functionality enables users to
retrieve specific transactions efficiently, and an easy data management system allows
for modification or deletion of entries as needed. Additionally, the application
incorporates various technical features such as ListView, RecyclerView, GridView,
and SQLite database integration to store and manage data effectively. By providing an
organized and structured approach to expense tracking, this application enhances
financial awareness and promotes better financial discipline. Users can gain a clear
understanding of their spending habits, identify areas where they can cut unnecessary
costs, and make well-informed financial decisions. With its user-friendly interface,
efficient navigation, and graphical representation of financial data, this expense
tracker simplifies money management and serves as a valuable tool for individuals
seeking to optimize their budgets and maintain better control over their financial well-
being.

1.1. Challenges Faced by the Current System:

Traditional and existing expense tracking systems face several limitations that
make financial management difficult for students. Many apps lack a simple and
intuitive user interface, making navigation cumbersome and discouraging regular use.

Dept of CSE 1 UCE


Expense Tracker

Inefficient data organization further complicates expense tracking, as users struggle to


retrieve past transactions due to the absence of proper categorization and sorting
options. Additionally, most systems do not provide effective graphical representation,
limiting users to textual records instead of visual insights like pie charts, which are
crucial for understanding spending patterns at a glance. The complexity of transaction
entry is another major issue, with some apps requiring too many manual inputs,
making it time-consuming for users to record expenses.
Another challenge in current systems is the lack of efficient search and
filtering mechanisms, making it difficult for students to find specific transactions
when needed. Additionally, many apps do not offer easy data deletion or
modification, which can lead to inaccurate financial records. Limited categorization
options also hinder effective tracking, as users are often restricted to generic
categories rather than customized labels suited to their spending habits. Performance
issues further add to the inconvenience, with some apps relying on cloud storage that
requires an internet connection, while others have slow database management,
affecting the speed and responsiveness of the app.
Furthermore, many expense trackers do not include budgeting features,
preventing students from setting financial limits and managing their expenses
proactively. The lack of customization and personalization options also reduces user
engagement, as most systems do not allow modifications to dashboards, categories, or
charts based on personal preferences. These challenges highlight the inefficiencies in
existing systems, which your Expense Tracker App aims to overcome by offering a
seamless, structured, and visually engaging solution tailored to student needs,
ensuring effortless financial management and better decision-making.

1.2 Problem Solved by the Proposed System:

The proposed Expense Tracker App solves several challenges faced by


existing systems, particularly in terms of efficient data organization and visual
expense representation. One major problem it addresses is inefficient data
organization in traditional expense tracking systems. Many existing apps make it
difficult for users to retrieve past transactions due to poor categorization and lack of
sorting options. Without a structured way to manage expenses, students often struggle
to track their spending habits effectively. The proposed app overcomes this by

Dept of CSE 2 UCE


Expense Tracker

allowing users to categorize expenses and income efficiently, making transaction


retrieval much easier. With the inclusion of a search functionality, users can quickly
find specific transactions based on categories, dates, or keywords, eliminating the
frustration of manually scrolling through long lists of entries. Additionally, the app
provides an easy deletion feature, allowing users to remove incorrect or unnecessary
records with a simple action. This ensures that financial data remains accurate, up to
date, and well-organized, reducing the clutter and confusion that often come with
managing expenses manually or through inefficient digital tools.
Another significant problem solved by the app is the lack of graphical
representation of expenses, which is a common limitation in many traditional systems.
Most existing applications rely heavily on textual records to display financial
transactions, making it difficult for users to analyze their spending patterns at a
glance. Without a visual representation, users may find it challenging to identify
trends in their financial habits and make informed budgeting decisions. The proposed
system integrates MPAndroidChart to visually display expenses through a pie chart
on the main dashboard, offering a clear and concise breakdown of spending across
different categories. This graphical insight allows students to better understand where
their money is going and adjust their expenses accordingly. By making financial data
more interactive and easier to interpret, the app enhances the user experience and
encourages better financial management practices. With a structured, user-friendly
interface and visual tools to aid decision-making, this Expense Tracker App provides
a more effective and engaging solution for students looking to manage their finances
efficiently.

Dept of CSE 3 UCE


Expense Tracker

CHAPTER 2
EXISTING SYSTEM

Existing expense tracking systems, whether manual or digital, come with


several limitations that make financial management difficult for students. Many
traditional methods involve maintaining written records or using spreadsheets, which
require constant manual input and are prone to errors, making them inefficient for
daily expense tracking. Even with digital solutions, many applications lack an
intuitive user interface, making navigation cumbersome and discouraging regular use.
Some apps do not provide effective data organization, forcing users to scroll through
long lists of transactions without proper categorization or sorting options, making it
difficult to retrieve past records. Additionally, most existing systems rely on textual
data representation rather than visual tools like charts or graphs, which limits users'
ability to analyze their spending patterns at a glance. Without graphical insights,
students may struggle to identify areas where they need to control their expenses.
Another common drawback is the absence of advanced search and filtering
functionalities, making it time-consuming to locate specific transactions when needed.
Many applications also do not offer easy deletion or modification of financial entries,
leading to inaccuracies in financial records. Furthermore, traditional expense tracking
apps may lack budgeting features, preventing users from setting financial limits and
monitoring their spending accordingly. Performance issues such as slow data
retrieval, dependency on internet access for cloud-based apps, and lack of
customization options further reduce the effectiveness of existing systems. These
limitations highlight the inefficiencies in current expense tracking methods, creating
the need for a more structured, user-friendly, and visually engaging solution that
simplifies financial management for students.

2.1 CHALLENGES OF EXISTING SYSTEM:


1. Inefficient Data Organization

Dept of CSE 4 UCE


Expense Tracker

One of the most significant and persistent challenges encountered in many


existing expense tracking systems is the inefficient organization of financial data. This
problem is especially prominent in applications that either lack robust backend
structures or fail to implement intuitive categorization mechanisms. When data is not
stored and displayed in a well-structured format, users—particularly students—find it
difficult to access specific financial records when needed. These systems often lack
proper categorization features, such as predefined or customizable labels for expenses,
which are essential for differentiating between spending types like food, travel,
utilities, or academic materials. As a result, all transactions are lumped together in a
single, unsegmented list, making it hard to interpret or analyze spending patterns.
Moreover, the absence of filtering and sorting capabilities exacerbates this
issue. Students are forced to manually scroll through extensive logs of transactions,
often without the ability to narrow results based on date, category, or transaction
amount. This is not only time-consuming but also discourages regular usage, as the
effort required to find specific data outweighs the perceived benefit. Without a clean
and accessible overview, users cannot draw meaningful insights into their financial
behavior, such as identifying overspending in certain categories or tracking month-
over-month changes in expenditure.
Additionally, when users cannot visualize or break down their financial
records into digestible chunks, the entire process of budgeting and financial planning
becomes more complicated. Students, who are often balancing academic
responsibilities with tight budgets, need tools that simplify rather than complicate
financial tracking. Poorly organized systems can lead to missed entries, forgotten
transactions, or errors in data interpretation, further diminishing the accuracy and
effectiveness of the tool. Consequently, these limitations in data organization directly
hinder students’ ability to manage their finances efficiently, undermining the core
purpose of expense tracking applications.
[Link] of Graphical Representations
Another major drawback in many existing expense tracking systems is the
absence of effective graphical representation tools, which are essential for interpreting
and understanding financial data. Most conventional applications, especially older or
basic ones, present expense and income records purely in text or tabular formats.
While this approach does deliver the raw data, it often fails to provide the user with a
meaningful or intuitive way to analyze their financial behavior. Without visual tools

Dept of CSE 5 UCE


Expense Tracker

like pie charts, bar graphs, or line graphs, it becomes increasingly difficult for users to
comprehend the overall distribution of their expenses, identify spending habits, or
make quick comparisons between different financial categories over time.
This lack of visual insight particularly affects students, who may not have the
time or patience to manually analyze long lists of transaction details. Visual elements
play a crucial role in simplifying data interpretation—something as simple as a pie
chart can quickly show which category consumed the largest portion of a monthly
budget. Without such features, users are left to draw conclusions by scrolling through
numbers, which can be mentally taxing and prone to misinterpretation. Furthermore,
the monotony of reading plain text can diminish user engagement, making it less
likely that students will consistently use the application to monitor their finances.
Graphical representation is not just a matter of aesthetics; it significantly
enhances the usability and effectiveness of a financial management system. It
transforms abstract numerical data into digestible, intuitive visuals that make it easier
to spot trends, anomalies, or areas of concern—such as an unusually high expenditure
in a non-essential category. It also supports informed decision-making by presenting
data in a comparative and time-based format, helping users see the bigger picture. The
lack of such visual features in traditional systems represents a missed opportunity to
deepen user understanding and involvement.
Moreover, the absence of dynamic graphs and charts limits the ability of users
to track their progress over different periods—daily, weekly, or monthly. Without the
ability to toggle between time frames and visually assess changes in spending
behavior, users are unable to evaluate the success of their budgeting efforts or adapt
their strategies based on past performance. In essence, a system without graphical
representation reduces the depth and accessibility of financial analysis, making it
more difficult for students to take control of their spending habits and improve their
overall financial literacy.
3. Limited Search and Deletion Features
Limited search and deletion feature further hinder the efficiency of traditional
expense tracking systems. Many existing applications do not offer advanced search
functionality, which makes finding specific transactions a tedious task. Without a
proper filtering mechanism, users may spend unnecessary time trying to locate
records from previous months or within specific categories. Additionally, some
systems do not allow easy deletion or modification of financial entries, meaning that

Dept of CSE 6 UCE


Expense Tracker

if a mistake is made while entering data, it cannot be corrected. This results in


inaccurate financial records, which can mislead users and create further confusion in
managing expenses. A good expense tracker should provide users with the ability to
search for and update transactions effortlessly to ensure accurate financial data.
4. Absence of Budgeting Features
One of the key limitations of many traditional or underdeveloped expense
tracking systems is the absence of essential budgeting features, particularly when it
comes to advanced search capabilities and data modification options. A major pain
point for users is the lack of a sophisticated and responsive search mechanism, which
severely restricts their ability to navigate through past financial transactions. Without
an efficient way to filter records by specific dates, categories, amounts, or even
keywords, users are often left to manually scroll through lengthy lists of transactions.
For students with multiple daily or weekly entries, this becomes a frustrating and
time-consuming process, reducing the practicality of such systems for long-term use.
Moreover, the inability to retrieve or view financial data from a specific
period or within a particular spending category hampers users’ ability to perform
targeted analyses of their expenses. Students who wish to reflect on their monthly
food or travel spending, for example, may find it nearly impossible to do so if the
application does not support category-wise or date-based filtering. This lack of
dynamic retrieval tools limits financial transparency and can prevent users from
recognizing harmful spending patterns or areas where savings can be made. In an
academic setting, where budgeting every rupee matter, such limitations significantly
diminish the value of the tracking tool.
Equally concerning is the restricted ability to delete or edit previously entered
transactions. Many existing systems treat financial entries as static, unchangeable
records once submitted. This becomes problematic when users make accidental
entries—such as entering the wrong amount, category, or date. Without the flexibility
to update or remove incorrect records, users are forced to either ignore the error or try
to mentally adjust their interpretations, both of which lead to confusion and
inaccuracies in budget assessments. In the long run, this erodes the reliability of the
data being collected, as users cannot trust the accuracy of the records within the
application.
Furthermore, some systems do not offer confirmation prompts or undo
options for deletion, meaning that accidental deletions can result in the permanent loss

Dept of CSE 7 UCE


Expense Tracker

of important financial data. The absence of these basic safety features undermines
user confidence and increases the risk of record mismanagement. A well-designed
expense tracker should allow for effortless corrections and intuitive record
management, giving users the power to maintain accurate, up-to-date financial
information without stress or risk.
To address these issues, an effective financial tracking solution must
incorporate not only budgeting tools but also intelligent search filters, editable fields,
and secure deletion options. These features are fundamental to any application aiming
to support students in managing their finances responsibly. Without them, users are
left with an incomplete system that only partially serves its purpose, reducing its
effectiveness as a reliable financial companion.

Dept of CSE 8 UCE


Expense Tracker

CHAPTER 3
PROPOSED SYSTEM

The proposed expense tracker system is designed to provide students with an


efficient, user-friendly, and visually engaging way to manage their daily financial
transactions. Unlike traditional systems that rely on inefficient data organization and
manual input, this application ensures a seamless expense tracking experience by
incorporating intuitive features that simplify financial management. The system
allows users to record both expenses and income effortlessly, with the ability to
categorize transactions based on different spending areas such as food, transport,
entertainment, and education. This structured categorization ensures that users can
easily access and analyze their financial records without the hassle of scrolling
through long lists of transactions. Additionally, the application offers a search
functionality that enables users to quickly retrieve specific transactions based on
categories, dates, or keywords, eliminating the frustration of manual tracking.
Furthermore, an easy deletion feature allows users to remove outdated or incorrect
entries, ensuring that financial records remain accurate and clutter-free.
One of the key features of this system is its ability to provide graphical
insights into spending patterns. Many traditional expense tracking applications only
display numerical data, which can be difficult to interpret at a glance. The proposed
system integrates MPAndroidChart to display a visual breakdown of expenses using
pie charts. This graphical representation allows students to understand their spending
habits more effectively and make informed financial decisions. The pie chart
displayed on the main dashboard gives a clear view of the percentage of expenses
across various categories within a selected timeframe. By providing a visual
representation of financial data, the application ensures that users can quickly identify
areas where they are overspending and adjust their budgets accordingly. This not only
enhances financial awareness but also encourages responsible spending habits among
students who may be managing their own expenses for the first time.

Dept of CSE 9 UCE


Expense Tracker

To further enhance usability, the application is built with an interactive and


structured user interface. It incorporates menus, navigation drawers, and an organized
layout that ensures smooth navigation. The use of ListView, RecyclerView, and
GridView allows for an optimized display of transactions, making it easier for users to
view and manage their financial records. Additionally, an SQLite database is used for
efficient storage and retrieval of financial data, ensuring that users can access their
past transactions even without an internet connection. The system also focuses on
performance optimization, ensuring that data retrieval and entry processes are quick
and responsive. Unlike many cloud-based expense tracking applications that require
internet access for functionality, this system provides offline support, making it highly
reliable for students who may not always have internet connectivity.
Another advantage of the proposed system is its ability to support budgeting
features, a functionality that is often missing in traditional expense tracking
applications. Users can set budget limits for different spending categories and monitor
their expenses against these predefined limits. This feature helps students stay within
their financial means and avoid unnecessary overspending. By receiving notifications
or alerts when approaching budget thresholds, users can make informed decisions
about their spending habits. The system is designed to encourage financial discipline
while still offering flexibility in managing personal expenses. Additionally,
customization options allow users to personalize their dashboard by modifying
categories, adjusting timeframes for expense analysis, and tailoring financial insights
based on individual needs.
The expense tracker is not only designed for practicality but also for an
engaging and effortless user experience. By addressing the challenges of traditional
systems, such as inefficient data organization, lack of visual insights, limited search
functionality, and absence of budgeting tools, this application ensures that students
can manage their expenses with ease. Its structured and intuitive interface, combined
with a powerful backend for data storage and retrieval, makes financial management
simpler and more accessible. The overall goal of this system is to help students gain
control over their finances, develop better spending habits, and make well-informed
financial decisions without the complexity associated with traditional expense
tracking methods.

Dept of CSE 10 UCE


Expense Tracker

CHAPTER 4
SYSTEM ANALYSIS

System analysis plays a crucial role in the development of the proposed


expense tracker application, as it involves understanding the existing challenges,
defining system requirements, and evaluating feasibility. This process ensures that the
new system effectively overcomes the inefficiencies of traditional expense tracking
methods and provides a structured, user-friendly, and visually interactive solution for
students. The system analysis is divided into several key parts.

4.1 Existing System Analysis:

Lack of Efficient Data Organization

Many existing expense tracking methods, whether manual or digital, lack a


proper system for organizing financial data. Traditional methods, such as maintaining
records in notebooks or spreadsheets, require manual input and constant updates,
making them prone to errors. Even digital solutions often fail to provide well-
structured categorization and sorting mechanisms, forcing users to scroll through long
transaction lists to find specific details.

Absence of Visual Insights

Most existing expense tracking systems rely solely on text-based financial


records, making it difficult for users to analyse their spending patterns. Without visual
representations like charts or graphs, users struggle to identify areas where they need
to control expenses, which reduces the effectiveness of financial management.

Limited Search and Modification Functionalities

Many digital applications lack an advanced search feature, making it time-


consuming for users to retrieve past transactions. Additionally, most systems do not

Dept of CSE 11 UCE


Expense Tracker

provide easy modification or deletion of financial entries, leading to inaccurate and


cluttered records over time.

4.2 Proposed system Overview:

Structured and User-Friendly Interface

The proposed expense tracker application is designed with an intuitive and


structured interface that allows students to easily record and manage their financial
transactions. It enables users to categorize expenses and income into specific sections,
making financial tracking more organized and efficient.

Graphical Representation of Financial Data

Unlike existing systems that rely on text-based records, the proposed


application incorporates MPAndroidChart to provide users with a visual breakdown
of their spending habits. A pie chart displayed on the main dashboard shows the
percentage of expenses across different categories, helping users quickly analyse their
financial status.

Advanced Search and Easy Deletion Features

The system includes a powerful search functionality that enables users to find
specific transactions based on categories, keywords, or date ranges. Additionally, an
easy deletion feature allows users to remove outdated or incorrect financial entries,
ensuring that their records remain accurate and up to date.

Budgeting and Expense Monitoring Tools

The application integrates a budgeting feature that allows users to set


financial limits for different spending categories. Users receive notifications when
they exceed their predefined budget thresholds, helping them maintain financial
discipline and control overspending effectively.

4.3. Feasibility Study:

Dept of CSE 12 UCE


Expense Tracker

Technical Feasibility

The application is developed using Android Studio and Java, which ensures
compatibility with most Android devices. SQLite is used for offline data storage,
making the system functional even without an internet connection. Additionally, UI
components such as ListView, RecyclerView, and GridView optimize the display and
retrieval of financial records.

Economic Feasibility

Since the system does not rely on cloud-based solutions, it remains cost-
effective for users. All data is stored locally, eliminating additional costs associated
with cloud storage services. This makes the application accessible to students without
financial constraints.

Operational Feasibility

The system is designed to be simple and user-friendly, ensuring that students


can navigate and use its features without requiring technical knowledge. The
interactive UI, combined with structured data management, encourages users to track
their expenses regularly and efficiently.

Time Feasibility

The proposed application can be developed within a structured timeline by


implementing core features such as transaction recording, categorization, search
functionality, budgeting tools, and graphical representation in a step-by-step manner.
The project follows a realistic development schedule, ensuring timely completion and
deployment.

4.4 User Requirements and Functional Specifications

Intuitive User Interface

Users require an easy-to-use interface that simplifies financial management. The


application must provide smooth navigation, categorized expense tracking, and a
visually engaging dashboard.

Categorization and Data Organization

Dept of CSE 13 UCE


Expense Tracker

The system must allow users to categorize their expenses and income
based on different spending areas such as food, transportation, entertainment, and
education. This ensures that financial records remain well-structured and easy to
analyse.

Search and Transaction Management Features

Users need an advanced search function to retrieve past transactions based on


specific filters such as categories, dates, and keywords. Additionally, the system must
allow for easy deletion or modification of financial entries to maintain accurate
records.

Graphical Data Representation

To enhance financial insights, the application must provide a pie chart displaying
spending patterns, helping users quickly understand their expenses and make
informed financial decisions.

Budgeting Tools and Notifications

The system should include a budgeting feature where users can set spending limits for
different categories. Notifications should be implemented to alert users when they are
approaching or exceeding their budget thresholds.

By analyzing these different aspects, the proposed expense tracker application


effectively addresses the inefficiencies of traditional expense tracking systems,
providing students with a structured, visually engaging, and easy-to-use solution for
managing their finances.

Dept of CSE 14 UCE


Expense Tracker

CHAPTER 5
SYSTEM DESIGN
5.1 Data Flow Diagram of Proposed Model:
Level 0:

Figure 5.1.1 Data flow Diagram of level 0

Level 1:

Dept of CSE 15 UCE


Expense Tracker

Figure 5.1.2 Data flow diagram of level 1

Level 2:

Dept of CSE 16 UCE


Expense Tracker

Figure 5.1.3 Data flow diagram of level 2

5.2 TABLES USED:

Dept of CSE 17 UCE


Expense Tracker

Expense Details Table:

CHAPTER 6

Dept of CSE 18 UCE


Expense Tracker

IMPLEMENTATION

The implementation of the expense tracker application focuses on


transforming the planned design into a fully operational system. This stage includes
the development of various components such as user interface design, database
integration, expense management, and graphical visualization. By ensuring a seamless
integration of these components, the application aims to provide students with an
efficient tool for managing their finances. Each aspect of the implementation is
carefully developed to enhance usability, functionality, and overall system
performance. The following sections elaborate on the key areas of implementation in
detail.

6.1 USER INTERFACE DEVELOPMENT:


The user interface (UI) of the expense tracker application plays a crucial role
in providing a smooth and intuitive experience for users. A well-designed UI ensures
that users can navigate through the application effortlessly, perform necessary actions
without confusion, and access their financial data in an organized manner. The UI
development process begins with the structuring the layout using Android Studio,
incorporating modern design principles that focus on clarity, accessibility, and
responsiveness. The interface consists of multiple screens, including the main
dashboard, expense entry form, income entry form, category selection page, and
budget management page.

To display transaction data in a structured format, components such as


ListView, RecyclerView, and GridView are used. The ListView and RecyclerView
enable users to view financial transactions in an easy-to-read format, ensuring that
each transaction is clearly categorized. The GridView is utilized for presenting
categories, allowing users to select relevant expense categories with a visually
engaging layout.

The main dashboard is designed to be the central hub of the application. It


provides a comprehensive overview of the user's financial activities, displaying total
income, total expenses, and remaining budget. A key feature of the dashboard is the
integration of a pie chart that visually represents expense distribution across different

Dept of CSE 19 UCE


Expense Tracker

categories. This chart provides users with a quick understanding of where their money
is being spent the most, helping them identify spending patterns and make necessary
adjustments to their financial habits.

Additionally, the UI incorporates navigation menus that allow users to


seamlessly switch between different sections of the application. A navigation drawer
is used to provide access to various features such as expense tracking, income
tracking, budget management, and settings. The design follows a minimalistic
approach, reducing unnecessary complexities and ensuring that users can access key
functionalities without confusion.

The UI is also optimized for different screen sizes and resolutions to ensure
compatibility with a wide range of Android devices. This is achieved through
responsive design principles, using flexible layouts and scalable UI elements. The
colour scheme and typography are chosen to enhance readability and maintain a
visually appealing interface. User experience is further improved through the use of
animations and smooth transitions, making the interaction with the application more
engaging.

6.2 DATABASE INTEGRATION:

The expense tracker application relies on a robust database system to store


and manage financial data efficiently. SQLite is chosen as the database management
system due to its lightweight nature, offline accessibility, and ease of integration with
Android applications. The database is structured to ensure seamless storage and
retrieval of financial transactions, ensuring that users can access their past records
without delays.

The database schema is designed to include multiple tables that organize data
in a structured manner. The key tables include the Expenses table, Income table,
Categories table, and Budget table. The Expenses table stores transaction details such
as amount, category, date, and description. Similarly, the Income table records income
transactions, ensuring that users can track both earnings and expenditures. The
Categories table maintains a predefined set of expense categories, allowing users to
select relevant categories when adding a new transaction. The Budget table stores
user-defined spending limits for different categories, enabling the system to monitor
expenses against these predefined limits. To enhance database efficiency, indexing is
implemented to optimize query performance, ensuring quick data retrieval.

Dept of CSE 20 UCE


Expense Tracker

Transactions are stored in a structured manner using SQL commands, allowing for
seamless insertion, updating, and deletion of records. When a user adds an expense or
income entry, the data is stored in the SQLite database instantly, ensuring real-time
updates.

Data retrieval is optimized using SQL queries that allow users to filter and
sort transactions based on specific criteria such as date, category, or amount. This
ensures that users can quickly find relevant financial records without manually
scrolling through long lists of transactions. Additionally, data persistence is
maintained even when the application is closed, allowing users to retain their financial
history without requiring cloud-based storage.

The integration of SQLite ensures that the expense tracker application


remains functional even without an internet connection. Unlike cloud-based financial
management applications that require constant connectivity, this offline capability
makes the application more reliable, especially for students who may have limited
access to the internet.

Data security is another important aspect of database integration. The


application ensures that financial records are securely stored within the device,
preventing unauthorized access. User authentication mechanisms, such as password
protection or biometric authentication, can be integrated to enhance data privacy.

By implementing a well-structured and optimized database, the application


ensures that users can efficiently store, retrieve, and manage their financial
transactions without performance issues.

6.3 EXPENSE MANAGEMENT AND SEARCH FUNCTIONALITY:

The core functionality of the expense tracker application revolves around


expense management, enabling users to add, edit, delete, and search financial
transactions effortlessly. The expense management module ensures that users can
record their financial activities accurately and maintain an organized record of their
income and expenses.

When a user adds an expense or income transaction, the application prompts


them to enter relevant details such as amount, category, date, and description. This
structured data entry ensures that all financial records are well-organized and easy to

Dept of CSE 21 UCE


Expense Tracker

analyze. The category selection process is simplified through a grid-based category


picker, allowing users to choose relevant spending categories with ease.

To enhance user convenience, an advanced search functionality is integrated


into the system. Users can retrieve specific transactions based on multiple filters such
as date range, category, or keyword search. This eliminates the hassle of manually
scrolling through transaction lists, enabling quick and efficient retrieval of financial
data. Additionally, users can sort transactions based on ascending or descending order
of amount, date, or category, making it easier to track specific financial patterns.

An easy deletion feature is also implemented, allowing users to remove


outdated or incorrect transactions. When a user deletes a transaction, the system
ensures that the database is updated in real-time, preventing inconsistencies in
financial records. Users are provided with a confirmation prompt before deletion to
avoid accidental removal of important transactions. Furthermore, a temporary undo
option is included, allowing users to recover deleted transactions within a limited time
frame.

By incorporating a streamlined expense management and search functionality,


the application ensures that students can efficiently monitor their financial activities,
retrieve records with ease, and maintain accurate expense tracking.

6.4 GRAPHICAL REPRESENTATION AND BUDGETING SYSTEM:

Graphical representation plays a vital role in helping users understand their


financial patterns. The expense tracker application integrates MPAndroidChart to
generate real-time pie charts, which visually depict spending distribution across
different categories. Instead of manually analyzing expense records, users can quickly
gain insights into their spending habits through these dynamic graphical
representations. The charts update automatically as new transactions are added,
ensuring real-time tracking of expenses. Users can filter these visualizations by
selecting different time frames, such as daily, weekly, or monthly views, allowing
them to assess their spending habits over different periods.

The budgeting system allows users to set predefined spending limits for
different categories, ensuring effective financial control. Once a budget is set, the
system actively monitors expenses and provides real-time alerts if a user is close to

Dept of CSE 22 UCE


Expense Tracker

exceeding their predefined budget. This feature helps users avoid overspending and
fosters responsible financial behaviour. The budgeting system also maintains a history
of past budgets, allowing users to analyse previous spending trends and make
necessary adjustments. By integrating visual financial insights and an intelligent
budgeting mechanism, the application empowers students to make informed financial
decisions, ensuring better money management and financial stability.

Dept of CSE 23 UCE


Expense Tracker

CHAPTER 7
SYSTEM TESTING
7.1 System Testing
System testing is a critical phase in the development of the expense tracker
application, ensuring that the entire system functions as expected under different
conditions. This phase involves evaluating the overall behavior of the application to
verify that all components work harmoniously. System testing involves checking
whether the database, user interface, expense management, and graphical
visualization are integrated correctly and function as intended. The primary goal of
system testing is to validate the end-to-end performance of the application, ensuring
that it meets user requirements and performs efficiently across various devices. It tests
the application's ability to handle different financial transactions, process user inputs
accurately, and update data without errors. System testing also ensures that the
application does not crash, slow down, or display incorrect information when
subjected to real-world scenarios. It covers different aspects of testing such as
functional, performance, usability, and compatibility testing, making it a crucial step
before deployment.
7.1.1 Functional Testing
Functional testing focuses on verifying that each feature of the expense
tracker application performs according to the specified requirements. This testing
ensures that the application's core functionalities, such as adding, editing, deleting,
and searching expenses, work flawlessly. Functional testing begins with testing the
transaction input process, ensuring that users can enter expense and income details,
select categories, and assign dates without errors. The search functionality is tested by
retrieving transactions based on various filters such as category, date, and keyword
search. Additionally, the delete function is tested to confirm that expenses are
removed from the database properly, with confirmation prompts working as expected.
The budget management system undergoes testing to ensure that spending limits are
correctly set and that notifications are triggered when budgets are exceeded. The

Dept of CSE 24 UCE


Expense Tracker

graphical representation module is tested by adding different transactions and


verifying whether the pie chart accurately reflects expense distributions. Functional
testing is performed using different test cases that cover normal, boundary, and
invalid inputs to ensure robustness.

7.1.2 Performance Testing


Performance testing evaluates how well the expense tracker application
performs under different conditions, such as high transaction loads, limited system
resources, and multiple concurrent operations. The objective of performance testing is
to identify potential bottlenecks and optimize the application's speed and
responsiveness. This testing involves adding a large number of transactions to the
database and analyzing whether the application processes them efficiently without
slowing down. The search and filtering functions are tested to ensure that retrieving
transactions remains fast, even when the database contains extensive financial
records. The application’s response time is monitored while navigating between
different sections, such as the dashboard, budget management, and expense tracking
pages. Stress testing is conducted to simulate extreme conditions, such as running the
application on low-memory devices or executing multiple transactions
simultaneously. The impact of background processes and other running applications is
also analyzed to ensure the expense tracker maintains stable performance without
crashes or delays.
7.1.3 Usability Testing
Usability testing focuses on assessing the user experience of the expense
tracker application, ensuring that it is intuitive, easy to navigate, and meets the needs
of students efficiently. This testing involves real users interacting with the application
to provide feedback on its ease of use and overall design. Testers evaluate how easily
they can add and categorize expenses, track their budgets, and analyze spending
trends using graphical representations. The application's layout, button placements,
font sizes, and color schemes are reviewed to determine whether they enhance
readability and accessibility. The navigation flow is tested to ensure that users can
switch between different sections smoothly without confusion. Additionally, usability
testing checks for the effectiveness of alerts, notifications, and confirmation prompts,
ensuring they provide clear guidance without being intrusive. Common usability
issues such as unclear labels, slow response times, or unnecessary steps in

Dept of CSE 25 UCE


Expense Tracker

transactions are identified and resolved. Based on user feedback, improvements are
made to enhance the overall user experience.

7.1.4 Compatibility Testing


Compatibility testing ensures that the expense tracker application functions
correctly across different devices, screen sizes, and Android versions. This testing is
crucial because students may use a variety of smartphones and tablets with varying
hardware specifications. The application is tested on different Android versions to
ensure backward compatibility, allowing users with older devices to access all
functionalities without issues. It is also tested on devices with different screen sizes
and resolutions to verify that the layout adjusts dynamically without distortion or
misalignment. Compatibility testing includes checking how well the application
integrates with different system settings, such as dark mode, accessibility features,
and background app management. The expense tracker is also tested under various
network conditions to ensure smooth offline functionality. This guarantees that users
can access their financial records even when they do not have an internet connection.
By conducting thorough compatibility testing, the application ensures a seamless
experience across multiple devices and configurations, preventing issues related to
display inconsistencies or functionality failures.

Dept of CSE 26 UCE


Expense Tracker

CONCLUSION
Managing finances is a vital skill for students, and the Expense Tracker application is
designed to address this need by offering a simple yet powerful tool for tracking
income and expenses. This app provides an efficient solution to common problems in
traditional systems, such as poor data organization, lack of visual insights, and limited
budgeting features. Built using Android Studio and Java, and powered by an SQLite
database, the app enables users to add, edit, and delete transactions, categorize their
spending, and search for specific entries with ease. The integration of dynamic pie
charts using MPAndroidChart offers a visual breakdown of expenses, helping users
quickly understand their financial habits. The budgeting feature allows students to set
spending limits and receive alerts when approaching them, promoting better control
over their finances. A clean and responsive user interface ensures smooth navigation
across all features, making the app user-friendly and accessible. Overall, this project
not only demonstrates technical competence but also provides a practical solution to
help students develop healthier financial habits, making it a valuable contribution

toward financial awareness and management.

Dept of CSE 27 UCE


Expense Tracker

REFERENCES

1. Android Studio for Expense Tracker Development:


Guide on using Android Studio and Java to build an expense tracking app.
Android Studio Documentation

2. MPAndroidChart for Pie Charts:


Library for creating charts like pie charts to visualize expenses.
MPAndroidChart Library

3. SQLite Database for Expense Tracker:


Guide on using SQLite for storing financial data in Android apps.
SQLite Documentation

4. Material Design Guidelines:


Guidelines for creating responsive, intuitive UIs in Android apps.
Material Design

5. Android Navigation Drawer:


How to implement a Navigation Drawer in your app for better navigation.
Navigation Drawer Documentation

6. RecyclerView for Dynamic Lists:


How to use RecyclerView for displaying lists of expenses and income.
RecyclerView Guide

7. SearchView Implementation:
How to add SearchView to filter expenses and income.
SearchView Guide

8. Expense Tracker Design Inspiration:


UI design inspiration for building a clean, user-friendly expense tracker.
Expense Tracker UI Design

Dept of CSE 28 UCE


Expense Tracker

APPENDIX

SOURCE CODE:
Income Activity:
package [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];
import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

public class IncomeActivity extends AppCompatActivity implements


[Link] {
//Variables
List<TransactionModel> categoryItemList = new ArrayList<>();
Button btnChooseCategory;

Dept of CSE 29 UCE


Expense Tracker

EditText editTxtAmount, editTxtNotes;


GridView gridViewCategory;
TextView txtViewDate;
Calendar calendar;
Toolbar toolBar;
ImageView imgViewCalendar;
CalculatorKeyboard calKeyboard;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_income);

//Add categories to gridView


addData();

//customized toolbar
toolBar = findViewById([Link]);
setSupportActionBar(toolBar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("");

//Select date
txtViewDate = findViewById([Link]);
String currentDate = new SimpleDateFormat("yyyy-MM-dd",
[Link]()).format(new Date());
[Link](currentDate);
[Link]((View view) -> {
showCalendar();
[Link]();
[Link]();
[Link]();
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
[Link]( [Link](), 0);
});
imgViewCalendar = findViewById([Link]);
[Link]((View view) -> {
showCalendar();
[Link]();
[Link]();
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
[Link]( [Link](), 0);
});

Dept of CSE 30 UCE


Expense Tracker

//custom calculator keyboard


editTxtAmount = findViewById([Link]);
calKeyboard = new CalculatorKeyboard(this,
findViewById([Link]), true);
editTxtAmount = findViewById([Link]);
[Link](false);
[Link]((View view, boolean hasFocus) -> {
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
[Link]( [Link](), 0);
if (hasFocus) {
[Link](editTxtAmount);
} else {
[Link]();
}
});

editTxtNotes = findViewById([Link]);
[Link]((View view) -> {
[Link]();
});

//button to choose category


btnChooseCategory = findViewById([Link]);
[Link]((View view) -> {
[Link]();
[Link]();
[Link]();
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
[Link]( [Link](), 0);
//display gridView
gridViewCategory = findViewById([Link]);
GridViewAdapter cAdapter = new GridViewAdapter(this,
[Link].layout_categoryitem, categoryItemList);
[Link](cAdapter);
//when a category is chosen
[Link](new
[Link]() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i,
long l) {
//get database
DatabaseHelper DB = new DatabaseHelper(getApplicationContext());
//create a object

Dept of CSE 31 UCE


Expense Tracker

TransactionModel transactionModel = new TransactionModel();


//try and catch exception for inputs
try{
//store inputs into object

[Link]([Link]([Link]().toString(
)));
[Link]([Link]().toString());
[Link]([Link](i).getCategory());
[Link]("income");
[Link]([Link](currentDate));
if ([Link]() != null){
[Link]([Link]());
}
//catch exception for when amount is empty
} catch (NumberFormatException ex) {
//Display when amount if empty
[Link]([Link], "Amount cannot be empty",
Toast.LENGTH_SHORT).show();
} catch (Exception ex) {
[Link]();
}
//check if inputs are stored successfully
Boolean success = [Link](transactionModel);
if (success == true) {
//display entry stored successfully and move back to home page
[Link]([Link], "Entry Inserted",
Toast.LENGTH_SHORT).show();
Intent intent=new Intent([Link], [Link]);
[Link]("date", [Link]());
startActivity(intent);
} else {
//display entry stored unsuccessfully and stay in expense entry page
[Link]([Link], "Entry Not Inserted",
Toast.LENGTH_SHORT).show();
}
}
});
});
}

//To add category details into a list


private void addData() {
[Link](new TransactionModel("Deposits", [Link].deposit1));
[Link](new TransactionModel("Salary", [Link]));
}

Dept of CSE 32 UCE


Expense Tracker

//get calendar
public void showCalendar() {
DatePickerDialog datePickerDialog = new DatePickerDialog(
this,
this,
[Link]().get([Link]),
[Link]().get([Link]),
[Link]().get(Calendar.DAY_OF_MONTH)
);
[Link]();
}

//display chosen date in textView


@Override
public void onDateSet(DatePicker datePicker, int year, int month, int dayOfMonth)
{
calendar = [Link]();
[Link]([Link], year);
[Link]([Link], month);
[Link](Calendar.DAY_OF_MONTH, dayOfMonth);
String currentDate = [Link]([Link]());
txtViewDate = (TextView) findViewById([Link]);
[Link](currentDate);
}

@Override
public void onBackPressed() {
if ([Link]()) {
[Link]();
} else {
[Link]();
}
}
}

Expense Activity:
package [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

Dept of CSE 33 UCE


Expense Tracker

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];
import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

public class ExpenseActivity extends AppCompatActivity implements


[Link] {
//Variables
List<TransactionModel> categoryItemList = new ArrayList<>();
Button btnChooseCategory;
EditText editTxtAmount, editTxtNotes;
GridView gridViewCategory;
TextView txtViewDate;
Calendar calendar;
Toolbar toolBar;
ImageView imgViewCalendar;
CalculatorKeyboard calKeyboard;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_expense);

//Add categories to gridView


addData();

//customized toolbar
toolBar = findViewById([Link]);
setSupportActionBar(toolBar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("");

Dept of CSE 34 UCE


Expense Tracker

//Select date
txtViewDate = findViewById([Link]);
String currentDate = new SimpleDateFormat("yyyy-MM-dd",
[Link]()).format(new Date());
[Link](currentDate);
[Link]((View view) -> {
showCalendar();
[Link]();
[Link]();
[Link]();
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
[Link]( [Link](), 0);
});
imgViewCalendar = findViewById([Link]);
[Link]((View view) -> {
showCalendar();
[Link]();
[Link]();
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
[Link]( [Link](), 0);
});

//custom calculator keyboard


editTxtAmount = findViewById([Link]);
calKeyboard = new CalculatorKeyboard(this,
findViewById([Link]), true);
editTxtAmount = findViewById([Link]);
[Link](false);
[Link]((View view, boolean hasFocus) -> {
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
[Link]( [Link](), 0);
if (hasFocus) {
[Link](editTxtAmount);
} else {
[Link]();
}
});

editTxtNotes = findViewById([Link]);
[Link]((View view) -> {
[Link]();
});

Dept of CSE 35 UCE


Expense Tracker

//button to choose category


btnChooseCategory = findViewById([Link]);
[Link]((View view) -> {
[Link]();
[Link]();
[Link]();
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
[Link]( [Link](), 0);
//display gridView
gridViewCategory = findViewById([Link]);
GridViewAdapter cAdapter = new GridViewAdapter(this,
[Link].layout_categoryitem, categoryItemList);
[Link](cAdapter);
//when a category is chosen
[Link](new
[Link]() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i,
long l) {
//get database
DatabaseHelper DB = new DatabaseHelper(getApplicationContext());
//create a object
TransactionModel transactionModel = new TransactionModel();
//try and catch exception for inputs
try{
//store inputs into object
[Link](-
([Link]([Link]().toString())));
[Link]([Link]().toString());
[Link]([Link](i).getCategory());
[Link]("expense");
[Link]([Link](currentDate));
if ([Link]() != null){
[Link]([Link]());
}
//catch exception for when amount is empty
} catch (NumberFormatException ex) {
//Display when amount if empty
[Link]([Link], "Amount cannot be empty",
Toast.LENGTH_SHORT).show();
} catch (Exception ex) {
[Link]();
}
//check if inputs are stored successfully
Boolean success = [Link](transactionModel);

Dept of CSE 36 UCE


Expense Tracker

if (success == true) {
//display entry stored successfully and move back to home page
[Link]([Link], "Entry Inserted",
Toast.LENGTH_SHORT).show();
Intent intent=new Intent([Link], [Link]);
[Link]("date", [Link]());
startActivity(intent);
} else {
//display entry stored unsuccessfully and stay in expense entry page
[Link]([Link], "Entry Not Inserted",
Toast.LENGTH_SHORT).show();

}
}
});
});
}

//To add category details into a list


private void addData() {
[Link](new TransactionModel("Car", [Link].car1));
[Link](new TransactionModel("Pet", [Link].pet1));
[Link](new TransactionModel("Grocery", [Link].grocery1));
[Link](new TransactionModel("Entertainment",
[Link]));
[Link](new TransactionModel("Gift", [Link]));
[Link](new TransactionModel("Dine Out", [Link].food1));
[Link](new TransactionModel("Home", [Link]));
[Link](new TransactionModel("Phone",
[Link]));
[Link](new TransactionModel("Sports", [Link]));
[Link](new TransactionModel("Medical", [Link]));
[Link](new TransactionModel("Transportation",
[Link]));
[Link](new TransactionModel("Clothing",
[Link].clothing1));
}

//get calendar
public void showCalendar() {
DatePickerDialog datePickerDialog = new DatePickerDialog(
this,
this,
[Link]().get([Link]),
[Link]().get([Link]),
[Link]().get(Calendar.DAY_OF_MONTH)

Dept of CSE 37 UCE


Expense Tracker

);
[Link]();
}

//display chosen date in textView


@Override
public void onDateSet(DatePicker datePicker, int year, int month, int dayOfMonth)
{
calendar = [Link]();
[Link]([Link], year);
[Link]([Link], month);
[Link](Calendar.DAY_OF_MONTH, dayOfMonth);
String currentDate = [Link]([Link]());
txtViewDate = (TextView) findViewById([Link]);
[Link](currentDate);
}

@Override
public void onBackPressed() {
if ([Link]()) {
[Link]();
} else {
[Link]();
}
}
}

Dept of CSE 38 UCE


Expense Tracker

SCREENSHOTS:

Dept of CSE 39 UCE


Expense Tracker

Dept of CSE 40 UCE


Expense Tracker

Dept of CSE 41 UCE


Expense Tracker

Dept of CSE 42 UCE


Expense Tracker

Dept of CSE 43 UCE


Expense Tracker

Dept of CSE 44 UCE


Expense Tracker

Dept of CSE 45 UCE

You might also like