You are on page 1of 61

CHAPTER 1: INTRODUCTION

1.1 Basic Introduction

Information technologies played importance role in the worldwide organizations due to their
efficiency with low costs, especially for developments in computer system, information
systems and data management systems. The World Wide Web is not only used to networking,
sharing information, sell products and conduct business etc. but it can also be used to
improve design engineering systems and manufacture them as well as testing them for final
products. As weather is the statement of the physical conditions at an instant, forecasting is of
concern to all living creatures all over the globe.

In this 21st century, weather monitoring and forecasting holds great importance and is used in
several areas ranging from keeping track of agricultural field weather conditions to that of
industrial conditions monitoring. Weather monitoring would help in keeping record of
different climatic behaviors which includes light intensity, temperature and temperature.
Weather Forecasting System can either be wired or wireless one.

Weather forecasting is the use of science and technology to forecast atmospheric conditions
for a certain place and period. For centuries, people have tried to forecast the weather
informally, and officially since the nineteenth century. Weather forecasting, which used to be
done by hand and was focused mostly on variations in barometric pressure, existing weather
patterns, and sky state or cloud cover, is now done using computer-based models that account
for a variety of atmospheric variables.

Weather forecasting remains a complex business, due to its chaotic and unpredictable nature
[KB98, MA94]. It remains a process that is neither wholly science nor wholly art. It is known
that persons withlittle or no formal training can develop considerable forecasting skill [Ge78,
KO02]. For example, farmers often are quite capable of making their own short term
forecasts of those meteorological factors that directly influence their livelihood, and a similar
statement can be made about pilots, fishermen, mountain climbers, etc.

1|P age
Weather phenomena, usually of a complex nature, have a direct impact on the safety and/or
economic stability of such persons Accurate weather forecast models are important to third
world countries, where the entire agriculture depends upon weather . It is thus a major
concern to identify any trends for weather parameters to deviate from its periodicity, which
would disrupt the economy of the country. This fear has been aggravated due to threat by the
global warming and green house effect. The impact of extreme weather phenomena on
society is growing more and more costly, causing infrastructure damage, injury and the loss
of life.

As practiced by the professionally trained meteorologist, weather forecasting today is a


highly developed skill that is grounded in scientific principle and method and that makes use
of advanced technological tools. The notable improvement in forecast accuracy that has been
achieved since 1950 is a direct outgrowth of technological developments, basic and applied
research, and the application of new knowledge and methods by weather forecasters.

Several other factors have contributed significantly to this increase in forecasting accuracy.
One is the development of statistical methods for enhancing the scope and accuracy of model
predictions. Another is the improved observational capability afforded by meteorological
satellites. A third primary reason for the increase in accuracy is the continued improvement
of the initial conditions prepared for the forecast models.

1.2 History.

People have attempted to predict the weather for centuries. The Babylonians used cloud
formations and astrology to forecast conditions in 650 BCE. Aristotle's Meteorologica, written
about 350 BCE, identified weather patterns. Theophrastus also compiled the Book of Signs, a
book on weather forecasts. Weather prediction lore in China dates back to at least 300 BCE,
around the same period as ancient Indian astronomy developed weather-prediction methods.
Observed cycles of events, also known as pattern recognition, is used in ancient weather
forecasting methods. It has been noted, for example, that if the sunset was especially red, the
next day was usually sunny. This knowledge was passed down over the years, resulting in
weather lore. However, not all of these forecasts are accurate, and many of them have been
proved to be unreliable after being subjected to stringent statistical research. 2|P age
Analysis of synoptic weather reports

An observant person who has learned nature’s signs can interpret the appearance of the sky,
the wind, and other local effects and “foretell the weather.” A scientist can use instruments at
one location to do so even more effectively. The modern approach to weather forecasting,
however, can only be realized when many such observations are exchanged quickly by
experts at various weather stations and entered on a synoptic weather map to depict the
patterns of pressure, wind, temperature, clouds, and precipitation at a specific time. Such a
rapid exchange of weather data became feasible with the development of the electric
telegraph in 1837 by Samuel F.B. Morse of the United States. By 1849 Joseph Henry of the
Smithsonian Institution in Washington, D.C., was plotting daily weather maps based on
telegraphic reports, and in 1869 Cleveland Abbe at the Cincinnati Observatory began to
provide regular weather forecasts using data received telegraphically.

Synoptic weather maps resolved one of the great controversies of meteorology—namely, the
rotary storm dispute. By the early decades of the 19th century, it was known that storms were
associated with low barometric readings, but the relation of the winds to low-pressure
systems, called cyclones, remained unrecognized. William Redfield, a self-taught
meteorologist from Middletown, Conn., noticed the pattern of fallen trees after a New
England hurricane and suggested in 1831 that the wind flow was a rotary counterclockwise
circulation around the centre of lowest pressure.

The American meteorologist James P. Espy subsequently proposed in his Philosophy of


Storms (1841) that air would flow toward the regions of lowest pressure and then would be
forced upward, causing clouds and precipitation. Both Redfield and Espy proved to be right.
The air does spin around the cyclone, as Redfield believed, while the layersclose to the
ground flow inward and upward as well.

The net result is a rotational wind circulation that is slightly modified at Earth’s surface to
produce inflow toward the storm centre, just as Espy had proposed. Further, the inflow is
associated with clouds and precipitation in regions of low pressure, though that is not the only
cause of clouds there. 3|P age
In Europe the writings of Heinrich Dove, a Polish scientist who directed the Prussian
Meteorological Institute, greatly influenced views concerning wind behaviour in storms.
Unlike the Americans, Dove did not focus on the pattern of the winds around the storm but
rather on how the wind should change at one place as a storm passed. It was many years
before his followers understood the complexity of the possible changes.

Establishment of weather-station networks and services

Routine production of synoptic weather maps became possible after networks of stations
were organized to take measurements and report them to some type of central observatory.
As early as 1814, U.S. Army Medical Corps personnel were ordered to record weather data at
their posts; this activity was subsequently expanded and made more systematic. Actual
weather- station networks were established in the United States by New York University, the
Franklin Institute, and the Smithsonian Institution during the early decades of the 19th
century.

In Britain, James Glaisher organized a similar network, as did Christophorus H.D. Buys
Ballot in the Netherlands. Other such networks of weather stations were developed near
Vienna, Paris, and St. Petersburg.

It was not long before national meteorological services were established on the Continent and
in the United Kingdom. The first national weather service in the United
States commenced operations in 1871, with responsibility assigned to the U.S. Army Signal
Corps The original purpose of the service was to provide storm warnings for the Atlantic and
Gulf coasts and for the Great Lakes. Within the next few decades, national meteorological
services were established in such countries as Japan, India, and Brazil. The importance of
international cooperation in weather prognostication was recognized by the directors of such
national services. By 1880 they had formed the International Meteorological
Organization (IMO).
The proliferation of weather-station networks linked by telegraphy made synoptic forecasting
a reality by the close of the 19th century. Yet, the daily weather forecasts generated left much
to be desired. Many errors occurred as predictions were largely based on the experience that
each individual forecaster had accumulated over several years of practice, vaguely formulated
4|P age
rules of thumb (e.g., of how pressure systems move from one region to another), and
associations that were poorly understood, if at all.

