0% found this document useful (0 votes)
11 views

mad

The document is a report on a Tip Calculator App developed as part of a Micro Project for the Mobile Application Development course at Y. B. Patil Polytechnic, Akurdi Pune. It outlines the app's features, advantages, applications, history, and future developments, emphasizing its practicality and educational value. The report includes source code and a conclusion highlighting the app's usefulness in various real-life scenarios.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

mad

The document is a report on a Tip Calculator App developed as part of a Micro Project for the Mobile Application Development course at Y. B. Patil Polytechnic, Akurdi Pune. It outlines the app's features, advantages, applications, history, and future developments, emphasizing its practicality and educational value. The report includes source code and a conclusion highlighting the app's usefulness in various real-life scenarios.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Y. B.

PATIL POLYTECHNIC, AKURDI PUNE

SUBMITTED TO

MAHARASHTRA BOARD OF TECHNICAL EDUCTAION

Mobile Application Development (MAD)

(22617)

Report On

Tip Calculator App.

Under Guidance Of

Ms.Arya Palve

Diploma in Computer Engineering

2024 – 2025 (Semester – 6)

Y. B. Patil Polytechnic, Akurdi, Pune

Third Year, Department of Computer Engineering

1
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION

CERTIFICATE :

This is to certify that

Roll No. Name

Y-3302 Sanskar Deshmukh

Y-3303 Himanshu Chaudhari

Y-3308 Yuvraj Kengar

Y-3323 Samiksha Chaskar

Y-3342 Siddhi Raskar

of Sixth Semester Diploma in Computer Engineering Section A in Y. B. Patil Polytechnic,

Akurdi has completed the Micro Project satisfactory in Subject MAD for the academic
Year

2024 – 2025 as prescribed in the MSBTE Curriculum.

Subject Teacher HOD Principal

Ms. Arya Palve Mrs. Pooja Ahuja Dr. A. S. Kondekar


2
ACKNOWLEDGEMENT :

We would like to express our special thanks of gratitude to Arya Palve who gave us a
golden opportunity to showcase and let us learn more about our topic i. e. "Tip Calculator
App” and also taught us the way to work in team. We would also like to Underscore
dynamic efforts of the team work, and their experts advice to complete this project in
time.

Date: Place :- Akurdi, Pune

3
INDEX:

Sr. No. Content Page. No.

01 Introduction 01 to 05

02 Key Concepts Of Tip Calculator 06

03 Types of Calculators 06

04 Advantages of Tip Calculator 07

05 Applications of Tip Calculator 08

06 History of Tip Calculator 08

07 Future of Tip Calculator 09

08 Source Code 10 to 15

09 Output 16 to 17

10 Conclusion 18

4
INTRODUCTION :

A Tip Calculator app is a simple yet practical mobile application that helps users quickly
calculate the tip amount based on a given bill and a selected tip percentage. It is
especially useful for situations where a person wants to calculate the tip in restaurants or
cafes without using a calculator or manual math.

In the Tip Calculator App, the user can:

Enter the bill amount (total cost of the meal or service).

Choose a tip percentage (usually ranges from 10% to 30%).

The app will then automatically calculate the tip amount and the total amount (bill
+ tip).

5
Key Features:

Bill Amount Input: Users can input the total bill amount for which they want to
calculate the tip.

Tip Percentage Selection: Users can select the tip percentage (e.g., 10%, 15%,
20%) either via a slider or a manual input field.

Dynamic Calculations: The app calculates both the tip and the total amount (bill +
tip) based on the selected percentage.

Clear and Simple UI: The user interface is simple, displaying only the necessary
fields for entering the bill, selecting the tip percentage, and showing the calculated
results.

Why Build a Tip Calculator?

1. Practical Use: It is a tool that everyone can use, especially when dining out or
sharing a meal with friends and family.

2. Learning Opportunity: It provides a great opportunity for developers to learn the


basics of Android development, such as user input handling, UI design, and
event-driven programming.

3. Customizable: The app can easily be expanded to include features such as


splitting the bill among multiple people, saving tip calculations for later, or
adjusting the tax percentage.

Technology Used:

Java (or Kotlin): As the programming language for Android development.

Android Studio: The integrated development environment (IDE) for building


Android apps.

XML Layout: Used for designing the user interface of the app.

SeekBar and EditText: These Android components are used to get user input (for
bill amount and tip percentage).

Button: Triggers the calculation process.

6
Advantages of a Tip Calculator App:

1. Simplicity and Convenience:

The app provides a quick and easy solution to calculate tips without needing to
perform manual calculations, making it highly convenient for users in situations
where they need to split a bill or determine the appropriate tip.

2. Accurate Calculations:

The app ensures that the correct tip percentage is applied based on the user
input, and the total amount is automatically updated in real-time.

3. Customizable Tip Percentages:

Users can select a specific tip percentage based on personal preference or


local customs (e.g., 10%, 15%, 20%).

4. User-Friendly Interface:

The design of the app can be simple and intuitive, making it easy for anyone to
use, regardless of their technical knowledge or familiarity with smartphones.

5. Educational Tool:

It helps users learn basic math operations (addition, multiplication, and


percentages) in a real-world context.

Applications of a Tip Calculator App:

1. Restaurants and Cafes

Dining Out: The primary and most common use of a Tip Calculator app is in
restaurants, cafes, or any dining establishments where users need to calculate
the appropriate tip based on their bill.

2. Taxis and Ride-Sharing Services (e.g., Uber, Lyft)

Taxi Drivers: For people taking taxis or ride-sharing services, a Tip Calculator
helps users calculate tips for drivers based on the fare amount.

7
3. Hotel Services

Hotel Staff: Guests at hotels may need to tip bellhops, housekeepers, or


