You are on page 1of 16

CHAPTER 1

INTRODUCTION
Android is a mobile operating system developed by Google, based on a modified version of the
Linux kernel and other open source software and designed primarily for touchscreen mobile
devices such as smartphones and tablets. In addition, Google has further developed Android TV
for televisions, Android Auto for cars, and Wear OS for wrist watches, each with a specialized
user interface. Variants of Android are also used on game consoles, digital cameras, PCs and
other electronics.

Initially developed by Android Inc., which Google bought in 2005, Android was unveiled in
2007, with the first commercial Android device launched in September 2008. The operating
system has since gone through multiple major releases, with the current version being 9.0 "Pie",
released in August 2018. The core Android source code is known as Android Open Source
Project (AOSP), and is primarily licensed under the Apache License.

Android is also associated with a suite of proprietary software developed by Google, including
core apps for services such as Gmail and Google Search, as well as the application store and
digital distribution platform Google Play, and associated development platform. These apps are
licensed by manufacturers of Android devices certified under standards imposed by Google, but
AOSP has been used as the basis of competing Android ecosystems, such as Amazon.com's Fire
OS, which utilize their own equivalents to the Google Mobile Services.

Android has been the best-selling OS worldwide on smartphones since 2011 and on tablets since
2013. As of May 2017, it has over two billion monthly active users, the largest installed base of
any operating system, and as of June 2018, the Google Play store features over 3.3 million apps.

1
1.1 OBJECTIVE
The project can be used by any person for checking their city or local weather. App checks the
weather it gives the details of the temperature ,wind speed, condition, pressure, humidity and
tells us about the sunset and sunrise time and gives the maximum and minimum temperature of
the day it is updated in every four hours.

 Simple Interface: It has the simple interface where you can easily type your city and get
the details of the temperature and other necessary details.
 Light Application: This is a very light app which will not take more space after you
install in your mobile.
 Easy Accessible: It is easily accessible you can easily access your city just by typing the
name of your city in which you live in it will give you the temperature and all details
about the weather. All the cities are available in the world.

1.2 CURRENT SYSTEM


Current system contains the different weather apps in the google play store. They take up lot
of space in the memory and they use the mobile data and they are always running in the
background of the system which uses more battery

1.3 PROPOSED SYSTEM


"Android Weather app" is simple and lightweight application. It doesn’t takes up more space
in the memory and there is no loss of the data and it saves the battery of the phone.

2
CHAPTER 2
TECHNOLOGIES USED

2.1 Android:
Android is a mobile operating system developed by Google, based on a modified version of the
Linux kernel and other open source software and designed primarily for touchscreen mobile
devices such as smartphones and tablets. In addition, Google has further developed Android TV
for televisions, Android Auto for cars, and Wear OS for wrist watches, each with a specialized
user interface. Variants of Android are also used on game consoles, digital cameras, PCs and
other electronics.

The source code for Android is available under free and open source software licenses. Google
publishes most of the code under the Apache License version 2.0 and the rest, Linux kernel
changes, under the GNU General Public License version 2.

2.1.1 Why to use android?


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.

3
2.1.2 Features of Android

1. Beautiful UI: Android OS basic screen provides a beautiful and intuitive user interface.

2. Connectivity: It provides the connectivity with GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,
Bluetooth, Wi-Fi, LTE, NFC and WiMAX.

3. Storage: SQLite, a lightweight relational database, is used for data storage purposes.

4. Media support: H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1,
MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP.

5. Open Source: Since it is open source it has a larger community support if any one gets into
any problem there is a big community to support it.

6. Multi-tasking: User can jump from one task to another and same time various application can
run simultaneously.

7. Multi-Language: supports single direction and bi-directional text.

2.1.3 Android Applications

Android applications are usually developed in the Java language using the Android Software
Development Kit.

Once developed, Android applications can be packaged easily and sold out either through a store
such as Google Play, SlideME, Opera Mobile Store, Mobango, F-droid and the Amazon
Appstore.

Android powers hundreds of millions of mobile devices in more than 190 countries around the
world. It's the largest installed base of any mobile platform and growing fast. Every day more
than 1 million new Android devices are activated worldwide.

4
2.1.4 Android Architecture
Android operating system is a stack of software components which is roughly divided into five
sections and four main layers as shown below in the architecture diagram.

Figure 2.1 Android Architecture

Android software stack is categorized into five parts:

1. Linux kernel
2. Native libraries (middleware),
3. Android Runtime
4. Application Framework
5. Applications

5
• Linux kernel

At the bottom of the layers is Linux - Linux 3.6 with approximately 115 patches. This
provides a level of abstraction between the device hardware and it contains all the
essential hardware drivers like camera, keypad, display etc. Also, the kernel handles
all the things that Linux is really good at such as networking and a vast array of
device drivers, which take the pain out of interfacing to peripheral hardware.

• Libraries

On top of Linux kernel there is a set of libraries including open-source Web browser
engine WebKit, well known library libc, SQLite database which is a useful repository
for storage and sharing of application data, libraries to play and record audio and
video, SSL libraries responsible for Internet security etc.

• Android Libraries

This category encompasses those Java-based libraries that are specific to Android
development. Examples of libraries in this category include the application
framework libraries in addition to those that facilitate user interface building, graphics
drawing and database access.

• Android Runtime