An important aspect of weather prediction is to calculate the atmospheric pressure pattern—


the positions of the highs and lows and their changes. Modern research has shown that sea-
level pressure patterns respond to the motions of the upper-atmospheric winds, with their
narrow, fast-moving jet streams and waves that propagate through the air and pass air through
themselves.

Frequent surprises and errors in estimating surface atmospheric pressure patterns undoubtedly
caused 19th-century forecasters to seek information about the upper atmosphere for possible
explanations. The British meteorologist Glaishermade a series of ascents by balloon during
the 1860s, reaching an unprecedented height of nine kilometres.

At about this time investigators on the Continent began using unmanned balloons to carry
recording barographs, thermographs, and hygrographs to high altitudes. During the late 1890s
meteorologists in both the United States and Europe used kites equipped with instruments
to probe the atmosphere up to altitudes of about three kilometres.

Notwithstanding these efforts, knowledge about the upper atmosphere remained very limited
at the turn of the century. The situation was aggravated by the confusion created by
observations from weather stations located on mountains or hilltops. Such observations often
did not show what was expected, partly because so little was known about the upper
atmosphere and partly because the mountains themselves affect measurements, producing
results that are not representative of what would be found in the free atmosphere at the same
altitude.

Fortunately, a large enough number of scientists had already put forth ideas that would
make it possible for weather forecasters to think three-dimensionally,
even if sufficient meteorological measurements were lacking. Henrik Mohn, the first of a
long line of highly creative Norwegian meteorologists, Wladimir Köppen the noted German
climatologist, and Max Margules, an influential Russian-born meteorologist, all contributed
to the view that mechanisms of the upper air generate the energy of storms.

5|P age
In 1911 William H. Dines, a British meteorologist, published data that showed how the upper
atmosphere compensates for the fact that the low-level winds carry air toward low-pressure
centres. Dines recognized that the inflow near the ground is more or less balanced by a
circulation upward and outward aloft. Indeed, for a cyclone to intensify, which would require
a lowering of central pressure, the outflow must exceed the inflow; the surface winds can
converge quite strongly toward the cyclone, but sufficient outflow aloft can produce falling
pressure at the centre.

Meteorologists of the time were now aware that vertical circulations and upper-air phenomena
were important, but they still had not determined how such knowledge could improve weather
forecasting. Then, in 1919, the Norwegian meteorologist Jacob Bjerknes introduced what has
been referred to as the Norwegian cyclone model. This theory pulled together many earlier
ideas and related the patterns of wind and weather to a low-pressure system that
exhibited fronts—which are rather sharp sloping boundaries between cold and warm air
masses. Bjerknes pointed out the rainfall/snowfall patterns that are characteristically
associated with the fronts in cyclones: the rain or snow occurs over large areas on the cold
side of an advancing warm front poleward of a low-pressure centre. Here, the winds are from
the lower latitudes, and the warm air, being light, glides up over a large region of cold air.

Widespread, sloping clouds spread ahead of the cyclone; barometers fall as the storm
approaches, and precipitation from the rising warm air falls through the cold air below. Where
the cold air advances to the rear of the storm, squalls and showers mark the abrupt lifting of
the warm air being displaced. Thus, the concept of fronts focused attention on the action at air
mass boundaries. The Norwegian cyclone model could be called the frontal model, for the
idea of warm air masses being lifted over cold air along their edges (fronts) became a major
forecasting tool. The model not only emphasized the idea but it also showed how and where
to apply it.

In later work, Bjerknes and several other members of the so-called Bergen school
of meteorology expanded the model to show that cyclones grow from weak disturbances on
6|P age
fronts, pass through a regular life cycle, and ultimately die by the inflow filling them. Both the
Norwegian cyclone model and the associated life-cycle concept are still used today by
weather forecasters.

While Bjerknes and his Bergen colleagues refined the cyclone model, other Scandinavian
meteorologists provided much of the theoretical basis for modern weather prediction.
Foremost among them were Vilhelm Bjerknes, Jacob’s father, and Carl-Gustaf Rossby.
Their ideas helped make it possible to understand and carefully calculate the changes in
atmospheric circulation and the motion of the upper-air waves that control the behaviour of
cyclones.

Modern trends and developments

Upper-air observations by means of balloon-borne sounding equipment


Once again technology provided the means with which to test the new scientific ideas and
stimulate yet newer ones. During the late 1920s and ’30s, several groups of investigators
(those headed by Yrjö Väisälä of Finland and Pavel Aleksandrovich Malchanov of the Soviet
Union, for example) began using small radio transmitters with balloon-borne instruments,
eliminating the need to recover the instruments and speeding up access to the upper-
air data. These radiosondes, as they came to be called, gave rise to the upper-air observation
networks that still exist today.
Approximately 75 stations in the United States and more than 500 worldwide release, twice
7|P age
daily, balloons that reach heights of 30,000 metres or more. Observations
of temperature and relative humidity at various pressures are radioed back to the station from
which the balloons are released as they ascend at a predetermined rate. The balloons also are
tracked by radar and global positioning system (GPS) satellites to ascertain the behaviour of
winds from their drift.
Forecasters are able to produce synoptic weather maps of the upper atmosphere twice each
day on the basis of radiosonde observations. While new methods of upper-air measurement
have been developed, the primary synoptic clock times for producing upper-air maps are still
the radiosonde-observation times—namely, 0000 (midnight) and 1200 (noon) Greenwich
Mean Time (GMT). Furthermore, modern computer-based forecasts use 0000 and 1200 GMT
as the starting times from which they calculate the changes that are at the heart of modern
forecasts. It is, in effect, the synoptic approach carried out in a different way, intimately
linked to the radiosonde networks developed during the 1930s and ’40s.

Principles and methodology of weather forecasting

When people wait under a shelter for a downpour to end, they are making a very-short-
range weather forecast. They are assuming, based on past experience, that such
hard rain usually does not last very long. In short-term predictions the challenge for the
forecaster is to improve on what the layperson can do. For years the type of situation
represented in the above example proved particularly vexing for forecasters, but since the
8|P age
mid- 1980s they have been developing a method called nowcasting to meet precisely this sort
of challenge. In this method, radar and satellite observations of local atmospheric conditions
are processed and displayed rapidly by computers to project weather several hours in advance.
The U.S. National Oceanic and Atmospheric Administration operates a facility known as
PROFS (Program for Regional Observing and Forecasting Services) in Boulder, Colo.,
specially equipped for nowcasting.

Meteorologists can make somewhat longer-term forecasts (those for 6, 12, 24, or even 48
hours) with considerable skill because they are able to measure and predict atmospheric
conditions for large areas by computer. Using models that apply their accumulated expert
knowledge quickly, accurately, and in a statistically valid form, meteorologists are now
capable of making forecasts objectively. As a consequence, the same results are produced
time after time from the same data inputs, with all analysis accomplished mathematically.
Unlike the prognostications of the past made with subjective methods, objective forecasts are
consistent and can be studied, reevaluated, and improved.