concierge services. A Tip Calculator can help users determine an appropriate
amount to tip based on service quality or hotel guidelines.

4. Hair Salons, Spas, and Personal Services

Salon & Spa Services: Customers receiving services like haircuts, massages, or
facials can use a Tip Calculator to determine the right amount to tip their stylist,
therapist, or beautician.

5. Delivery Services

Food Delivery: With food delivery services like DoorDash, GrubHub, or Postmates,
customers can use the Tip Calculator to calculate a tip for their delivery driver,
ensuring that the tip is adequate based on the distance and the quality of service.

History of Tip Calculator Apps:

Early Days: Tipping was calculated manually, using paper, pen, or basic calculators.

Smartphones and Apps (2007-2010): With the launch of the iPhone and Android,
dedicated Tip Calculator apps were introduced, offering custom percentages and
bill-splitting features.

Mobile Payment Integration (2010s): Tip Calculator apps began integrating with
mobile payment systems like Apple Pay and Google Pay, allowing seamless tip
calculations during transactions.

Advanced Features: Apps added features like tax calculation, voice control, and
smart suggestions based on location and service quality.

AI and Personalization (2020s): AI-driven apps will offer personalized tipping


suggestions based on past behavior and real-time service quality.

Cryptocurrency Integration: Future Tip Calculators may support tipping with digital
currencies like Bitcoin and Ethereum.

8
The Future of Tip Calculator Apps:

Integration with Digital Payments: Seamless calculation and payment of tips


within apps like Apple Pay or Google Pay.

AI Personalization: AI-driven recommendations based on user preferences and


past behavior.

Voice Assistants: Hands-free tipping through voice commands via Siri, Google
Assistant, or Alexa.

Cross-Platform Integration: Tip calculators embedded in restaurant, ride-sharing,


or hotel apps for an all-in-one experience.

Cryptocurrency Support: Ability to tip using digital currencies like Bitcoin or


Ethereum.

Advanced Bill Splitting: More sophisticated ways to split both bill and tip among
groups.

Real-Time Feedback: Integration with review systems to adjust tips based on live
service ratings.

9
Source Code:

(activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>


<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:id="@+id/billLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/enter_bill_amount"
android:textSize="18sp"
android:layout_marginTop="40dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<EditText
android:id="@+id/billAmount"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/bill_amount"
android:inputType="numberDecimal"
android:textSize="18sp"
android:layout_marginTop="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

10
app:layout_constraintTop_toBottomOf="@id/billLabel" />

<TextView
android:id="@+id/tipLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/select_tip_percentage"
android:textSize="18sp"
android:layout_marginTop="30dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/billAmount" />

<SeekBar
android:id="@+id/tipSeekBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:max="30"
android:progress="15"
android:layout_marginTop="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tipLabel" />

<TextView
android:id="@+id/tipPercentage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15%"
android:textSize="18sp"
android:layout_marginTop="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tipSeekBar" />

11
<TextView
android:id="@+id/tipAmountLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tip_amount"
android:textSize="18sp"
android:layout_marginTop="30dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tipPercentage" />

<TextView
android:id="@+id/tipAmount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/_0_00"
android:textSize="22sp"
android:layout_marginTop="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tipAmountLabel" />

<TextView
android:id="@+id/totalAmountLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/total_amount"
android:textSize="18sp"
android:layout_marginTop="30dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tipAmount" />

12
<TextView
android:id="@+id/totalAmount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/_0_0"
android:textSize="22sp"
android:layout_marginTop="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/totalAmountLabel" />

<Button
android:id="@+id/calculateButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/calculate"
android:textSize="18sp"
android:layout_marginTop="40dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/totalAmount" />

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

package com.example.tipcalculator;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

13
import android.widget.EditText;

import android.widget.SeekBar;

import android.widget.TextView;

import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final EditText billAmountEditText = findViewById(R.id.billAmount);

final SeekBar tipSeekBar = findViewById(R.id.tipSeekBar);

final TextView tipPercentageTextView = findViewById(R.id.tipPercentage);

final TextView tipAmountTextView = findViewById(R.id.tipAmount);

final TextView totalAmountTextView = findViewById(R.id.totalAmount);

Button calculateButton = findViewById(R.id.calculateButton);

// Update the tip percentage label when the SeekBar is adjusted

tipSeekBar.setOnSeekBarChangeListener(new
SeekBar.OnSeekBarChangeListener() {

14
@Override

public void onProgressChanged(SeekBar seekBar, int progress, boolean


fromUser) {

tipPercentageTextView.setText(progress + "%");

@Override

public void onStartTrackingTouch(SeekBar seekBar) {}

@Override

public void onStopTrackingTouch(SeekBar seekBar) {}

});

// Calculate the tip and total when the button is clicked

calculateButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String billAmountText = billAmountEditText.getText().toString();

if (billAmountText.isEmpty()) {

Toast.makeText(MainActivity.this, "Please enter a bill amount",


Toast.LENGTH_SHORT).show();

return;

double billAmount = Double.parseDouble(billAmountText);

15
int tipPercentage = tipSeekBar.getProgress();

double tipAmount = (billAmount * tipPercentage) / 100;

double totalAmount = billAmount + tipAmount;

// Display the results

tipAmountTextView.setText("$" + String.format("%.2f", tipAmount));

totalAmountTextView.setText("$" + String.format("%.2f", totalAmount));

});

16
Output:

17
18
Conclusion:

The Tip Calculator app is a simple yet incredibly useful tool that simplifies the process of
calculating tips, making it more efficient and accurate. It caters to a wide range of real-life
scenarios, from dining out at restaurants to using ride-sharing services or staying in
hotels. The app's ability to split bills, suggest appropriate tip percentages, and integrate
with mobile payment systems makes it a valuable tool for users seeking convenience and
ease.

19

You might also like