campus news feed
TRANSCRIPT
PHCET Department of Computer Engineering
“Campus News Feed on Android Platform”
A Project Report Submitted to the
University of Mumbai, Mumbai
In partial fulfillment of the course work leading to
Semester VII
Bachelor of Engineering
In
Computer Engineering
By
Yogesh Y. PatilNoopur M. Koli
Under the guidance of
Mr. Swapnil Waghmare
Department of Computer Engineering
Pillai HOC College of Engineering & Technology,
Rasayani - 410207
[2013-14]
Campus News Feeds on Android Platform Page 1 of 63
PHCET Department of Computer Engineering
Mahatma Education Society’s
Pillai HOC College of Engineering & Technology,
Rasayani – 410207
2013-2014
CERTIFICATE
This is to certify that the project report titled, “Campus News
Feeds on Android Platform” , duly submitted by the following
students-
Mr. Yogesh Y. Patil
Ms. Noopur M. Koli
has been completed under my supervision in a satisfactory
manner in a partial fulfillment of the requirements for the award
of semester VII Bachelor’s Degree in Computer Engineering to
be conferred by the University of Mumbai. In my opinion, the
work embodied in this report is comprehensive and fit for
evaluation. Project Guide
(Mr. Swapnil Waghmare)
Forwarded for Further Perusal:
Campus News Feeds on Android Platform Page 2 of 63
Prof. Sandeep Raskar HOD
PHCET Department of Computer Engineering
Abstract
Mobile computing environment is nothing if you can't keep track of your favorite news
feeds on the go. CollegeSync allow you to easily stay informed by retrieving the latest
content on a particular topic. Campus news feed offers varying level of granularity, where
the system is broken into small parts; there is a level of hierarchy from students to faculty
and from faculty to principal and so on. It enables to have up-to-date information
anywhere once they have the app installed and an active internet connection. Ifthe website
provides updates, all you need to do is install it on android phone with an active internet
connection. You can then use any CollegeSync which checks for updated content
frequently and displays it to you. CollegeSync allows users to create a list of those
sources in an application that automatically retrieves updates, saving consider-able time
and effort. An excellent mechanism for distributing regularly updated content, photo-
sharing applications, and podcasts.
Campus News Feeds on Android Platform Page 3 of 63
PHCET Department of Computer Engineering
Acknowledgement
It is a privilege for us to have been associated with Prof. SwapnilWaghmare, our guide,
during this project work. We have been greatly benefited by his valuable suggestions and
ideas. It is with great pleasure that we express our deep sense of gratitude to him for his
valuable guidance, constant encouragement and patience throughout this work.
We express our gratitude to Dr. Chelpa Lingam, Principal, Prof. SandeepRaskar, Head,
and Department of Computer Engineering Department for his constant encouragement,
co-operation, and support.
We express our sincere thanks to Prof. EktaUkey and Prof. SushilaRatre for their
unfailing inspiration. We are also thankful to Mrs. Reshma Patil for providing the lab
facilities.
We take this opportunity to thank all our classmates for their company during the course
work and for useful discussion we had with them.
We would be failing in our duties if we do not make a mention of our family members
including our parents for providing moral support, without which this work would not
have been completed.
Mr. Yogesh Y. Patil
MsNoopur M. Koli
Campus News Feeds on Android Platform Page 4 of 63
PHCET Department of Computer Engineering
List of FiguresFigure No Description Page No
Figure 2.1 Existing System selecting office to capture data 2
Figure 2.2 Android Application for Campus News Feed 5
Figure 2.3 Web Application 6
Figure 2.4 Database 6
Figure 2.5 Android Application 7
Figure 3.1 System Model 8
Figure 3.2 Functional Diagram 9
Figure 3.3 Sequential Diagram 11
Campus News Feeds on Android Platform Page 5 of 63
Chapter Heading, 11 Verdana Bold, Sub heading 11 Verdana, Page Nos. Right align, Do not give page no or Chapter no to Appendix Chapter (Last Chapter), Also start your Content form Introduction as First Chapter, After that Second Chapter must be Basic Concept and Literature Survey, after second chapter for arrangement of remaining chapter see instructions, Try to arrange report within 6-7 chapters
Chapter Heading, 11 Verdana Bold, Sub heading 11 Verdana, Page Nos. Right align, Do not give page no or Chapter no to Appendix Chapter (Last Chapter), Also start your Content form Introduction as First Chapter, After that Second Chapter must be Basic Concept and Literature Survey, after second chapter for arrangement of remaining chapter see instructions, Try to arrange report within 6-7 chapters
List of tables with description (one line) & page nos, 10.5, Times New Roman, right align
PHCET Department of Computer Engineering
Contents
Sr. No. ContentsPage No.
Abstract (i)
Acknowledgement (ii)
List of Figures (iii)
1 Introduction 1
2 Basic Concepts & Literature Survey 2
2.1 Literature survey 3
2.2 Need and Scope of the project 5
3 System Model and Block Diagram 9
3.1 System Architecture 9
3.2 Functional description 10
3.3 Sequential Block Diagram 12
4 Implementation 13
4.1 Hardware details 13
4.2 Software details 13
4.3 Platform details 13
5 Result and discussion 14
6 Conclusion 15
7 Future Scope 16
8 References 17
Campus News Feeds on Android Platform Page 6 of 63
PHCET Department of Computer Engineering
Chapter 1
Introduction
Campus News Feeds on Android Platform Page 7 of 63
PHCET Department of Computer Engineering
1. Introduction1.1 General
CollegeSync is a way of providing content to the user's browser or desktop in an efficient
way. It is a format used to publish regularly updated web content such as events,
placement, blogs, articles, etc. It is a technology that is being used by student as well as
teacher around the world to keep track of their favorite contents.
CNF provides an efficient way for students to keep in touch with faculty, stay informed
about coursework and other academic activities, and follow developments in their fields
of study, which for many will be an important skill in their professional lives. The
exchange of information that CollegeSync facilitates can also take place from students to
faculty or among the students in various courses within a department. Faculty use CNF to
help them efficiently use the Internet to exchange disciplinary information and increase
awareness of important developments.
Growing numbers of android users leads to a significant change. Because applications
such as browsers and operating systems increasingly this technology and has the potential
to become the primary vehicle through which users interact with the Internet. An
excellent mechanism for distributing regularly updated content, CollegeSync provides a
natural complement for important updates, company sites, photo-sharing applications, and
podcasts.
Making content available through CNF requires adding a small bit of code to a Web site,
typically with an accompanying icon that lets users know that the content on the page is
available through CollegeSync.
Campus News Feeds on Android Platform Page 8 of 63
PHCET Department of Computer Engineering
Chapter 2
Literature Survey
Campus News Feeds on Android Platform Page 9 of 63
PHCET Department of Computer Engineering
2. Basic Concepts and Literature SurveyThe project is based on the android application and its interface with PHP technology. To
implement the project we need to know some basic concepts of it. The basic concepts of
the project consist of the following:
Android Application: This application is developed using android development studio in
conjunction with SDK tools.
SDK tools: The Android SDK tools compile the code along with any data and resource
files. The Android SDK provides the tools and APIs necessary to begin developing
applications on the Android platform using the Java programming language.
.apk: All the code in a single .apk file is considered to be one application and is the file
that Android-powered devices use to install the application.
Android OS: Android is a Linux-based operating system designed primarily for touch
screen mobile devices such as smart phones and tablet computers. It enables replace and
reuse of components.
Android Emulator: A virtual mobile device that runs on the computer that uses the
emulator to design debug and test application to work in actual android environment.
PHP: PHP: Hypertext Preprocessor", is an open-source, reflective programming language
used mainly for developing server-side applications and dynamic web content.
GCM: Google Cloud Messaging is a free service that allows developers to send data
from third party servers to their applications running on android devices. It handles
queuing of messages and delivery to the target application running on the target device.
XAMPP: XAMPP is a free open source cross platform web server package consisting of
Apache Http server, MySQL database and interpreters for scripts written in PHP and Perl
programming language.
Campus News Feeds on Android Platform Page 10 of 63
PHCET Department of Computer Engineering
MySQL: MySQL is the most popular database system used with php. MySQL is open
source RDBMS which manages the data contained within the databases. We have used
the version MySQL 5.0.
2.1 Existing Technique:
In the corporate world, managers are always faced with a lot of decisions to make based
on data generated at their various offices. The decision making process is very vital for
company. At times, information about company is so huge that the decision making
process takes larger time than required. So therefore in existing technique, the manager
are provided with summarizes data so that they can make quick decision [1].
In the IEEE Paper some authors Fiawoo, S.Y. Dept. of Computer. Eng., Univ. of Ghana,
Accra, Ghana Sowah, R.A. have worked on the same application development in the area
of corporate industries, their paper named “Design and development of an Android
application to process and display summarized corporate data” was implemented and
approved by Institute of Electrical and Electronics Engineers.
Figure 2.1: Existing System selecting office to capture data
Campus News Feeds on Android Platform Page 11 of 63
PHCET Department of Computer Engineering
They have considered a local company that has offices located in the some cities of the
world with the company’s headquarters situated in one of the cities. Senior management
of the company receives a report from all the offices to enable them to make managerial
and important decisions specific to each of their offices.
At times the information they get can be so voluminous that plotting strategies and
analyzing trends from the received data becomes very tedious and thus the decision
making process takes longer time than required [1]. The paper is divided into following
sections:
1. The concept and model used that would be used to retrieve information from the
central database.
2. Motivation for developing an android application for use by corporate executives.
3. Literature review of android applications that have been developed for corporate use.
4. The design and methodology used in development of an android application.
In their paper the system consists of a backend where the workers working at the offices
would capture the data. The data would be stored on the central database. The front end
consists of the managers accessing data captured by workers using an android application
in conjunction with the web service.
The application mentioned above is only for single user & small scale business, because
large scale business can not afford these techniques on so much company data. The
managers cannot view the whole report, events and data catalogs on an android phone
with the screen of merely 4 inches high. Even the managers have to make correct quick
decisions to remain competitive, thus, profitable decision making is vital as any wrong
decisions made could have serious consequences on the organization.
Campus News Feeds on Android Platform Page 12 of 63
PHCET Department of Computer Engineering
2.2 Need and Scope of the Project
In the present system there is no portable and quick notification system. Even the notice
boards or website student sections are not updated from time to time. In the ‘old days’ of
the web to keep track of updates on a website you had to ‘bookmark’ websites in your
browser and manually return to them on a regular basis to see what had been added.
The use of traditional notice boards in schools/colleges leads to following problems:
• Missing Notices or important memos created for students.
• Waste of time and energy to go looking for the notice boards.
• Human Error in pinning any related updates.
• Students tend to forget important updates by just going through the notice boards.
All these problems can be solved in this development project i.e. through CNF. In this
project we are providing the users with the feature of real-time and accurate data
reception in less time. As soon as the website is updated the users should dynamically
receive the important updates in real time.
2.2.1 Proposed Technique
Now if you happen to visit a notice board or a website regularly to check if there is some
new content available, then CollegeSync is what you are looking out for. If that website
provides updates, all you need to do is install the app on your android device.
You can then use any CNF (like the one we will be building) which checks for updated
content frequently and displays it to you.
Students and Teachers can subscribe to the feeds using CollegeSync Android Application,
chosen based on personal reference. At regular intervals, the app will automatically check
for updated content and download new content. When they look at their app, the students
see a list of all the feeds they are subscribed to and the one which has a new content can
be quickly accessed.
The exchange of information that CNF facilitates can also take place from students to
faculty or among the students in various courses within a department. Faculty use
CollegeSync to help them efficiently use the Internet to exchange disciplinary
information and increase awareness of important developments. The first thing they need
to do install CNF into your android device.
Campus News Feeds on Android Platform Page 13 of 63
PHCET Department of Computer Engineering
It’s work a little like email but without an account. We can choose the update criteria to
only receive certain types of information. You see different tabs for every section &
events of college.
As you click on them you’ll see the latest update and can read it right there in the
application. You are given the option to click through to the full detailed view of that
update.
Making content available through CollegeSync requires adding a small bit of code to a
Web site, typically with an accompanying icon that lets users know that the content on the
page is available through CNF.
The application retrieves data from a database per user request and displays the retrieved
information on an android device. Users of this application would be able to analyze data
faster hence make quick decisions as they would not be drowned in a flood of detailed
information.
Figure 2.2: Android Application for Campus news feeds
Campus News Feeds on Android Platform Page 14 of 63
PHCET Department of Computer Engineering
We can choose the update criteria to receive certain types of information i.e. the specific
user will be able to retrieve the specific data. Suppose for e.g. teachers they can scan the
copy of important lecture notes, which will reduce their time and effort of dictating.
We can choose the update criteria to receive certain types of information i.e. the specific
user will be able to retrieve the specific data. Suppose for e.g. teachers they can scan the
copy of important lecture notes, which will reduce their time and effort of dictating.
It will automatically record student’s daily, weekly, monthly assignments and studies and
homework. It is perfect for students wanting to make permanent records of lectures, or
even for students who can’t make it to class for whatever reason. Due to such feature
even the Exam cell & placement cell can update the notices of the exam time table, mark
sheet allotment, the new companies coming to the campus etc.
So in short, the whole campus will be in touch with the faculty, stay informed about the
course work, upcoming events and academic activities, athletic and cultural events,
holidays, fees to be paid essential deadlines and many more things at any point of time.
Thus we have implemented the android application which promotes high usage of mobile
phones by students into a system through which the students can learn and to present an
informative tool which they can use to solve their queries and also receive the latest news
running around the campus on their mobile phone devices. With maximum people shifting
towards smart phones and a boom in the android application market has motivated us to
develop an Android application that will prove to be learning as well as an informative tool
for the students across the campus. Our concept of developing a campus information system
seeks to provide a collaborative communication system anytime, anywhere throughout the
campus.
2.2.2 Components of Campus News Feeds.
The component used to develop this system includes the following:
1. Web Application
2. Database
3. Application Programming Interface
4. Android Application
Campus News Feeds on Android Platform Page 15 of 63
PHCET Department of Computer Engineering
1. Web Application
Figure 2.3: Web Application
A web application is the one through which students/faculty would input data at their
various workplaces. Making content available through CollegeSync requires adding a
small bit of code every time to a web application.
2. Database
Campus News Feeds on Android Platform Page 16 of 63
Figure 2.4: Database
PHCET Department of Computer Engineering
A database hosted on a central server that would store information entered by the network
administrator about students/faculty.
3. Application Programming Interface
An application programming interface (API) that would take requests from the Android
application, query the database and serve the results back to the Android application and
4. Android Application
An android application is the one that processes or fetches the newly updated data from
the database and displays results to the students.
The application retrieves data from a database per user request and displays the retrieved
information on an android device. Users of this application would be able to analyze data
faster hence make quick decisions as they would not be drowned in a flood of detailed
information.
Campus News Feeds on Android Platform Page 17 of 63
Figure 2.5: Android Application
PHCET Department of Computer Engineering
2.2.3 Comparison between Existing system and proposed system
The following table shows the comparison between existing system and proposed system.
The comparison clearly shows the necessity of implementing the proposed system.
Table 2.6.Comparison between Existing system and proposed system
Sr. No. Features Existing System Proposed System
1. User Environment
Single User Multi-User
2. Data retrieval Data is so voluminous, it leads to flooding of data on retrieval
Data payload is up to 4kb, therefore no flooding of data on retrieval
3. Storage Capacity
More Storage required Less storage required
4. Database No external database. If company server crashes data is lost.
Database is internal as well as external i.e. application server as well as GCM server. Even if application server crashes GCM server still has the database.
5. Aim It aims on decision making process of managers.
It aims on notifying users of each and every department the events happening in and around the campus.
Campus News Feeds on Android Platform Page 18 of 63
PHCET Department of Computer Engineering
Chapter 3
Requirement Gathering
Campus News Feeds on Android Platform Page 19 of 63
PHCET Department of Computer Engineering
3. Requirement Gathering
3.1 Hardware Details:
Minimum hardware requirements for this System are listed below:
3.1.1 Desktop specifications:
Processor: Intel Pentium 4
RAM: 1 GB
HDD Space : 10 GB
3.1.2 Cell Phone Specifications
Android Based Mobile Version 2.2 onwards.
3.2 Software Details:
Minimum software requirements for this System are listed below:
3.2.1 Desktop OS: Windows XP/7/8
3.2.2 Android OS: 2.2 onwards.
3.2.3 Web Application Development: PHP 5.2.0
3.2.4 Android Application Development: Android Studio 1.0.3
3.3 Platform:
3.3.1 Client Side: Android O.S. Mobile or Tab
3.3.2 Middleware: MySQL 5.0
3.4 Web Service:
3.4.1 Google Cloud Messaging
Campus News Feeds on Android Platform Page 20 of 63
PHCET Department of Computer Engineering
Android Architecture
1) Linux operating system kernel that provides the low-level interface with the hardware,
memory management, and process control, all optimized for mobile devices.
2) Open source libraries for providing various functionality like Browsing, font
rendering, Multimedia stuff etc. It includes SQLite, Web Kit, and OpenGL, media
manager, free type and SGL, Surface Manager Etc.
Android uses Dalvik VM which Supports multiple virtual machine processes per device
Uses runtime memory efficiently Java .class / .jar files converted to .dex at build time
Runs optimized file format (.dex) and Dalvik byte code
3) An application framework that exposes system services to the application layer,
including the window manager, content providers, location manager, telephony, and peer-
to-peer services.
4) Application layer which provide interface to develop user-interface and application. It
contains all application which interacts with user [9].
Campus News Feeds on Android Platform Page 21 of 63
Figure 3.1: Android Architecture.
PHCET Department of Computer Engineering
Setting up Android Application
Figure 3.2: Android Application Setup.
The required libraries of android and GCM are copied into the libs folder of the
workspace of the project.
1. Manifest: Whatever component you develop as a part of your application, you
must declare all its components in a manifest file called Manifest.xml which resides at the
root of the application project directory. This file works as an interface between Android
OS and your application, so if you do not declare your component in this file, then it will
not be considered by the OS.
2. Broadcast receiver: Broadcast Receivers simply respond to broadcast messages
from other applications or from the system itself.
3. Intent: An Android Intent is an object carrying message from one component to
another component with-in the application or outside the application. The intents can
communicate messages among any of the three core components of an application -
activities, services, and broadcast receivers.
4. Activity: An activity represents a single screen with a user interface. For example,
registration is an activity that registers new users; another activity could be reading of
feeds. If an application has more than one activity, then one of them should be marked as
the activity that is presented when the application is launched.
Campus News Feeds on Android Platform Page 22 of 63
PHCET Department of Computer Engineering
GCMGoogle Cloud Messaging
Google Cloud Messaging for Android (GCM) is a service that allows you to send data
from your server to the users' Android-powered device. This could be a lightweight
message telling your app there is new data to be fetched from the server like new version
of apps or something like that.
The GCM service handles all aspects of storing, queuing and delivery of messages to the
target Android application running on the target device. It is a completely free service
whatever your messaging needs are [3].
GCM Architecture
1. First Android device sends sender id, application id to GCM server for registration.
2. Upon successful registration GCM server issues a registration id to android device.
3. After receiving registration id, device will send this id to our server.
4. Our server will store the registration id in the database for later use.
Campus News Feeds on Android Platform Page 23 of 63
Figure 3.3: GCM Architecture
PHCET Department of Computer Engineering
a) Whenever a notification is provided through the website, our server sends the
message to the GCM server along with the registered id.
b) GCM server will deliver that message to respected device using registration id.
Need of GCM
1. Client server architecture
GCM is used as it is a client server architecture which is the most commonly and
widely used architecture and is easy to implement.
2. Scalability & extensibility
Scalability implies the ability for the architecture to grow and accommodate
increasing numbers of users, applications, and systems. Scalability and Extensibility
refer to an application's ability to inherently support changes to the hardware and
software on which it depends.
3. Application does not need to be running
Application does not need to be running in the background for receiving data
messages. Even if the application is closed the user would be able to receive messages
but it is mandatory that the device must have an active internet connection.
4. Battery performance
GCM has a feature of collapsible messages; collapsible messages are a better choice
from a performance point of view, because they put less of a burden on the device
battery.
5. Simpler application flow
The application has a user friendly and standard flow of execution so that even the
novice user can also use the application easily.
6. Multicast message support
Using GCM we can send messages to a single or a group of android devices
simultaneously in a single transmission.
Campus News Feeds on Android Platform Page 24 of 63
PHCET Department of Computer Engineering
PHP
PHP is a server-side scripting language designed for web application development but
also used as a general purpose programming language. PHP is an acronym for PHP
Hypertext Preprocessor which is widely used open source scripting language. PHP scripts
are executed on the servers and are used for developing dynamic content. PHP costs
nothing, it is free to download and use. PHP runs on various platforms say Windows,
Linux, UNIX, MacOS etc. and are compatible with almost all servers used today. It
supports wide range of databases [5].
With websites becoming more and more dynamic and interactive, developers often look
to frameworks to help build websites and web apps rapidly. While there are a number of
great frameworks available, a custom framework gives you the ability to easily customize
the framework as you need, and to build with it even quicker - as you would already
know the ins and outs of it before working with it.
The main reason for taking language like PHP is because of the interaction with the
databases it offers. When someone visits the PHP webpage, the server processes the PHP
code. It then sees which part it needs to show to the visitors and which part to hide and
then translates the PHP into HTML. After the translation it sends the webpage to the
visitor’s web browser [5].
When creating any large computer-based system, be it a desktop application, a distributed
network system, or a web application there will always be architectural challenges
associated with its implementation. We have used number of design patterns as we create
our Framework, to ensure that we have a quality, flexible, robust and usable framework,
fit for any purpose.
Campus News Feeds on Android Platform Page 25 of 63
PHCET Department of Computer Engineering
MySQL
MySQL is a fast, easy-to-use RDBMS being used for many small and big businesses.
MySQL is developed, marketed, and supported by MySQL AB, which is a Swedish
company [8]. MySQL is becoming so popular because of many good reasons:
MySQL is released under an open-source license. So you have nothing to pay to
use it.
MySQL is a very powerful program in its own right. It handles a large subset of
the functionality of the most expensive and powerful database packages.
MySQL uses a standard form of the well-known SQL data language.
MySQL works on many operating systems and with many languages including
PHP, PERL, C, C++, JAVA, etc.
MySQL works very quickly and works well even with large data sets.
MySQL is very friendly to PHP, the most appreciated language for web
development.
MySQL supports large databases, up to 50 million rows or more in a table. The
default file size limit for a table is 4GB, but you can increase this (if your
operating system can handle it) to a theoretical limit of 8 million terabytes (TB).
PHP combined with MySQL are crossed platform i.e. you can develop in
windows and serve on a UNIX platform [8].
Creating MySQL Database
1. Open phpmyadmin panel by going to http://localhost/phpmyadmin and create a
database called gcm.
2. After creating the database, select the database and execute following query in SQL tab
to create gcm_users table.
CREATE TABLE IF NOT EXISTS `gcm_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`gcm_regid` text,
`name` varchar(50) NOT NULL,
`email` varchar(255) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
XAMPP
Campus News Feeds on Android Platform Page 26 of 63
PHCET Department of Computer Engineering
XAMPP is a free and open source cross-platform web server solution stack package,
consisting mainly of apache http server, MySQL database and interpreters for scripts
written in PHP. It is capable of serving dynamic web pages. There is little or no
configuration that is needed of various components and includes modules such as
OpenSSL and phpMyAdmin [10].
Etymology
X:”Cross” as in its mean to be read as cross-platform as it can run on many
operating systems.
A: Apache HTTP Server is the web server used to run the two programming
languages.
M: MySQL, RDBMS that provides multi-user access to no. of databases.
P: PHP for creation of dynamic web pages.
P: Perl, high level general purpose, interpreted dynamic programming language.
XAMPP is intended as a development tool to allow web designers and programmers to
test their work on their own computer without accessing the internet. It provides support
for creating and manipulating databases in MySQL.
Appendix A
Campus News Feeds on Android Platform Page 27 of 63
Figure 3.4: XAMPP
PHCET Department of Computer Engineering
Prerequisites: Google API
In the project we have used PHP as server side programming language and MySQL as
server side database. We have installed XAMPP server to install php, MySQL and
apache. Before implementing the project we need to consider some perquisites for
developing the database and registering through GCM [7].
Registering with Google Cloud Messaging
1. Go to Google APIs Console page and create a new project.
https://code.google.com/apis/console/
2. After creating project you can see the project id in the URL. Note down the project id
which will be used as SENDER ID in android project.
Enabling GCM service
1. In the main Google APIs Console page, select Services.
2. Turn the Google Cloud Messaging toggle to ON.
3. In terms of service page agree the terms.
4. After enabling the service, the API key is required. To obtain it:
Campus News Feeds on Android Platform Page 28 of 63
Figure No.3.5: Google API Console
Figure No.3.6: Enabling GCM Service
PHCET Department of Computer Engineering
5. In the main Google APIs Console page, select API Access. You will see a screen as
like:
6. Click Create new Server key. Note that either a server key or a browser key should
work. The advantage of using a server key is that it gives you more control on the IP
addresses that can access your app. Take note with the API key that is shown after that:
7. Up to this step, you have finished creation of the Google API project and toke a note
with the project number and the API key. For development, you’ll need to install the
helper libraries from the SDK manager as follow:
8. From the SDK Manager, install Extras > Google Cloud Messaging for Android
Library. This creates a gcm directory under YOUR_SDK_ROOT/extras/google/
Campus News Feeds on Android Platform Page 29 of 63
Figure No.3.7: Obtaining API key
Figure No.3.8: Creating Server Key
PHCET Department of Computer Engineering
containing these subdirectories: gcm- client, gcm-server, samples/gcm-demo-client,
samples/gcm-demo-server, and samples/gcm-demo-appengine
9. Now open your AVD Manager, install the Android Library and create a new Google
API emulator and start the emulator.
10. After installing the libraries and launching the emulator you can then use the
application and execute it successfully [7].
Campus News Feeds on Android Platform Page 30 of 63
Figure No.3.9: Installing libraries
PHCET Department of Computer Engineering
Appendix B
JSON
JSON or JavaScript Object Notation is a lightweight data-interchange format. It is easy
for humans to read and write. It is easy for machines to parse and generate. It is the most
widely used format for interchanging data on web. It is based on a subset of the
JavaScript Programming Language.
JSON is a text format that is completely language independent but uses conventions that
are familiar to programmers of the C-family of languages, including C, C++, C#, Java,
JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-
interchange language.
JSON is built on two structures:
• A collection of name/value pairs. In various languages, this is realized as an object,
record, struct, dictionary, hash table, keyed list, or associative array.
• An ordered list of values. In most languages, this is realized as an array, vector, list, or
sequence.
These are universal data structures. Virtually all modern programming languages support
them in one form or another. It makes sense that a data format that is interchangeable
with programming languages also be based on these structures.
In JSON, they take on these forms:
An object is an unordered set of name/value pairs. An object begins with { (left
brace) and ends with } (right brace). Each name is followed by: (colon) and the
name/value pairs are separated by, (comma).
An array is an ordered collection of values. An array begins with [ (left bracket)
and ends with ] (right bracket). Values are separated by, (comma).
A value can be a string in double quotes, or a number, or true or false or null, or
an object or an array. These structures can be nested.
Campus News Feeds on Android Platform Page 31 of 63
PHCET Department of Computer Engineering
Chapter 4
System Model and Block Diagram
Campus News Feeds on Android Platform Page 32 of 63
PHCET Department of Computer Engineering
4. System Model and Block Diagram4.1 System Architecture
The system architecture comprises of the conceptual design of the proposed system. It
consists of the various components to be developed and the interfaces between each
component. Each component and its implementation are described in detail below:
The System Model consists of the following components:
1. Web Application
The web application is created using ASP.NET. It would be an interface via which the
network administrator would be able to enter the information captured from various users.
The information would be then stored on the central database.
2. Database
This component would host the database which would store information that would be
captured from the users. The database would be hosted in a Microsoft SQL database and
accessed by the android application.
Campus News Feeds on Android Platform Page 33 of 63
Figure 4.1: System Model
PHCET Department of Computer Engineering
3. Android Application
This would be an application that would access the database over the local host and
retrieve summarized version of data captured on the database.
4.2 Functional Description
Figure 4.2: Functional Diagram
The exchange of information through CNF facilitates from management to principal &
from students to faculty in various courses within a department.
4.2.1 Modules included:
i. Student Section: To notify the students about the upcoming events and latest updates.
Inside the student section we include Notice board, Exam Cell Notice, Events and Yearly
Calendar.
Campus News Feeds on Android Platform Page 34 of 63
PHCET Department of Computer Engineering
ii. Exam Cell: It will consist of the important notices for the students and updates for the
faculty of Exam Cell. We include sub parts as Exam Announcements, Notices, Memos,
Database.
iii. Staff Section: To notify teachers about the lectures and to make the staff update the
student records. The staff section consists of In-time, Time-Table, Lectures Completed,
Assignments for students to be uploaded.
iv. Training and Placement: To notify students about the various campus placements,
information about various industries, eligibility criteria and registration of students.
4.2.2 Stepwise working of the modules.
Step 1: The various users like the principal, the placement cell the exam cell and the
faculty will provide their important information or notices to the network administrator.
Step 2: The network administrator would capture the information and update the web
application.
Step 3: The updated content will be stored in a database.
Step 4: The android app will then fetch the data from the database and the feeds on the
phone will be updated.
Step 5: The users retrieve the feeds and store or analyze them
Faculty use College Sync to help them efficiently use the Internet to exchange
disciplinary information and increase awareness of important developments.
This application contains content that is downloading real-time, based on inputs from the
user or developer. The maturity rating associated with this app covers any dynamic
information. Dynamic content is defined as any content that may change within the
application. Content can include animations, video or audio.
Campus News Feeds on Android Platform Page 35 of 63
PHCET Department of Computer Engineering
Chapter 5
Project Analysis
Campus News Feeds on Android Platform Page 36 of 63
PHCET Department of Computer Engineering
5. Project Analysis5.1 Use Case Diagram
The use case diagram shown below illustrates a unit of functionality provided by the
system. It helps to visualize the functional requirements of the system including the
relationship of the actors to essential processes, as well as the relationships among
different use cases. A use-case diagram is typically used to communicate the high-level
functions of the system and the system's scope. By looking at our use case diagram in
Figure 5.1, you can easily tell the functions that our example system provides.
Campus News Feeds on Android Platform Page 37 of 63
Figure 5.1: Use Case Diagram
PHCET Department of Computer Engineering
5.2 Sequential Diagram
The following sequence diagram shows the involvement of different participants and
components in managing the application. Sequence diagrams show a detailed flow for a
specific use case or even just part of a specific use case. They are almost self-explanatory;
they show the calls between the different objects in their sequence and can show, at a
detailed level, different calls to different objects.
Users (Students/Faculty)
Administrator Website Database Android Application
1: User registers through android device
2: user is registered and data stored in database
3: database accessed by Admin
4: admin gives access control
5: gives information to admin
6: updates the important info
7: stores in database
8: fetches/retrieves updates
9: gives summarized and newly updated information
Campus News Feeds on Android Platform Page 38 of 63
Figure 5.2: Sequential Diagram
PHCET Department of Computer Engineering
5.3 Activity Diagram
Activity diagrams show the procedural flow of control between two or more class objects
while processing an activity. Activities can be connected to other activities through
transition lines, or to decision points that connect to different activities guarded by
conditions of the decision point. Activities that terminate the modeled process are
connected to a termination point.
Campus News Feeds on Android Platform Page 39 of 63
Figure 5.3: Activity Diagram
PHCET Department of Computer Engineering
Chapter 6
Project Design
Campus News Feeds on Android Platform Page 40 of 63
PHCET Department of Computer Engineering
6. Project Design6.1 Dataflow Diagrams
We can describe the Data Flow for many modules of the project. Here in this section we
discuss the Data Flow Diagram for the student to access the resources using the
application. Resource is the process in this case.
Level 0:
Level 1:
Campus News Feeds on Android Platform Page 41 of 63
Figure 6.1 Level Zero DFD
Figure 6.2: Level One DFD
PHCET Department of Computer Engineering
6.2 Class Diagram
Class diagrams are used in both the analysis and the design phases. The class diagram
created after the design phase has detailed implementation information, including the
class names, the methods, the attributes of the classes, and the relationships among
classes.
CulturalnamelocationC_dateC_time
provide_info()
Sportslocationtimedate
provide_sports_info()
TeachersTeacher_idT_Name
install app()provide assignments()
Exam_cellFloor
Give Exam_timetable()provide marksheets()
Events_TabEvent_idEvent_NameEvent_Loc
provide_event_info()
Exams_tabExam_semesterExam_dateexam_time
provide_exam_info()
WebsiteSite_idSite_URL
provide_updates()
AdminAdmin_id
update website()enroll students()add techers_id()add departments()
provide update provide update
updates website
hashas
Enrolls
push notifications
Studentsstud_usernamestud_mob_numstud_deptstud_year
install_app()check_updates()
Android ApplicationApp_NameApp_API_Level
retrieve_update()provide_info()
checks the updates
*
1
*
1
1
1
1 *
1 *
1
1
1
1
1
1
hashas
Campus News Feeds on Android Platform Page 42 of 63
Figure 6.3: Class diagram
PHCET Department of Computer Engineering
6.3 Component Diagram
A component diagram provides a physical view of the system. Its purpose is to show the
dependencies that the software has on the other software components in the system. This
diagram shows interdependencies of various software components of the system.
Android Application
Registration
Log in
Feeds Downloads
About Us
Contact Us
Main Screen
Website
Registered_Users
Administrator
Maintain Event Updates
Provide information
Server
Database
Push Process
Access DatabaseDatabase
Campus News Feeds on Android Platform Page 43 of 63
Figure .6.4: Component diagram
PHCET Department of Computer Engineering
6.4 Deployment Diagram
The deployment diagram shows how a system will be physically deployed in the
hardware environment. Its purpose is to show where the different components of the
system will physically run and how they will communicate with each other.
Web Server
Application Server Database Server
Android App
Web Site
MySQLgcm.jar
android_support.jar
Campus News Feeds on Android Platform Page 44 of 63
Figure 6.5: Deployment diagram
PHCET Department of Computer Engineering
Chapter 7
Testing
Campus News Feeds on Android Platform Page 45 of 63
PHCET Department of Computer Engineering
7. Testing7.1 Testing Objectives:
Testing is a process of executing a program with the intent of finding an error. A good
test case is the one that has high probability of finding an undiscovered error. A
successful test is the one that uncovers most of the undiscovered error.
All fields must work properly
Pages must be activated from the identified link or tab.
The main screen, messages and responses must be displayed.
7.2 Testing Principles:
All test cases should be traceable to the customer requirements.
Tests should be planned long before the testing begins.
Exhaustive testing is not possible.
To be most effective testing should be conducted by an independent third party.
7.3 Testability:
Operability: - The better it works the more efficiently it can be tested.
Controllability: - The better you control the better it can be optimized.
Decomposability: -By decomposing we can quickly isolate problems and perform testing.
Stability: -The fewer changes the fewer disruptions to testing.
Simplicity- The less there is to test the more quickly we can test it.
Understandability- The more information we have, the smarter the test.
Campus News Feeds on Android Platform Page 46 of 63
PHCET Department of Computer Engineering
7.4 Test Cases
The project after implementation is tested and each occurrence while testing the
application is illustrated in the table below. These test cases facilitated to discover the
undiscovered errors and proved useful to improve the system.
Table 7.1.Test Cases
Test Case
No.
Test Cases Input Output Expected
Output
1. Administrator
a) View feeds
Click on icon List of feeds. Display the list
of feeds.
b) Send
notifications to
all users.
User id and
notification of an
event
Alert Message Display
notification
c) Sending
notification to
particular
student.
File or message
typed in the
individual’s
message box.
Notification
sent and
received by the
particular
student
Notification
sent and
received by the
particular
student
2. Student
a) Registers
Fill the details Cannot contact
GCM server
Device
registered
successfully
b) Login Username;
password
Login success Login success
c) Downloads Click on icon to
download
Download
begin
Download
begin
3. Teachers
Notifications from
principle regarding
meetings.
Click on the
notification
Details
displayed with
some text
missing
All the details
displayed with
date and time.
4. Guest
a) View college
information,
Contact details.
Click on icon Information
about related
fields
Information
displayed.
Campus News Feeds on Android Platform Page 47 of 63
PHCET Department of Computer Engineering
7.5 Results and Discussion
The application retrieves data from a database per user request and displays the retrieved
information on an android device. Therefore, the users get summarized and up-to-date
information. Users of this application would be able to analyze data faster hence make
quick decisions as they would not be drowned in a flood of detailed information. The
users can even store the update in offline mode to read later in their own time.
CNF increases the accuracy of information you get the fineness and correctness in the
data. It is cost effective as it reduces the cost of printing and punching the notices. It is
portable and easily accessible. The view of the articles in it is far better than the web
version.
In CNF the specific user would be able to view only specific data i.e. data intended to be
seen by that particular user. The staff information would be intended only for staff as each
and every user will be provided with a login id. Therefore, authentication will be done
and the user’s authorization can be set accordingly.
The particular user would be able to know that his or her provided information is updated
or not, the time and date of updating the data, and name of the admin who has updated it.
Campus News Feeds on Android Platform Page 48 of 63
PHCET Department of Computer Engineering
RESULTS
You need to launch the emulator and press Menu button then go to Settings. Select
Accounts & Sync, then press Add Account button and add a Google account.
Campus News Feeds on Android Platform Page 49 of 63
Figure 7.1: Adding Google account
PHCET Department of Computer Engineering
After adding the Google account, launch the apk of the application and then the user need
to register into the application.
Upon successful registration the user will be given a registration id through which the
user can sign in into the application to receive the feeds.
Campus News Feeds on Android Platform Page 50 of 63
Figure 7.3: Registering to the application
Figure 7.2: Launching the application
PHCET Department of Computer Engineering
The numbered of registered users will be shown on the server side i.e. on the website.
These users or this registration activity will be stored in the data base in MySQL.
Campus News Feeds on Android Platform Page 51 of 63
Figure 7.4: PHP User Interface
Figure 7.5: MySQL Database
GCM registration id
5
PHCET Department of Computer Engineering
The admin will then send notification to the application/users through the designed PHP
website. These notifications will be pushed on to the Google Cloud Messenger, the web
service used to push the notification to the intended users. GCM will handle queuing of
messages and delivery to the target application running on the target device.
The user then needs to log in into the application using the Mobile number and the
password provided by him at the time of registration. When the user logs into the
application successfully he will get the tabs like timetable download, feeds events etc.
Campus News Feeds on Android Platform Page 52 of 63
Figure 7.7: Student Login
Figure 7.6: GCM Database
PHCET Department of Computer Engineering
The user can then choose his or her criteria to receive particular feeds. Choosing the
specific criteria gives the user the detailed view of information.
These feeds are received by the registered users on their Android device through the
application. When the user logs in into the app or when the app is online the users will
receive the notification.
Campus News Feeds on Android Platform Page 53 of 63
Figure 7.8: Feeds in the application
Figure 7.9: Notifications received
PHCET Department of Computer Engineering
On clicking the timetable tab the students can download the timetable to read it later in
offline mode. Apart from timetable the students can also download assignments, forms,
attendance records, placement information, exam timetable etc.
The next section consists of the staff login and the activities for staff where the staff can
get information about the meetings arranged, conference venues and many more.
Campus News Feeds on Android Platform Page 54 of 63
Figure 7.10: Downloading Timetable
Figure 7.11: Staff Section
PHCET Department of Computer Engineering
By tapping on the Check Feeds option the staff section will display the different feed list.
The feed list option contains the detailed information about the particular notification
which can be displayed after selecting that specific feed.
Campus News Feeds on Android Platform Page 55 of 63
Figure 7.12: Staff Feeds
PHCET Department of Computer Engineering
Chapter 8
Conclusion
Campus News Feeds on Android Platform Page 56 of 63
PHCET Department of Computer Engineering
8. ConclusionCollege Sync flips things around a little and is a technology that provides you with a
method of getting relevant and up to date information sent to you for you to read in your
own time. It saves you time and helps you to get the information you want quickly after it
was published.
It’s like subscribing to a magazine that is delivered to you periodically but instead of it
coming in your physical mail box each month when the magazine is published it is
delivered to your ‘College Sync in touch ANDROID App every time the college website
updates. This App has the prospective to create a stronger connection between knowledge
creations with individual learning.
We believe that there is room in the current landscape of the Web for this kind of App as
it allows upgrading existing Web portals with minimal effort and that our passionate users
will effectively make use of this application to make it sustainable in a long run.
Campus News Feeds on Android Platform Page 57 of 63
PHCET Department of Computer Engineering
Advantages
Time redemptive
CNF application provide ubiquity to the users which saves the precious time for
the users and administration and makes the office timings constraints redundant
for the students using the application, this is due to the automation of everything
and the fact that there is no human intervention.
Cost Effective
This project is cost effective as it reduces paper work, the technologies used i.e.
GCM, PHP, XAMPP and Android are free and easily available.
Portable and easily accessible.
The user, can access the application anywhere throughout the campus thus
proving mobility and useful at all times and at all places. In essence, CNF brings
the information to the users by bringing the user to the information.
Untutored Access
Simple and convenient to use: the user interface in CNF is simple and very user
friendly. The user can easily navigate through the application without any
hindrance thus providing user satisfaction.
Accuracy of Information
CNF increases accuracy in information as we get fineness of detailed information.
There is no error in updating and reception of information.
Limitations
Campus News Feeds on Android Platform Page 58 of 63
PHCET Department of Computer Engineering
Memory Management
Android applications at times are device specific. Most important is memory
management. The CNF application richness in its user interfaces which can take
up a considerable amount of memory. Thus the biggest challenge is to develop the
application giving a rich feel and at the same time having memory optimization.
One of the ways we can attain this is by converting some PNG images into JPEG
format which reduces the image size by nearly 70 to 80 percent.
Network failure
Not all networks have full coverage and some locations may be protected for
electromagnetic radiation, therefore not all users may be capable of getting a
signal.
Limited number of android users
Not all users may have a smart phone. Therefore it may be a while before the
target audience for the application widens.
8.1 Future Scope
Campus News Feeds on Android Platform Page 59 of 63
PHCET Department of Computer Engineering
This project can be implemented from intranet to internet environment. To make campus
life easy, many useful functionalities can be added in future such as payment option i.e.
payment of fees by mobile banking, which is a rapidly emerging technology than any
other computing platform. We can also use the College Sync App to share and discuss the
student’s progress with their parent and can add the functionality of automated attendance
system. Thus, this project has a huge scope to develop or add new functionalities as
Android are a truly open source, free development platform.
Campus News Feeds on Android Platform Page 60 of 63
PHCET Department of Computer Engineering
Chapter 9
References
References
Campus News Feeds on Android Platform Page 61 of 63
PHCET Department of Computer Engineering
[1] IEEE Paper: Seth Y. Fiawoo and Robert Sowah of S.Y. Dept. of Computer.
Engineering, University of Ghana “Design and development of an Android
application to process and display summarized corporate data” in IEEE 4 th
international conference of Adaptive Science & Technology.Year:2012
[2] Online Available: http://developer.android.com/index.html
[3] Online Available: www.androidhive.info/2012/android-push-notifications-using-
cloud-messaging-gcm-php-and-mysql/
[4] Online Available: http://developer.android.com/google/gcm/
[5] Online Available: http://www.php.net/manual/
[7] Online Available: https://code.google.com/apis/console
[8] Online Available: http://www.mysql.com/
[9] Online Available: http://tutorialspoint.com/android/android_architecture.htm
[10] Online Available: http://en.wikipedia.org/wiki/XAMPP
Appendix
Campus News Feeds on Android Platform Page 62 of 63
PHCET Department of Computer Engineering
Appendix A Prerequisites: Google API 22
Appendix B JSON 25
Campus News Feeds on Android Platform Page 63 of 63