Another technique for objective short-range forecasting is called MOS (for Model Output
Statistics). Conceived by Harry R. Glahn and D.A. Lowry of the U.S. National Weather
Service, this method involves the use of data relating to past weather phenomena and
developments to extrapolate the values of certain weather elements, usually for a specific
location and time period. It overcomes the weaknesses of numerical models by developing
statistical relations between model forecasts and observed weather. These relations are then
used to translate the model forecasts directly to specific weather forecasts. For example, a
numerical model might not predict the occurrence of surface winds at all, and whatever winds
it did predict might always be too strong. MOS relations can automatically correct for errors
in wind speed and produce quite accurate forecasts of wind occurrence at a specific point,
such as Heathrow Airport near London. As long as numerical weather prediction models are
imperfect, there may be many uses for the MOS technique.

Predictive skills and procedures

Short-range weather forecasts generally tend to lose accuracy as forecasters attempt to look
farther ahead in time. Predictive skill is greatest for periods of about 12 hours and is still quite
substantial for 48-hour predictions. An increasingly important group of short-range forecasts
9|P age
are economically motivated. Their reliability is determined in the marketplace by the
economic gains they produce (or the losses they avert).

Weather warnings are a special kind of short-range forecast; the protection of human life is
the forecaster’s greatest challenge and source of pride. The first national weather forecasting
service in the United States (the predecessor of the Weather Bureau) was in fact formed, in
1870, in response to the need for storm warnings on the Great Lakes. Increase Lapham of
Milwaukee urged Congress to take action to reduce the loss of hundreds of lives incurred
each year by Great Lakes shipping during the 1860s. The effectiveness of the warnings and
other forecasts assured the future of the American public weather service.

Weather warnings are issued by government and military organizations throughout the world
for all kinds of threatening weather events: tropical storms variously called hurricanes,
typhoons, or tropical cyclones, depending on location; great oceanic gales outside the tropics
spanning hundreds of kilometres and at times packing winds comparable to those of tropical
storms; and, on land, flash floods, high winds, fog, blizzards, ice, and snowstorms.

10 | P a g e
A particular effort is made to warn of hail, lightning, and wind gusts associated with severe
thunderstorms, sometimes called severe local storms (SELS) or simply severe weather.
Forecasts and warnings also are made for tornadoes, those intense, rotating windstorms that
represent the most violent end of the weather scale. Destruction of property and the risk of

injuryand death are extremely high in the path of a tornado, especially in the case of the
largest systems (sometimes called maxi-tornadoes).
1.3 Methods Used to Find the Weather Forecasting.

1. Synoptic Method: A systematic study of recent weather forecasts from a wide area is used in
this method of weather forecasting. Present weather conditions are linked to comparable
scenarios in the past, and predictions are based on the premise that the current scenario would
behave similarly to the analogous situation in the past.

2. Statistical Method: Regression equations or other advanced relationships are formed


between various weather elements and the subsequent climate in this method of weather
forecasting. Predictions or weather criteria are usually chosen based on a potential physical
interaction with the predictions.

3. Numerical Weather Prediction Techniques: Numerical weather prediction definition states


that it forecasts weather using statistical models of the atmosphere and oceans dependent on
current weather conditions. The action of the atmosphere is expressed in this system by a
series of equations based on physical laws governing airflow, air pressure, and other data.
The method has been shown to be optimal for medium-term forecasts.

We developed a weather forecast app using java in which users have to enter their city, state
or country name or their codes and the applications shows the following results:

Current Temperature, Humidity, Wind speed, Cloudiness and last but not least Pressure.

1.4 Purpose:

The purpose of developing weather app is to fetch the data in the need of taking information
11 | P a g e
about weather worldwide.

1.5 Advantages of Weather forecasting

1. Weather Forecasting benefits tourism

 No doubt, tourism is strongly affected by climate and weather. The increasing fluctuations of
weather may affect tourists and tourism businesses. Thus, weather forecasting helps in
planning tourism facilities to minimize the damage caused by severe weather, as well as
increase profitability. In particular, by checking the weather forecasts, tourists are able to
choose proper destinations for the best experience, plan their trips to avoid possible risks.
 The importance of weather forecasting is undeniable.

2. Weather forecasting improves transportation safety

 Weather strongly impacts the safety and operation of roads. Driving abilities can be impaired
by severe weather conditions like snow, rain, or storm. Moreover, There has been a slew of
traffic accidents reportedly caused by bad weather.
 For air transportation, weather forecasters help reduce flight delays, flight times, and energy
savings, and ensure the safety and comfort of passengers. The key importance of weather
forecasting for this industry is the provided information on critical weather conditions that
could endanger an aircraft at takeoff, landing, and during flight, e.g. strong winds,
thunderstorms, tornadoes, and ice.

3. Weather forecasting beneficial to dressing

 It’s true that weather affects how we choose outfits. It’s not easy to dress well in unusual
weather conditions, though your wardrobe is filled with multiple items.
 For example, you have an outdoor meeting tomorrow but you don’t know how to dress
properly. That’s where weather forecasts come in handy.
12 | P a g e
 By checking whether, before the event, you can get an overview of how the weather would
look like to choose the best clothing without being affected by the weather.
 This helps save your time and solves the headache matter of what to wear.

4. Weather forecasting is beneficial to farmers

 Temperature, humidity, and precipitation play an important role in the cultivation of fruits
and vegetables.
 Farmers previously predicted the weather based on observations of the sky. However, the
development of meteorology these days has provided them with accurate weather forecasts
by using supercomputers to collect data.
 By regularly checking weather forecasts, farmers are able to know the best time for crops and
farming practices and better understand and track the growth status to make potentially costly
decisions.

13 | P a g e
CHAPTER 2: ANALYSIS

2.1 System Analysis

Analysis can be defined as breaking up of any whole so as to find out their nature, function
etc. It defines design as to make preliminary sketches of; to sketch a pattern or outline for
plan. To plan and carry out especially by artistic arrangement or in a skillful wall. System
analysis and design can be characterized as a set of techniques and processes, a community of
interests, a culture and an intellectual orientation.

2.2 Identification of needs

System analysis is a process of gathering and interpreting facts, diagnosing problems and the
information to recommend improvements on the system. It is a problem solving activity that
requires intensive communication between the system users and system developers. System
analysisor study is an important phase of any system development process. The system is
studies to the minutest detail and analyzed. The system analyst plays the role of the
interrogator and dwells deep into the working of the present system. The System is viewed as
a whole and the input to the systemare identified. The outputs from the organization are traced
to the various processes. Systemanalysis is concerned with becoming aware of the problem,
identifying the relevant and Decisional variables, analysis and synthesizing the various
factors and determining an optimal or at least a satisfactory solution or program of action.

A detailed study of the process must be made by various techniques like interviews,
questionnaires etc. The data collected by these sources must be scrutinized to arrive to a
conclusion. The conclusion is an understanding of how the system functions. This system is
called the existing system. Now the existing system is subjected to close study and problem
area are identified. The designer now functions as a problem solver and tries to sort out the
difficulties that the enterprise faces. The solutions are given as proposals. The 14
proposal
| P a g is
e
reviewed on user request and suitable changes are made. This is loop that ends as soon as the
user is satisfied with proposal.

2.3 Feasibility Study

