mad
mad
SUBMITTED TO
(22617)
Report On
Under Guidance Of
Ms.Arya Palve
1
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
CERTIFICATE :
Akurdi has completed the Micro Project satisfactory in Subject MAD for the academic
Year
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.
3
INDEX:
01 Introduction 01 to 05
03 Types of Calculators 06
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.
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.
1. Practical Use: It is a tool that everyone can use, especially when dining out or
sharing a meal with friends and family.
Technology Used:
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).
6
Advantages of a Tip Calculator App:
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.
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:
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.
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
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.
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.
Cryptocurrency Integration: Future Tip Calculators may support tipping with digital
currencies like Bitcoin and Ethereum.
8
The Future of Tip Calculator Apps:
Voice Assistants: Hands-free tipping through voice commands via Siri, Google
Assistant, or Alexa.
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)
<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;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tipSeekBar.setOnSeekBarChangeListener(new
SeekBar.OnSeekBarChangeListener() {
14
@Override
tipPercentageTextView.setText(progress + "%");
@Override
@Override
});
calculateButton.setOnClickListener(new View.OnClickListener() {
@Override
if (billAmountText.isEmpty()) {
return;
15
int tipPercentage = tipSeekBar.getProgress();
});
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