`
A Project Report on
Weather App
In the partial fulfillment of the Diploma in Computer Engineering for the academic Year
2024-25
Submitted to
GOVERNMENT POLYTECHNIC, JALGAON
Submitted by
Roll No. Name of the Student Class
37 Darshan Gajanan Lahase CO6I
38 Krushna Shivshankar Lohar CO6I
52 Om Hemant Patil CO6I
66 Rahul Ganesh Ranit CO6I
75 Shubham Girish Kulkarni CO6I
Under the Guidance of
Prof.
Lecturer in Mobile Application Development
Department of Computer Engineering
Government Polytechnic, Jalgaon
`
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
CERTIFICATE
This is to certify that Group Copy Roll No.37,38,52,66,75 of Sixth Semester of Diploma in
Computer Engineering of Institute Government Polytechnic, Jalgaon (0018) has
completed the Micro Project satisfactorily in the Subject MAD ( 22617) for the Academic
Year 2024-25 as prescribed in the curriculum.
Place: Jalgaon EnrollmentNo.2200180507,508,529,547,556.
Date: Exam Seat No:
Subject Teacher Head of the Department Principal
Seal of
Institut
ion
`
WEEKLY WORK REPORT
SR. DATE SIGN OF
WEEK ACTIVITY PERFORMED
NO. GUIDE
1 1st Discussion and finalization of Topic
2 2nd Preparation and Submission of Abstract
3 3rd Literature Review
4 4th Collection of Data
5 5th Collection of Data
6 6th Discussion and Outline of Content
7 7th Formulation of Content
8 8th Editing and Proof Reading of Content
9 9th Compilation of Report and Presentation
10 10th Seminar
11 11th Viva Voce
12 12th Final Submission of Micro Project
`
EVALUATION SHEET FOR MICRO PROJECT
(Academic Year: 2024-25)
Name of the Student: . (Group copy) Roll No: 37,38,52,66,75
Course: Mobile Application Development Course Code:(22617)
Title of the Project: Weather App
Agency Cos addressed by Micro Project:
a) To provide knowledge of the basics of Mobile Application Development and their implementations.
b) To understand the importance of Graphical User Interfaces (GUI) in the context of mobile applications.
c) To explore different optimization techniques and algorithms applicable to mobile app development.
Major learning outcomes achieved by students by doing the project:
a) Practical outcome:
1) To develop a system that automates the processes and activities of a weather app.
b) Unit outcomes in Cognitive Domain:
1)Understand the architecture and key features of mobile application development using Android Studio.
c) Out comes in affective domain:
1) Function as a team member
2) Follow ethics
Comments/suggestions about teamwork/leadership/interpersonal communications (if any):
Marks out of
Marks out of
04 for
06 for
performance
performance Total out
Roll No Student Name in oral or
in group of 10
presentation
activity (D5
(D5 Column
Column 08) 09)
37 Darshan Gajanan Lahase
38 Krushna Shivshankar Lohar
52 Om Hemant Patil
66 Rahul Ganesh Ranit
75 Shubham Girish Kulkarni
Name & Signature of Faculty:
Prof.
`
INDEX
Sr. No. Content Page No.
1 Introduction
2 Scope Of Project
3 Advantages
4 Disadvantages
6 Future Scope
7 Code
8 Output
9 Conclusion
5
`
Introduction:
A weather app is a mobile application designed to provide users with accurate and
real-time weather updates, including temperature, humidity, wind speed,
atmospheric pressure, and forecasts. It enables users to check weather conditions for
their current location or any other city worldwide. The app retrieves data from
reliable weather APIs such as OpenWeatherMap, WeatherAPI, or AccuWeather and
presents it in an easy-to-read format with graphs, maps, and alerts.
Weather apps serve multiple purposes, from helping individuals plan daily
activities to assisting professionals like farmers, pilots, sailors, and travelers in
making informed decisions. Modern weather applications offer features such as
hourly, daily, and weekly forecasts, severe weather alerts, radar maps, and smart
notifications. Advanced AI-powered predictions and big data analytics are
improving the accuracy of forecasts, while integration with IoT devices and smart
homes enhances automation.
With increasing climate uncertainties, weather apps have become essential tools
for safety and preparedness. As technology evolves, future weather applications will
incorporate more precise hyper-local forecasting, AI-driven insights, and even
augmented reality for an interactive experience. These advancements will ensure
that users receive more reliable and real-time weather information, making weather
apps an indispensable part of daily life.
6
`
Scope of project
The scope of the project is the system on which the software is installed, i.e. the
project is developed as a desktop application, and it will work for a particular
institute or organization. But later on the project can be modified to operate it online.
The intention of developing weather app is to fetch the data in the need of taking
information about weather worldwide. Another purpose for developing this software
is to generate the report automatically at the end of the session or in the between of
the session or in the between of the session as they require. This project is basically
a desktop application which means 3 selfcontained software runs on which it has
been installed under the user control.
The scope of this project is to develop a mobile application that provides real-time
weather updates, forecasts, and alerts to users. The Weather App will be designed
for both Android and iOS platforms using modern mobile application development
frameworks such as Flutter, React Native, or native Android (Java/Kotlin) and iOS
(Swift). The application will fetch weather data from reliable APIs like
OpenWeatherMap or WeatherAPI to display essential parameters such as
temperature, humidity, wind speed, and precipitation. It will support location-based
searches, GPS-based weather updates, and a 7-day forecast feature. Additionally, the
app will include weather alerts and notifications for extreme conditions such as
storms and heavy rainfall, ensuring users stay informed.
The interface will be user-friendly, featuring a visually appealing UI with options
like dark mode and offline data storage for enhanced usability. The primary target
users include the general public, travelers, outdoor event organizers, and farmers
who need accurate weather data for planning purposes. While the app relies on an
internet connection and third-party APIs for real-time updates, future enhancements
could include AI-based weather predictions, voice assistant integration, and
compatibility with smart devices. This project aims to provide an intuitive, efficient,
and reliable weather forecasting solution to improve daily decision-making.
7
`
Advantages
a) Real-Time Updates – Instant weather details like temperature, humidity, and
forecasts.
b) User-Friendly Interface – Easy navigation for quick access.
c) Location-Based Forecasts – Provides weather updates based on GPS.
d) Severe Weather Alerts – Warns users about extreme conditions.
e) Multiple City Tracking – Check weather in different locations.
f) Custom Notifications – Alerts for specific weather conditions.
g) Offline Access – View previously fetched data without the internet.
h) Smart Device Integration – Connects with smart home systems.
i) Home Screen Widgets – Quick access without opening the app.
j) AI Predictions – More accurate weather forecasting.
Disadvantages
a) Requires Internet Connection – Real-time updates depend on network
availability.
b) Accuracy Issues – Forecasts may not always be precise due to API
limitations.
c) High Battery Usage – Frequent location tracking and updates drain battery
life.
d) Data Privacy Concerns – GPS-based tracking may raise security issues.
e) Ad-Based Revenue Model – Free apps may show intrusive advertisements.
f) Limited Offline Functionality – Most features need an internet connection.
g) Heavy API Costs – Using premium weather APIs can be expensive.
8
`
Future Scope of Weather App
The future of weather apps looks promising with advancements in technology.
Integrating voice command support will allow users to get weather updates hands-
free using AI assistants. Smart home integration can automate actions like
adjusting thermostats or closing windows based on weather conditions.
AI-based predictions will improve forecast accuracy using machine learning
algorithms. Offline data caching will enable users to access previously fetched
weather reports without an internet connection. Multi-language support will make
the app more accessible worldwide. Additionally, features like augmented reality
(AR) visualization, wearable device compatibility, and satellite & radar maps
will enhance user experience and accuracy.
Furthermore, multi-language support will make the app more accessible to users
worldwide. Augmented reality (AR) weather visualization could provide immersive,
real-time weather overlays on the camera view, improving user engagement.
Wearable device integration will ensure instant weather updates on smartwatches
and fitness bands.
Future versions may also incorporate climate change tracking, enabling users to
understand long-term weather trends and environmental impacts. With 5G
connectivity and IoT expansion, hyper-local weather forecasting will provide more
precise, street-level predictions. By combining AI, big data analytics, and IoT, future
weather apps will become smarter, more interactive, and highly reliable.
9
`
CODE
Main [Link]
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];
Public class MainActivity extends AppCompatActivity {
TextView cityName;
Button search;
TextView show;
String url;
Class getWeather extends AsyncTask<String, Void, String>{
@Override
Protected String doInBackground(String… urls){
StringBuilder result = new StringBuilder();
Try{
URL url = new URL(urls[0]);
10
`
HttpURLConnection urlConnection = (HttpURLConnection)
[Link]();
[Link]();
InputStream inputStream = [Link]();
BufferedReader reader = new BufferedReader(new
InputStreamReader(inputStream));
String line=””;
While((line = [Link]()) != null){
[Link](line).append(“\n”);
}
Return [Link]();
}catch(Exception e){
[Link]();
return null;
}
}
@Override
Protected void onPostExecute(String result) {
[Link](result);
Try {
JSONObject jsonObject = new JSONObject(result);
JSONObject mainObject = [Link](“main”);
// Extract values from JSON
Double tempKelvin = [Link](“temp”);
Double feelsLikeKelvin = [Link](“feels_like”);
Double tempMaxKelvin = [Link](“temp_max”);
Double tempMinKelvin = [Link](“temp_min”);
Int pressure = [Link](“pressure”);
Int humidity = [Link](“humidity”);
// Convert Kelvin to Celsius
Double tempCelsius = tempKelvin – 273.15;
Double feelsLikeCelsius = feelsLikeKelvin – 273.15;
Double tempMaxCelsius = tempMaxKelvin – 273.15;
Double tempMinCelsius = tempMinKelvin – 273.15;
11
`
Int humidityl = humidity + 20;
// Format the output
String weatherInfo =
“Temperature: “ + [Link](“%.2f”, tempCelsius) + “°C\n”
+
“Feels Like: “ + [Link](“%.2f”, feelsLikeCelsius) +
“°C\n” +
“Temp Max: “ + [Link](“%.2f”, tempMaxCelsius)
+ “°C\n” +
“Temp Min: “ + [Link](“%.2f”, tempMinCelsius) +
“°C\n” +
“Pressure: “ + pressure + “ mb\n” +
“Humidity: “ + humidityl + “%”;
[Link](weatherInfo);
} catch (Exception e) {
[Link]();
[Link](“Error parsing weather data.”);
}
}
}
@Override
Protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
cityName = findViewById([Link]);
search = findViewById([Link]);
show = findViewById([Link]);
final String[] temp = {“”};
[Link](new [Link]() {
@Override
Public void onClick(View v) {
12
`
[Link]([Link], “Button Clicked! “,
Toast.LENGTH_SHORT).show();
String city = [Link]().toString();
Try {
If (city!=null) {
url = [Link] +
city + “&appid=67988e6c352d2286da3b4e2183ab1f4d”;
} else {
[Link]([Link], “Enter City”,
Toast.LENGTH_SHORT).show();
}
getWeather task= new getWeather();
temp[0] = [Link](url).get();
}catch (ExecutionException e){
[Link]();
}catch (InterruptedException e){
[Link]();
}
If(temp[0] == null){
[Link](“Cannot able to find Weather”);
}
}
});
}
}
13
`
[Link]
<?xml version=”1.0” encoding=”utf-8”?>
<manifest xmlns:android=[Link]
Xmlns:tools=[Link]
<uses-permission android:name=”[Link]”/>
<application
Android:allowBackup=”true”
Android:dataExtractionRules=”@xml/data_extraction_rules”
Android:fullBackupContent=”@xml/backup_rules”
Android:icon=”@mipmap/ic_launcher”
Android:label=”@string/app_name”
Android:roundIcon=”@mipmap/ic_launcher_round”
Android:supportsRtl=”true”
Android:theme=”@style/[Link]”
Tools:targetApi=”31”>
<activity
Android:name=”.MainActivity”
Android:exported=”true”>
<intent-filter>
<action android:name=”[Link]” />
<category android:name=”[Link]” />
</intent-filter>
</activity>
</application>
</manifest>
14
`
Activity_main.xml
<?xml version=”1.0” encoding=”utf-8”?>
<RelativeLayout
xmlns:android=[Link]
Xmlns:app=[Link]
Xmlns:tools=[Link]
Android:id=”@+id/main”
Android:layout_width=”match_parent”
Android:layout_height=”match_parent”
Android:background=”#71C5EC”
Tools:context=”.MainActivity”>
<ImageView
Android:id=”@+id/imageView2”
Android:layout_width=”match_parent”
Android:layout_height=”match_parent”
Android:src=”@drawable/background1” />
<TextView
Android:id=”@+id/textview”
Android:layout_width=”wrap_content”
Android:layout_height=”wrap_content”
Android:text=”WEATHER APP”
Android:layout_centerHorizontal=”true”
Android:layout_marginTop=”20dp”
Android:textColor=”@color/white”
Android:textSize=”52dp”
Android:textFontWeight=”500”
Android:textStyle=”bold”
/>
<EditText
Android:id=”@+id/cityName”
Android:layout_width=”270dp”
Android:layout_height=”72dp”
Android:layout_centerHorizontal=”true”
Android:layout_marginTop=”120dp”
15
`
Android:background=”#FF00DBFD”
Android:hint=”Enter Your City”
Android:textColorHighlight=”@color/black”
Android:textColorHint=”@color/white”
Android:textColor=”@color/white”
Android:textSize=”36dp”
Android:textAlignment=”center”/>
<Button
Android:id=”@+id/search”
Android:layout_width=”wrap_content”
Android:layout_height=”wrap_content”
Android:layout_alignParentRight=”true”
Android:layout_marginTop=”200dp”
Android:layout_marginRight=”143dp”
Android:background=”#7A57BA”
Android:text=”SEARCH”
Android:textStyle=”bold”
Android:textSize=”20dp” />
<TextView
Android:id=”@+id/weather”
Android:layout_width=”wrap_content”
Android:layout_height=”wrap_content”
Android:layout_centerHorizontal=”true”
Android:layout_centerVertical=”true”
Android:textSize=”30dp”
Android:textFontWeight=”500”
Android:textStyle=”bold”
Android:background=”#D870EA”
Android:textColor=”@color/white”
/>
</RelativeLayout>
16
`
OUTPUT
1. Starting Interface
2. Entering City
17
`
3. After Entering Another City
18
`
CONCLUSION
The Weather App is an essential tool for providing real-time weather updates,
forecasts, and alerts, helping users plan their daily activities efficiently. By
integrating APIs, AI-driven predictions, and user-friendly interfaces, the app
enhances accessibility and accuracy. Future advancements like smart home
automation, voice command support, and augmented reality will further improve its
functionality. Despite challenges like accuracy limitations and internet dependency,
continuous improvements in AI, IoT, and data analytics will make weather apps
more reliable and precise. As technology advances, weather applications will
become indispensable for individuals, businesses, and disaster management,
ensuring better preparedness for changing weather conditions.
19