Feasibility analysis begins once the goals are defined. It starts by generating broad possible
solutions, which are possible to give an indication of what the new system should look lime.
This is where creativity and imagination are used. Analysts must think up new ways of doing
things-generate new ideas. There is no need to go into the detailed system operation yet. It is
important not to exert considerable effort at this stage only to find out that the project is not
worthwhile or that there is a need significantly change the original goal. Feasibility of a new
system means ensuring that the new system, which we are going to implement, is efficient
and affordable. There are various types of feasibility to be determined. They are,

Technical feasibility: The technical requirement for the system is economic and it does not
use any other additional Hardware and software. Technical evaluation must also assess
whether the existing systems can be upgraded to use the new technology and whether the
organization has the expertise to use it. Install all upgrades framework into the .Net package
supported widows based application. This application depends on Microsoft office and
intranet service ,database. Enter their attendance and generate report to excel sheet.

Economically Feasibility: Development of this application is highly economically feasible.


The only thing to be done is making an environment with an effective supervision. It is cost
effective in the sense that has eliminated the paper work completely. The system is also time
effective because the calculations are automated which are made at the end of the month or as
per the user requirement.

Operational Feasibility: The system working is quite easy to use and learn due to its simple
but attractive interface. User requires no special training for operating the system. Technical
performance include issues such as determining whether the system can provide the right
information for the Department personnel student details, and whether the system
15 | Pcan
a gbe
e
organized so that it always delivers this information at the right place and on time using
intranet services. Acceptance revolves around the current system and its personnel.

SOFTWARE DEVELOPMENT LIFE CYCLE

SDLC or the Software Development Life Cycle is a process that produces software with the
highest quality and lowest cost in the shortest time possible. SDLC provides a well-structured
flow of phases that help an organization to quickly produce high-quality software which is
well-tested and ready for production use.

1. Identify the Current Problems 

“What are the current problems?” This stage of the SDLC means getting input from all
stakeholders, including customers, salespeople, industry experts, and programmers. Learn the
strengths and weaknesses of the current system with improvement as the goal.

2. Plan

16 | P a g e
“What do we want?” In this stage of the SDLC, the team determines the cost and resources
required for implementing the analyzed requirements. It also details the risks involved and
provides sub-plans for softening those risks.

In other words, the team should determine the feasibility of the project and how they can
implement the project successfully with the lowest risk in mind.

3. Design

“How will we get what we want?” This phase of the SDLC starts by turning the software
specifications into a design plan called the Design Specification. All stakeholders then review
this plan and offer feedback and suggestions. It’s crucial to have a plan for collecting and
incorporating stakeholder input into this document. Failure at this stage will almost certainly
result in cost overruns at best and the total collapse of the project at worst.

4. Build

At this stage, the actual development starts. It’s important that every developer sticks to the
agreed blueprint. Also, make sure you have proper guidelines in place about the code style
and practices.

For example, define a nomenclature for files or define a variable naming style such
as camelCase. This will help your team to produce organized and consistent code that is
easier to understand but also to test during the next phase.

5. Code Test

“Did we get what we want?” In this stage, we test for defects and deficiencies. We fix those
issues until the product meets the original specifications.

In short, we want to verify if the code meets the defined requirements.

Prefix works with .NET, Java, PHP, Node.js, Ruby, and Python.

6. Software Deployment

“Let’s start using what we got.”


17 | P a g e
At this stage, the goal is to deploy the software to the production environment so users can
start using the product. However, many organizations choose to move the product through
different deployment environments such as a testing or staging environment.

This allows any stakeholders to safely play with the product before releasing it to the market.
Besides, this allows any final mistakes to be caught before releasing the product.

CHAPTER 3 : SOFTWARE AND SYSTEM REQUIREMENTS


SPECIFICATION

3.1 HARDWARE REQUIREMENTS

1. Hard Disk – 40GB

2. Mouse – Standard Mouse

3. Keyboard – Logitech Keyboard

4. Processor Speed – 2.4GHZ

5. Android mobile with a minimum version 2.2.

6. The processor is not less than 500MHZ.

7. RAM > 170mb.

8. SD card with a minimum of 512 MB.

3.2 SOFTWARE REQUIREMENTS

1. Operating System – Microsoft Windows XP With Service Pack

2. Technology Used – Java, XML , Android studio

18 | P a g e
JAVA

Java is a high-level, class-based, object-oriented programming language that is designed to


have as few implementation dependencies as possible. It is a general-purpose programming
language intended to let programmers write once, run anywhere (WORA), meaning that
compiled Java code can run on all platforms that support Java without the need to recompile.
Java applications are typically compiled to bytecode that can run on any Java virtual machine
(JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C
and C++, but has fewer low-level facilities than either of them. The Java runtime provides
dynamic capabilities (such as reflection and runtime code modification) that are typically not
available in traditional compiled languages. As of 2019, Java was one of the most popular
programming languages in use according to GitHub, particularly for client–server web
applications, with a reported 9 million developers.

Java was originally developed by James Gosling at Sun Microsystems and released in May
1995 as a core component of Sun Microsystems' Java platform.

The original and reference implementation Java compilers, virtual machines, and class
libraries were originally releasedby Sun under proprietary licenses. As of May 2007, in
19 | P a g e
compliance with the specifications ofthe Java Community Process, Sun had relicensed most
of its Java technologies under the GPL-2.0-only license. Oracle offers its own HotSpot Java
Virtual Machine, however the official reference implementation is the OpenJDK JVM which
is free open-source software and used by most developers and is the default JVM for almost
all Linux distributions.
Following are the notable features of Java:

Object Oriented

In Java, everything is an Object. Java can be easily extended since it is based on the Object
model.

Platform Independent

Unlike many other programming languages including C and C++, when Java is compiled, it is
not compiled into platform specific machine, rather into platform-independent byte code. This
byte code is distributed over the web and interpreted by the Virtual Machine (JVM) on
whichever platform it is being run on.

Simple

Java is designed to be easy to learn. If you understand the basic concept of OOP Java, it
would be easy to master.

Secure

With Java's secure feature it enables to develop virus-free, tamper-free systems.


Authentication techniques are based on public-key encryption.

Architecture-neutral

Java compiler generates an architecture-neutral object file format, which makes the compiled
code executable on many processors, with the presence of Java runtime system.

Portable

Being architecture-neutral and having no implementation dependent aspects of the


specification makes Java portable. The compiler in Java is written in ANSI C with a clean
portability boundary, which is a POSIX subset.

Robust

20 | P a g e
Java makes an effort to eliminate error-prone situations by emphasizing mainly on compile
time error checking and runtime checking.

Multithreaded

With Java's multithreaded feature it is possible to write programs that can perform many
tasks simultaneously. This design feature allows the developers to construct interactive
applications that can run smoothly.

Interpreted

Java byte code is translated on the fly to native machine instructions and is not stored
anywhere. The development process is more rapid and analytical since the linking is an
incremental and light-weight process.

High Performance

With the use of Just-In-Time compilers, Java enables high performance.

Distributed

Java is designed for the distributed environment of the internet.

JAVA IN ANDROID DEVELOPMENT

What made Java be the technology of choice for mobile development for the Android
platform? The Java Programming Language emerged in the mid-1990s; it was created by
James Gosling of Sun Microsystems. Incidentally, Sun Microsystems was since bought by
Oracle. Java has been widely popular the world over, primarily because of a vast array of
features it provides. Java’s promise of “Write once and run anywhere” was one of the major
factors for the success of Java over the past few decades.

Java even made inroads into embedded processors technology as well; the Java Mobile
Edition was built for creating applications that can run on mobile devices. All these, added to
Java’s meteoric rise, were the prime factors that attributed to the decision of adopting Java as
the primary development language for building applications that run on Android. Java
21 | P a g e
programs are secure because they run within a sandbox environment. Programs written in
Java are compiled into intermediate code known as bytecode. This bytecode is then executed
inside the context of the Java Virtual Machine.

The mobile edition of Java is called Java ME. Java ME is based on Java SE and is supported
by most smartphones and tablets. The Java Platform Micro Edition (Java ME) provides a
flexible, secure environment for building and executing applications that are targeted at
embedded and mobile devices. The applications that are built using Java ME are portable,
secure, and can take advantage of the native capabilities of the device. Java ME addresses the
constraints that are involved in building applications that are targeted at mobile devices. In
essence, Java ME addresses the challenge of executing applications on devices that are low
on available memory, display, and power.

There are various ways to build applications for Android devices, but the recommended
approach is to leverage the Java programming language and the Android SDK.

22 | P a g e
XML (Extensible Markup Language)

XML (Extensible Markup Language) is a markup language similar to HTML, but without
predefined tags to use. Instead, you define your own tags designed specifically for your
needs. This is a powerful way to store data in a format that can be stored, searched, and
shared. Most importantly, since the fundamental format of XML is standardized, if you share
or transmit XML across systems or platforms, either locally or over the internet, the recipient
can still parse the data due to the standardized XML syntax.

XML tags define the data and used to store and organize data. It’s easily scalable and
simple to develop. In Android, the XML is used to implement UI-related data, and it’s a
lightweight markup language that doesn’t make layout heavy. XML only contains tags, while
implementing they need to be just invoked.

Features and Advantages of XML

1) XML separates data from HTML

