
Shun Sun
ssun5@lakehaedu.ca
Android Application
Money-management application
README
COMP2430

Table of Content
1. Overview
2. Project description
3. Configuration instructions
4. Installation instructions
5. Operating instructions
6. Manifest
7. Copyright information
8. Contact information
9. Bug list
10. Troubleshooting tips

**1. Overview**
It is an android application, which can help you to arrange your money, basically by
analyzing your body data. It will calculate BMI and BMR to generate an appropriate
plan to make your life easier. The application provides three life cycles: weekly use,
monthly use, and yearly use. Each of them will separately speculate and suggest you a
different plan.
**2. Project Description**
First Activity(input)
Include:Money counter(dollors)height (cm), weight(kg) , age,
gender(male/female).
load the information from the input and send to the second activities
(PutExtra).
Money Counter (include: Planning Money, Goal Money(save))
Intent function
Three buttons
1weekly arrangement
(three activities) 2monthly arrangement (at least >1200)
(three on clicklistener)yearly arrangement (at least>14400)
1. intent function
1 weekly arrangement: calculate the calories the user needs for one day and set the TextView to show the food suggestion menu and the money should be spent(estimation). In the second TextView, it supposes to show the rest of the money (include the available money for pocket money)
2\. monthly arrangement: (At least> 1200 to be launched)
calculate the calories the user needs for one week from one day and
the money which can be spent on food. It should also have a bonus
day on the weekend which means the user is able to spend more
money at having a good meal during the weekend (at least one). The
function should be able to show the money which is sufficient to cover
notebook, utilize(net, gas, hydro, water), etc. and also, the function
will show the rest of the money(goal money, and the rest of it)in the
one of the TextView.
**3. **yearly arrangement: (>14400 dollars to be launched)
calculate the calories user need for one month and the money can be
spent for each month, It supposes to have bonus day in the weekend
which means the user is able to spend money on having a good meal
during the weekend(at least one day a week)(show the money can be used
for that in one of the TextView). The function should be able to show the
money spent include(clothes, rent fee, holiday plan, transportation fee if
possible extra.)
The intent should be able to show the rest of the
money(goal money, and outside the goal money )

**3. Configuration instructions**
You may need virtual devices such as Pixel 2 API 29. Or you can run it on your
android phone. Also, you need an android studio to run your code.
Also, you need android Gradle plugin version 4.1.2 and Gradle version 6.5.
**4. Installation instructions**
First, open the link:
[https://github.com/NIKOBLZ/Project.git](https://github.com/NIKOBLZ/Project.git)
You can see the NIKOBLZ GitHub named project.
Then click on download.
Then you will have a zip file.
Unzip the patch package.

Using android studio open it.
Then run the code.
Finish!

**5. Operating instructions**
1. Run the code.
2. Click your mouse.

3. Input your information.

4. Then select weekly, monthly, or yearly.
Weekly:
The system will calculate calories you will consume in one week; then recommend
the food for you. If you are following this meal plan, you will only spend about 133
dollars. It is a good way to save money.

Monthly:
If you do not input enough money for a month, the system will remind you.
Yearly:
You need to enter your rent fee first; then, the system will calculate the money you
will rest.


**6.Manifest**
infoActivity
MainActivity
monthlyActivity
weeklyActivity
yearActivity
ExampleInstrumentedTest
ExampleUnitTest
ic\_launcher\_background.xml
ic\_launcher\_background.xml
activity_info.xml
activity_main.xml
activity_weekly.xml
activity_monthly.xml
activity_yearly.xml
ic_lancher
ic\_lancher\_round
colors,xml
strings.xml
styles.xml
BuildConfig
7. **Copyright information**
All pictures from google.
Logo and badges are made by myself, sources from google.
Part of the code is from Google, such as BMI and BMR.
Project made by Shun Sun.
8. **Contact information**
If you have any questions, feel free to send me an email:
[ssun5@lakeheadu.ca](mailto:ssun5@lakeheadu.ca)
9. **Bug list**
**Bugs during designing:**
**Layout:
1. When setting Textview, the blank couldn’t be set constraints to**

**match_parent**
**2. After setting TextView’s constraints to match_parent, they**
**couldn’t be ordered vertically**
**3. When horizontally setting was done, it couldn’t show full contents**
**during running **
**4. Buttons’ id couldn’t be called in the coding activities
5. Hardcoded text problem
6. Id repetition
7. Buttons always overlap with Textview during fixing constrains**
**Coding Part:
1. Using val value, which caused some value can’t be changed it the**
**user interaction**
**2. When reading values, it can only read strings instead of integers**
**or other types of data**
**3. When set buttonClickListener, it shows that can’t take the**
**parameter from toString() function**
**4. When using intent to read and pass values, getIntExtra can not**
**read values from the user**
**5. When using getStringExtra, data can’t be used for calculation**
**even they are numbers**
**6. When setting number ranges, can’t write a complete such as**
**1200<a<14400**
**7. Input is valid, but still shows Toast message which is in invalid**
**range**
**8. When using putExtra, the name can’t be read by the system
9. When converting data type from String to double, there was some**
**error related to calculations**
**10. When there was a default value set for parameters, it always**
**shows default when the user tries to have operations**
**11. Some Mathematical formula can’t be finished in one line
12. If statement can’t be overridden
13. When setContentView, it shows that there is no statement match**
**the system**
**Other:
1. Do not know how to upload to GitHub.**
**10.Troubleshooting tips**
1. Please input lower letter when you enter the information of gender.
2. If you cannot run the code, please change your Gradle plugin version to 4.1.2 and
Gradle version to 6.5