campus news feed

86
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. Patil Noopur M. Koli Under the guidance of Mr. Swapnil Waghmare Campus News Feeds on Android Platform Page 1 of 86

Upload: noopur-koli

Post on 23-Jan-2017

181 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Campus news feed

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

Page 2: Campus news feed

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

Page 3: Campus news feed

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

Page 4: Campus news feed

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

Page 5: Campus news feed

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

Page 6: Campus news feed

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

Page 7: Campus news feed

PHCET Department of Computer Engineering

Chapter 1

Introduction

Campus News Feeds on Android Platform Page 7 of 63

Page 8: Campus news feed

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

Page 9: Campus news feed

PHCET Department of Computer Engineering

Chapter 2

Literature Survey

Campus News Feeds on Android Platform Page 9 of 63

Page 10: Campus news feed

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

Page 11: Campus news feed

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

Page 12: Campus news feed

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

Page 13: Campus news feed

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

Page 14: Campus news feed

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

Page 15: Campus news feed

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

Page 16: Campus news feed

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

Page 17: Campus news feed

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

Page 18: Campus news feed

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

Page 19: Campus news feed

PHCET Department of Computer Engineering

Chapter 3

Requirement Gathering

Campus News Feeds on Android Platform Page 19 of 63

Page 20: Campus news feed

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

Page 21: Campus news feed

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.

Page 22: Campus news feed

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

Page 23: Campus news feed

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

Page 24: Campus news feed

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

Page 25: Campus news feed

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

Page 26: Campus news feed

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

Page 27: Campus news feed

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

Page 28: Campus news feed

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

Page 29: Campus news feed

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

Page 30: Campus news feed

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

Page 31: Campus news feed

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

Page 32: Campus news feed

PHCET Department of Computer Engineering

Chapter 4

System Model and Block Diagram

Campus News Feeds on Android Platform Page 32 of 63

Page 33: Campus news feed

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

Page 34: Campus news feed

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

Page 35: Campus news feed

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

Page 36: Campus news feed

PHCET Department of Computer Engineering

Chapter 5

Project Analysis

Campus News Feeds on Android Platform Page 36 of 63

Page 37: Campus news feed

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

Page 38: Campus news feed

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

Page 39: Campus news feed

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

Page 40: Campus news feed

PHCET Department of Computer Engineering

Chapter 6

Project Design

Campus News Feeds on Android Platform Page 40 of 63

Page 41: Campus news feed

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

Page 42: Campus news feed

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

Page 43: Campus news feed

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

Page 44: Campus news feed

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

Page 45: Campus news feed

PHCET Department of Computer Engineering

Chapter 7

Testing

Campus News Feeds on Android Platform Page 45 of 63

Page 46: Campus news feed

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

Page 47: Campus news feed

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

Page 48: Campus news feed

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

Page 49: Campus news feed

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

Page 50: Campus news feed

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

Page 51: Campus news feed

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

Page 52: Campus news feed

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

Page 53: Campus news feed

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

Page 54: Campus news feed

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

Page 55: Campus news feed

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

Page 56: Campus news feed

PHCET Department of Computer Engineering

Chapter 8

Conclusion

Campus News Feeds on Android Platform Page 56 of 63

Page 57: Campus news feed

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

Page 58: Campus news feed

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

Page 59: Campus news feed

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

Page 60: Campus news feed

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

Page 61: Campus news feed

PHCET Department of Computer Engineering

Chapter 9

References

References

Campus News Feeds on Android Platform Page 61 of 63

Page 62: Campus news feed

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

Page 63: Campus news feed

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