If you need to display dynamic data in your HTML document, it will take a lot of work to edit
the HTML each time the data changes.

With XML, data can be stored in separate XML files. This way you can focus on using
HTML/CSS for display and layout, and be sure that changes in the underlying data will not
require any changes to the HTML. With a few lines of JavaScript code, you can read an
external XML file and update the data content of your web page.

2) XML simplifies data sharing

In the real world, computer systems and databases contain data in incompatible formats.

23 | P a g e
XML data is stored in plain text format. This provides a software- and hardware-independent
way of storing data.

This makes it much easier to create data that can be shared by different applications.
3) XML simplifies data transport

One of the most time-consuming challenges for developers is to exchange data between
incompatible systems over the Internet.
Exchanging data as XML greatly reduces this complexity, since the data can be read by
different incompatible applications.

4) XML simplifies Platform change

Upgrading to new systems (hardware or software platforms), is always time consuming.


Large amounts of data must be converted and incompatible data is often lost.

XML data is stored in text format. This makes it easier to expand or upgrade to new operating
systems, new applications, or new browsers, without losing data.

Basics of User Interface(UI) :

Basically in Android XML is used to implement the UI-related data. So understanding the
core part of the UI interface with respect to XML is important. The User Interface for an
Android App is built as the hierarchy of main layouts, widgets. The layouts are ViewGroup
objects or containers that control how the child view should be positioned on the screen.
Widgets here are view objects, such as Buttons and text boxes.

Different Types of XML Files Used in Android Studio:

Different XML files serve different purposes in Android Studio. The list of various XML
files in Android Studio with their purposes is discussed below.

24 | P a g e
1. Layout XML files in android

The Layout XML files are responsible for the actual User Interface of the application. It
holds all the widgets or views like Buttons, TextViews, EditTexts, etc. which are defined
under the ViewGroups.
The Location of the layout files in Android is:
app -> src -> main -> res -> layout

25 | P a g e
2. AndroidManifest.xml file

This file describes the essential information about the application’s, like the application’s
package names which matches code’s namespaces, a component of the application like
activities, services, broadcast receivers, and content providers. Permission required by the
user for the application features also mentioned in this XML file.

Location of the AndroidManifest.xml file:


app -> src -> main

26 | P a g e
3. strings.xml file

This file contains texts for all the TextViews widgets. This enables reusability of code, and
also helps in the localization of the application with different languages. The strings defined
in these files can be used to replace all hardcoded text in the entire application.

Location of the strings.xml file


app -> src -> main -> res -> values

27 | P a g e
4. themes.xml file

This file defines the base theme and customized themes of the application. It also used to
define styles and looks for the UI(User Interface) of the application. By defining styles we
can customize how the views or widgets look on the User Interface.

Location of styles.xml file


app -> src -> main -> res -> values

28 | P a g e
5. Drawable XML files

These are the XML files that provide graphics to elements like custom background for the
buttons and its ripple effects, also various gradients can be created. This also holds the
vector graphics like icons. Using these files custom layouts can be constructed for EditTexts.

Location for the Drawable files are:


app -> src -> main -> res -> drawable

29 | P a g e
6. colors.xml file

The colors.xml file is responsible to hold all the types of colors required for the application.
It may be primary brand color and its variants and secondary brand color and its variants.
The colors help uphold the brand of the applications. So the colors need to be decided
cautiously as they are responsible for the User Experience. The colors need to be defined in
the hex code format.

Location of colors.xml file:


app -> src -> main -> res -> values

30 | P a g e
Android Studio

Android is a complete set of software for mobile devices such as tablet computers,
notebooks, smartphones, electronic book readers, set-top boxes etc. It contains a linux-based
Operating System, middleware and key mobile applications. It can be thought of as a
mobile operating system. But it is not limited to mobile only. It is currently used in various
devices such as mobiles, tablets, televisions etc.

Android is a software package and linux based operating system for mobile devices such as
tablet computers and smartphones. It is developed by Google and later the OHA (Open
Handset Alliance). Java language is mainly used to write the android code even though
31 | P other
age
languages can be used.

The goal of android project is to create a successful real-world product that improves the
mobile experience for end users.

Features of Android

After learning what is android, let's see the features of android. The important features of
android are given below:

1) It is open-source.

2) Anyone can customize the Android Platform.

3) There are a lot of mobile applications that can be chosen by the consumer.

4) It provides many interesting features like weather details, opening screen, live RSS
(Really Simple Syndication) feeds etc.

It provides support for messaging services(SMS and MMS), web browser, storage (SQLite),
connectivity (GSM, CDMA, Blue Tooth, Wi-Fi etc.), media, handset layout etc.

Categories of Android applications

There are many android applications in the market. The top categories are:

o Entertainment

o Tools

o Communication

o Productivity

o Personalization

32 | P a g e
o Music and Audio

o Social

o Media and Video

o Travel and Local etc.

Android Core Building Blocks

An android component is simply a piece of code that has a well defined life cycle e.g.
Activity, Receiver, Service etc.
The core building blocks or fundamental components of android are activities, views,
intents, services, content providers, fragments and AndroidManifest.xml.

Activity
An activity is a class that represents a single screen. It is like a Frame in AWT.