This is the third section of the architecture and available on the second layer from the
bottom. This section provides a key component called Dalvik Virtual Machine which
is a kind of Java Virtual Machine specially designed and optimized for Android.

The Dalvik VM makes use of Linux core features like memory management and
multi-threading, which is intrinsic in the Java language. The Dalvik VM enables
every Android application to run in its own process, with its own instance of the
Dalvik virtual machine.

The Android runtime also provides a set of core libraries which enable Android
application developers to write Android applications using standard Java
programming language.

6
• Application Framework

The Application Framework layer provides many higher-level services to applications


in the form of Java classes. Application developers are allowed to make use of these
services in their applications.

• Applications

You will find all the Android application at the top layer. You will write your
application to be installed on this layer only. Examples of such applications are
Contacts Books, Browser, Games etc.

2.1.5 Application Components

Application components are the essential building blocks of an Android application. These
components are loosely coupled by the application manifest file AndroidManifest.xml that
describes each component of the application and how they interact.

• Activities

An activity represents a single screen with a user interface,in-short Activity performs


actions on the screen.

• Services

A service is a component that runs in the background to perform long-running operations.

• Broadcast Receivers

Broadcast Receivers simply respond to broadcast messages from other applications or


from the system.

• Content Providers

A content provider component supplies data from one application to others on request.
Such requests are handled by the methods of the ContentResolver class. The data may be
stored in the file system, the database or somewhere else entirely.

7
A content provider is implemented as a subclass of ContentProvider class and must
implement a standard set of APIs that enable other applications to perform transactions.

• Additional Components

There are additional components which will be used in the construction of above
mentioned entities, their logic, and wiring between them. These components are −

1. Fragments: Represents a portion of user interface in an Activity.

2. Views: UI elements that are drawn on-screen including buttons, lists forms etc.

3. Layouts: View hierarchies that control screen format and appearance of the views.

4. Intents: Messages wiring components together.

5. Resources: External elements, such as strings, constants and drawable pictures.

6. Manifest: Configuration file for the application.

8
2.2 OpenWeatherMap API( Backend)

OpenWeatherMap Api is here for fetching the weather of cities it is used as backend for the app

to fetch the weather of different cities it is simple and clear API it is free api which is provided

and the weather is updated in every four hours.

It provides the following features:

• Current conditions and forecast for 200,000+ cities and any geo location.

• Historical data

• Simple and clear API

• Interactive weather maps and satellite maps

• Raw data from 40,000+ weather stations

• 24/7 tech support via our Support Center

9
CHAPTER 4

DESIGN OF PROJECT

HARDWARE REQUIREMENT FOR APP INSTALLATION

Processor 1.8 GHz

Ram: 1 GB

Free space required on phone: 2mb

Android Smartphone

SOFTWARE REQUIREMENTS FOR APP DEVELOPMENT

Java Development kit 7

Android Studio 3.1.4

Android SDK Manager

Android AVD Manager

10
4.1 LIST OF MODULES

4.1.1 MODEL
A model stores data that is retrieved according to commands from the controller and displayed in
the view. Here the model module contains the four classes clouds, current condition, place,
weather, wind.

Cloud class contains the data of precipitation, current condition contains the data such as
description, maximum, minimum weather temperature,pressure, humidity, icon and condition.
Place class contains the data such as latitude, longitude, sunset, sunrise, country, city and last
updated data. Wind class contains the speed and degree of the wind. Weather class contains the
initialization of the other classes of place, cloud and wind so that we don’t have to write the code
in the main class.

4.1.2 DATA

Data modules contains the classes for downloading the JSON data from the api it downloads the
data and reads the data from the API and sets the data in model module. This is the important
module as the API is downloaded and read here. Citypreferences class saves the default city
which is New Dehi,IN. Here the city is saved in the memory of application. JsonWeather object
class reads the data from API and sets the data to the model class. WeatherHttp client connects to
the API and downloads the data if API is not found then it will give the exceptions and will tell
the project that it cannot download the data.

4.1.3 UTILS

Utils module contains the link of the API and the link to download the icons for the weather and
it contains the code which converts the JSON to the datatype as it is needed for example it
converts the JSON object of string type to string and for the same number to int and float value
to float.

11
CHAPTER 5

SCREENSHOTS

Fig 5.1: Screenshot of Homescreen of the app

12
Figure 5.2: Screenshot of Changing the city

13
Figure 5.3: Screenshot of Changed the city

14
CHAPTER 5

FUTURE SCOPE & CONCLUSION


Android is the future of the world day by day its demand is getting increased and there users are
increasing everyday in numbers. As android devices are increasing so the demand for the good
applications are also increasing day by day. Everyday new apps are launched in google playstore.
“Adroid Weather app ” will get the four days forecasting and some other features like it will be
updated in every hours it’s user interface will be changed. This app will check the pollution in
the city.

Android is the future of the world day by day its demand is getting increased and there users are
increasing everyday in numbers. As android devices are increasing so the demand for the good
applications are also increasing day by day.

The project will be useful for checking the weather of your city and for getting started in android
for a person.

15
REFERENCES
Web sites referred:
1. https://www.javatpoint.com/
2. https://www.tutorialspoint.com/
3. https://www.javatpoint.com/
4. https://openweathermap.org/technology
5. https://en.wikipedia.org/wiki/Android_(operating_system)

16

You might also like