View
A view is the UI element such as button, label, text field etc. Anything that you see is a view.

Intent
33 | P a g e
Intent is used to invoke components. It is mainly used to:

o Start the service

o Launch an activity

o Display a web page

o Display a list of contacts

o Broadcast a message

o Dial a phone call etc.

Android Emulator

The Android emulator is an Android Virtual Device (AVD), which represents a specific
Android device. We can use the Android emulator as a target device to execute and test our
Android application on our PC. The Android emulator provides almost all the functionality of
a real device. We can get the incoming phone calls and text messages. It also gives the
location of the device and simulates different network speeds. Android emulator simulates
rotation and other hardware sensors. It accesses the Google Play store, and much more.

34 | P a g e
Testing Android applications on emulator are sometimes faster and easier than doing on a
real device. For example, we can transfer data faster to the emulator than to a real device
connected through USB.

The Android emulator comes with predefined configurations for several Android phones,
Wear OS, tablet, Android TV devices.

3.3 Data Flow Diagrams

Oth level

35 | P a g e
Fig 3.3.1 Oth level DFD

1st level

Fig 3.3.2 1st level DFD

CHAPTER 4: DESIGNING AND PLANNING

4.1 Activity diagram

Activity diagram is another important diagram in UML to describe the dynamic aspects of the
system. Activity diagram is basically a flowchart to represent the flow from one activity to
another activity. The activity can be described as an operation of the system. The control flow
is drawn from one operation to another. This flow can be sequential, branched, or concurrent.
Activity diagrams deal with all type of flow control by using different elements such as fork,
join, etc.

36 | P a g e
Purpose of Activity Diagrams

The basic purposes of activity diagrams are similar to other four diagrams. It captures the
dynamic behavior of the system. Other four diagrams are used to show the message flow from
one object to another but activity diagram is used to show message flow from one activity to
another.

Where to Use Activity Diagrams?

The basic usage of activity diagram is similar to other four UML diagrams. The specific usage
is to model the control flow from one activity to another. This control flow does not include
messages. Activity diagram is suitable for modeling the activity flow of the system. An
application can have multiple systems. Activity diagram also captures these systems and
describes the flow from one system to another. This specific usage is not available in other
diagrams. These systems can be database, external queues, or any other system

Activity Diagram

Display error
Enter city
message

Search by
location

Check your
city 37 | P a g e
entered

Display error
message
weather

Also forecase
weather

Fig 4.1.1 Activity Diagram

4.2 Class diagram

Class diagram is a static diagram. It represents the static view of an application. Class diagram
is not only used for visualizing, describing, and documenting different aspects of a system but
also for constructing executable code of the software application. Class diagram describes the
attributes and operations of a class and also the constraints imposed on the system. The class
diagrams are widely used in the modeling of object-oriented systems because they are the
only UML diagrams, which can be mapped directly with object-oriented languages.

Purpose of Class Diagrams

The purpose of class diagram is to model the static view of an application. Class diagrams are
the only diagrams which can be directly mapped with object-oriented languages and thus
widelyused at the time of construction. UML diagrams like activity diagram, sequence
diagram can only give the sequence flow of the application, however class diagram is a bit
different. It is the most popular UML diagram in the coder community.

Where to Use Class Diagrams?

Class diagram is a static diagram and it is used to model the static view of a. The static view
describes the vocabulary of the system. Class diagram is also considered as the foundation for
38 | P a g e
component and deployment diagrams. Class diagrams are not only used to visualize the
system static view of the system but they are also used to construct the executable code for
forward and reverse engineering of any system. Generally, UML diagrams are not directly
mapped with any object-oriented programming languages but the class diagram is an
exception. Class diagram clearly shows the mapping with object-oriented languages such as
Java, C++, etc. From practical experience, class diagram is generally used for construction
purpose.

Enter city

Response

API
User

Response
Interpretation

Forecast Temperature
unit

Disolay output

Fig 4.2.1: Use Class Diagram

User Interface Design

The design of user interfaces for machines and software, such as computers, home
appliances, mobile devices and other electronic devices, with the focus on maximizing the
user experience. The goal of user interface design is to make the user's interaction as simple
and efficient as possible, in terms of accomplishing user goals (user-centered design).Good
user interface design facilitates finishing the task at hand without drawing unnecessary
attention to it. Graphic design and typography are utilized to support its usability, influencing
how the user performs certain interactions and improving the aesthetic appeal of the design;
designaesthetics may enhance or detract from the ability of users to use the functions of the
39 | P a g e
interface.

The design process must balance technical functionality and visual elements (e.g., mental
model) to create a system that is not only operational but also usable and adaptable to
changing user needs. As a result, designers tend to specialize in certain types of projects and
have skills centered on their expertise, whether that be software design user research, web
design or industrial design.

CHAPTER 5: IMPLEMENTATION OR CODING

5.1 Android Studio

Android Studio is the official Integrated Development Environment (IDE) for android
application development. Android Studio provides more features that enhance our
productivity while building Android apps.

Android Studio was announced on 16th May 2013 at the Google I/O conference as an official
IDE for Android app development. It started its early access preview from version 0.1 in May
2013. The first stable built version was released in December 2014, starts from version 1.0.

Since 7th May 2019, Kotlin is Google's preferred language for Android application
development. Besides this, other programming languages are supported by Android Studio.

Features of Android Studio


o It has a flexible Gradle-based build system.
o It has a fast and feature-rich emulator for app testing.
o Android Studio has a consolidated environment where we can develop for all Android
devices.

o Apply changes to the resource code of our running app without restarting the app.
o Android Studio provides extensive testing tools and frameworks.
o It supports C++ and NDK.
o It provides build-in supports for Google Cloud Platform. It makes it easy to integrate
40 | Google
Page
Cloud Messaging and App Engine

Android Studio Project Structure

The Android Studio project contains one or more modules with resource files and source
code files. These include different types of modules-

o Android app modules


o Library modules
o Google App Engine modules
By default, Android Studio displays our project files in the Android project view, as shown in
the above image. This view is formed by modules to provide quick access to our project's key
source files.

These build files are visible to the top-level under Gradle Scripts. And the app module
contains the following folders:

o manifests: It contains the AndroidManifest.xml file.


o java: It contains the source code of Java files, including the JUnit test code.
o res: It contains all non-code resources, UI strings, XML layouts, and bitmap images.

5.2 Java

Java is one of the powerful general-purpose programming languages, created in 1995 by Sun
Microsystems (now owned by Oracle). Java is Object-Oriented. However, it is not considered
as pure object-oriented as it provides support for primitive data types (like int, char, etc). Java
syntax is similar to C/C++. But Java does not provide low-level programming functionalities
like pointers. Also, Java code is always written in the form of classes and objects. Android
heavily relies on the Java programming language all the SDKs required to build for android
applications use the standard libraries of Java. If one is coming from a traditional
programming background like C, C++, Java is easy to learn.

Basics of Java

41 | P a g e
 How to start learning Java – understand the core introduction of the Java programming
language.
 Setting up the environment – Setup IDE for writing programs in Java.

Decision Making Statements in Java

 Decision Making in Java (if, if-else, switch, break, continue, jump) – A programming
language uses control statements to control the flow of execution of a program based on
certain conditions.

Type Conversion in Java

 Type conversion in Java with Examples – If the data types are compatible, then Java will
perform the conversion automatically known as Automatic Type Conversion, and if not, then
they need to be cast or converted explicitly.

Comments in Java

 Comments in Java – Comments take part in making the program become more human-
readable by placing the details of code involved and proper use of comments makes
maintenance easier and finding bugs easier.

Operators in Java

 Operators in Java – Java provides many types of operators which can be used according to
the need. They are classified based on the functionality they provide.

Strings in Java

 String class in Java | Set 1 – String is a sequence of characters. In Java, objects of strings are
immutable, which means constant and cannot be changed once created.
 StringBuffer class in Java – StringBuffer is a peer class of String that provides much of the
functionality of strings.

42 | P a g e
Object-Oriented Programming Concepts in Java

 Classes and Objects in Java – The basic OOPs components Class and Object in the java
programming language.
 Different ways to create objects in Java – Get to know the various ways of creating objects in
Java.
 Inheritance in Java – It is the mechanism in Java by which one class is allowed to inherit the
features(fields and methods) of another class.
 Encapsulation in Java – Encapsulation is defined as the wrapping up of data under a single
unit.
Exception Handling in Java

 Exceptions in Java – An exception is an unwanted or unexpected event that occurs during the
execution of a program i.e at run time.
 Types of Exception in Java with Examples – Java also allows users to define their own
exceptions.

Interfaces and Abstract Classes

 Interfaces in Java – Like a class, an interface can have methods and variables, but the
methods declared in an interface are by default abstract.

 Access specifiers for classes or interfaces in Java – Methods and data members of a
class/interface can have one of the following four access specifiers.

 Abstract Classes in Java – Java, a separate keyword abstract is used to make a class abstract.

43 | P a g e
5.2.1 Coding

MainActivity.java

import android.graphics.Color; import android.os.Bundle; import android.view.View; import

android.widget.EditText;

import android.widget.TextView; import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity; import com.android.volley.Request;

import com.android.volley.RequestQueue; import com.android.volley.Response; import

com.android.volley.VolleyError;

import com.android.volley.toolbox.StringRequest; import

com.android.volley.toolbox.Volley;

import com.google.android.gms.ads.AdRequest; import

com.google.android.gms.ads.AdView; import com.google.android.gms.ads.MobileAds;

import com.google.android.gms.ads.initialization.InitializationStatus;

import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
44 | P a g e
import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONObject;

import java.text.DecimalFormat;

public class MainActivity extends AppCompatActivity { EditText etCity, etCountry;

TextView tvResult;

private final String url = "https://api.openweathermap.org/data/2.5/weather"; private final

String appid = "e53301e27efa0b66d05045d91b2742d3"; DecimalFormat df = new

DecimalFormat("#.##");

private AdView mAdView;


@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override

public void onInitializationComplete(InitializationStatus initializationStatus) {

});

mAdView = findViewById(R.id.adViewMain); AdRequest adRequest = new

AdRequest.Builder().build(); mAdView.loadAd(adRequest);

etCity = findViewById(R.id.etCity); etCountry = findViewById(R.id.etCountry); tvResult =

findViewById(R.id.tvResult);

public void getWeatherDetails(View view) { String tempUrl = "";

String city = etCity.getText().toString().trim();


45 | P a g e
String country = etCountry.getText().toString().trim(); if(city.equals("")){

tvResult.setText("City field can not be empty!");

}else{

if(!country.equals("")){

tempUrl = url + "?q=" + city + "," + country + "&appid=" + appid;

}else{

tempUrl = url + "?q=" + city + "&appid=" + appid;

StringRequest stringRequest = new StringRequest(Request.Method.POST, tempUrl,


new Response.Listener<String>() {

@Override

public void onResponse(String response) {

String output = "";

try {

JSONObject jsonResponse = new JSONObject(response); JSONArray jsonArray =

jsonResponse.getJSONArray("weather");

JSONObject jsonObjectWeather = jsonArray.getJSONObject(0); String description =

jsonObjectWeather.getString("description");

JSONObject jsonObjectMain = jsonResponse.getJSONObject("main"); double temp =

jsonObjectMain.getDouble("temp") - 273.15;

double feelsLike = jsonObjectMain.getDouble("feels_like") - 273.15; float pressure =

jsonObjectMain.getInt("pressure");

46 | P a g e
int humidity = jsonObjectMain.getInt("humidity");

JSONObject jsonObjectWind = jsonResponse.getJSONObject("wind"); String wind =

jsonObjectWind.getString("speed");

JSONObject jsonObjectClouds = jsonResponse.getJSONObject("clouds"); String clouds =

jsonObjectClouds.getString("all");

JSONObject jsonObjectSys = jsonResponse.getJSONObject("sys"); String countryName =

jsonObjectSys.getString("country");

String cityName = jsonResponse.getString("name");

tvResult.setTextColor(Color.rgb(68,134,199));

output += "Current weather of " + cityName + " (" + countryName + ")"

+ "\n Temp: " + df.format(temp) + " °C"

+ "\n Feels Like: " + df.format(feelsLike) + " °C"

+ "\n Humidity: " + humidity + "%"

+ "\n Description: " + description

+ "\n Wind Speed: " + wind + "m/s (meters per second)"

+ "\n Cloudiness: " + clouds + "%"

+ "\n Pressure: " + pressure + " hPa"

tvResult.setText(output);

} catch (JSONException e) { e.printStackTrace();

}, new Response.ErrorListener(){

@Override
47 | P a g e
public void onErrorResponse(VolleyError error) { Toast.makeText(getApplicationContext(),

error.toString().trim(),
Toast.LENGTH_SHORT).show();

});

RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());

requestQueue.add(stringRequest);

5.3XML

XML stands for Extensible Markup Language. XML is a markup language much like HTML
used to describe data. It is derived from Standard Generalized Markup Language (SMGL).
Basically, the XML tags are not predefined in XML. We need to implement and define the

tags in XML. XML tags define the data and used to store and organize data. It’s easily
scalable and simple to develop. In Android, the XML is used to implement UI-related data,
and it’s a lightweight markup language that doesn’t make layout heavy. XML only contains
tags, while implementing they need to be just invoked.

XML Does Not Use Predefined Tags

The XML language has no predefined tags.

The tags in the example above (like <to> and <from>) are not defined in any XML standard.
These tags are "invented" by the author of the XML document.

HTML works with predefined tags like <p>, <h1>, <table>, etc.

With XML, the author must define both the tags and the document structure.
48 | P a g e
XML is Extensible

Most XML applications will work as expected even if new data is added (or removed).

Imagine an application designed to display the original version of note.xml (<to> <from>
<heading> <body>).

Then imagine a newer version of note.xml with added <date> and <hour> elements, and a
removed <heading>

5.3.1 Coding

Modules.xml

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

<project version="4">

<component name="ProjectModuleManager">

<modules>

<module fileurl="file://$PROJECT_DIR$/.idea/Weather-Update-master.iml"
filepath="$PROJECT_DIR$/.idea/Weather-Update-master.iml" />

</modules>

</component>

</project>

Gradle.xml

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

<project version="4">

49 | P a g e
<component name="GradleMigrationSettings" migrationVersion="1" />

<component name="GradleSettings">

<option name="linkedExternalProjectsSettings">

<GradleProjectSettings>

<option name="testRunner" value="GRADLE" />

<option name="distributionType" value="DEFAULT_WRAPPED" />

<option name="externalProjectPath" value="$PROJECT_DIR$" />

<option name="modules">

<set>

<option value="$PROJECT_DIR$" />

<option value="$PROJECT_DIR$/app" />

</set>

</option>

<option name="resolveModulePerSourceSet" value="false" />

</GradleProjectSettings>

</option>

</component>

</project>

50 | P a g e
activity_main.xml

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


<LinearLayout 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"
android:orientation="vertical"

android:padding="16dp" android:paddingTop="3dp" android:paddingBottom="3dp"


android:textAlignment="center" tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:fontFamily="sans-serif" android:text="Weather
Update" android:textAlignment="center" android:textColor="#444247"
android:textColorHighlight="#ECE6F6" android:textSize="40sp" />

<LinearLayout
51 | P a g e
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="@drawable/back" android:gravity="center"
android:orientation="vertical">

<View
android:layout_width="match_parent" android:layout_height="0dp"
android:layout_weight="1"></View>

<EditText
android:id="@+id/etCity" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_marginLeft="3dp"
android:layout_marginRight="3dp" android:layout_marginBottom="12dp"
android:drawableStart="@drawable/ic_baseline_location_city_24" android:ems="10"
android:hint="Enter City Name" android:inputType="textPersonName"
android:textAlignment="center" android:textColor="#111112"
android:textColorHighlight="#EDF6F5" />

<EditText
android:id="@+id/etCountry" android:layout_width="match_parent"

android:layout_height="wrap_content" android:layout_marginLeft="3dp"

android:layout_marginRight="3dp" android:layout_marginBottom="10dp"
android:drawableStart="@drawable/ic_baseline_code_24" android:ems="10"
android:hint="Enter Country Code (Optional)" android:inputType="textPersonName"
android:textAlignment="center" android:textColor="#111112"
android:textColorHighlight="#FBEDED" />

<Button
android:id="@+id/btnGet" android:layout_width="match_parent"
android:layout_height="59dp" android:layout_marginLeft="3dp"
android:layout_marginRight="3dp" android:layout_marginBottom="10dp"
android:background="#8657c5" android:onClick="getWeatherDetails" android:text="Get"
android:textColor="@android:color/white" app:backgroundTint="@null" />
52 | P a g e
<ScrollView
android:layout_width="match_parent" android:layout_height="150dp">

<TextView
android:id="@+id/tvResult" android:layout_width="match_parent"
android:layout_height="wrap_content" />
</ScrollView>

<View
android:layout_width="match_parent" android:layout_height="0dp"
android:layout_weight="1"></View>

<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-
auto"
android:id="@+id/adViewMain" android:layout_width="wrap_content"
android:layout_height="wrap_content" ads:adSize="SMART_BANNER"

ads:adUnitId="@string/banner_adunit_id"></com.google.android.gms.ads.AdView
>
</LinearLayout>
</LinearLayout>

53 | P a g e
54 | P a g e
AndroidManifest.xml

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.majorprojectbca.weatherupdate">

<uses-permission android:name="android.permission.INTERNET" />


<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
/><application
android:allowBackup="true" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"
android:networkSecurityConfig="@xml/network_security_config">
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-
3940256099942544~3347511713"/>
<meta-data
android:name="preloaded_fonts" android:resource="@array/preloaded_fonts" />
<activity
android:name="com.majorprojectbca.weatherupdate.MainActivity" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity></application></manifest>

55 | P a g e
CHAPTER 6 : TESTING

6.1 Description

Software testing is a critical element of software quality assurance and represents the ultimate
review of specification, design and code generation. The increasing visibility of software as a
system element and the attendant “cost” associated with a software failure are motivating
force for well planned, through testing.

6.2 Testing

Testing is the one of step in the software process that could be viewed as
destructiverather than constructive.
Software is tested from different perspectives White box test.

6.2.1 Whitebox Test:

White box tests focus on the program control structure, internal program logic is exercised
usingthis techniques.

6.2.2 Blackbox Test:

Black box testing is software requirements are exercised and derive sets of inputs conditions
that will fully exercise all functional requirements for a program this testing is also called
“behavioraltesting”.

6.2.3 Level Of Testing:

The details of software functionality & test conditions are satisfied fully on behavioral based
so that choose for black box testing.

56 | P a g e
Black box Testing:

by incorrect or missing function applying block box testing in my project “Weather


Forecasting App”interface errors, errors in external database access behavior (or)
performance error initialization and termination error its mainly used for uncover errors in
software functions

6.2.4 Behavioral Testing:

It is possible to simulate the behavior of a real time system and consequence of external
events. In this test, we check in client side if the client enter incorrect pin number for more
than “three” times the applications will be closed.

6.2.5 System Testing:

Software and hardware are integrated and full range of system test is conducted so that we
check for interrupt priority and the performance of each interrupt handling procedures. In
this test check on each options of banking process.

57 | P a g e
CHAPTER 7: RESULTS

58 | P a g e
59 | P a g e
CHAPTER 8: CONCLUSION

By this system weather forecasting report generation becomes easy. Less chances of
malfunctioningare there. The system has reached a steady state but still improvements are to
be made. The systemis operated at a high level of efficiency and all the work and user
associated with the systemunderstand its advantage. It was intended to solve as requirement
specification. In future this systemcan be implemented to all over the world and will be
designed for cross platform.

60 | P a g e
CHAPTER 9: REFRENCES

[1] Keshav kumar singh and S. Styline Chirmaxo,“Design of Wireless Weather Monitoring
System”, Department ofElectronics & Communication Engineering National Institute of
Technology Rourkela, 2013.

[2] Pranjali Wankhede et al.,“A Review on Weather Forecasting Systems Using Different
Techniques and Web Alerts”,International Journal of Advanced Research in Computer
Science and Software Engineering 4(2), February - 2014, pp.357-359.

[3] Piyush Kapoor and Sarabjeet Singh Bedi,“Weather Forecasting Using Sliding Window
Algorithm”, HindawiPublishing Corporation, ISRN Signal Processing, Volume 2013, Article
ID 156540.

[4]M. Kassim et al.,“A Web Based Temperature Monitoring System”, International Journal
of Multidisciplinary SciencesAnd Engineering, Vol. 2, No. 1, March 2011.

[5]G. V. Satyanarayana and Sd .Mazaruddin,“Wireless Sensor Based Remote Monitoring


System for Agriculture Using ZigBee and GPS”, Conference on Advances in Communication
and Control Systems © 2013.

[6]Mohd Nazri Ismail et al,“A Prototype of Web Based Temperature Monitoring System”,
2010 2nd InternationalConforence on Education Technology and Computer (ICETC), 978-1-
4244-6370-11$26.00 © 2010 IEEE.

[7]U. Suneetha et al.,“Ethernet Based Remote Monitoring And Control Of Temperature By


Using Rabbit Processor”,International Journal of Advanced Computer Science and
Applications, Vol. 3, No. 9, 2012.

61 | P a g e

You might also like