63
[1] ACKNOWLEDGEMENT We thank the management of K. C. College of Engineering our Principal and the staff of the Information Technology Department, for motivating us to think beyond books and imbibing in us the attitude and aptitude to implement what we have studied thus far to make us aware with some of the real world challenges. We would like to convey our heartfelt gratitude to our Head of Department Prof. Aarti Bakshi and our project guide Prof. Varsha Wangikar, for inspiring us to take up this project. Their valuable guidance and timely support, without which, we would have never been able to complete the project, cannot be forgotten. We would like to thank Prof. Varsha Wangikar for providing immense support to us and imbibing us with knowledge about the Android based applications. Finally, we would like to express our gratitude for the faculty members of Information Technology Department of K. C. College of Engineering and thank them for their co-operation and timely assistance. Finally, we would like to thank our parents for their moral support. Dhruvil S. Dhulia Harshal J. Nandgaonkar Santosh S. Patel

Campus news information system - Android

Embed Size (px)

DESCRIPTION

This is android project for campus news to your smart phones easily from any where

Citation preview

Page 1: Campus news information system - Android

[1]

ACKNOWLEDGEMENT

We thank the management of K. C. College of Engineering our Principal and the staff of the

Information Technology Department, for motivating us to think beyond books and imbibing in

us the attitude and aptitude to implement what we have studied thus far to make us aware with

some of the real world challenges.

We would like to convey our heartfelt gratitude to our Head of Department Prof. Aarti Bakshi

and our project guide Prof. Varsha Wangikar, for inspiring us to take up this project. Their

valuable guidance and timely support, without which, we would have never been able to

complete the project, cannot be forgotten. We would like to thank Prof. Varsha Wangikar for

providing immense support to us and imbibing us with knowledge about the Android based

applications.

Finally, we would like to express our gratitude for the faculty members of Information

Technology Department of K. C. College of Engineering and thank them for their co-operation

and timely assistance. Finally, we would like to thank our parents for their moral support.

Dhruvil S. Dhulia

Harshal J. Nandgaonkar

Santosh S. Patel

Page 2: Campus news information system - Android

[2]

INDEX

SR.NO. CONTENTS PAGE NO.

Acknowledgement I

List of figures IV

Abstract

V

1. Project Overview 6

1.1 Introduction 7

1.2 Scope & Objective 9

2. Project Analysis 11

2.1 Problem Statement 12

2.2 Literature Survey 14

2.3 Methodology used 15

2.4 Cost Estimation 19

2.5 Gantt Chart (Month wise) 20

2.6 Responsibility Matrix 23

2.7 Data Flow Diagram 24

3. Project Design 25

3.1 Block Diagram 26

3.2 Sequence Diagram 27

3.4 Interface design 29

4. Implementation 30

4.1 Hardware Requirement & software Requirement 31

4.2 Experimental setup 32

4.3 Coding 33

4.4 Testing 44

4.4.1 Different test cases 45

5. Result 47

5.1 Snap Shots of Project 48

6. Advantages of Project 57

7. Conclusion & Future Scope 59

7.1 Conclusion 60

7.2 Further Scope 61

8 References 63

Page 3: Campus news information system - Android

[3]

List of Acronyms

• IEEE: Institute of Electrical And Electronics Engineers.

• DSL: Digital Subscriber Line.

• API: Application Programming Interface.

• Opengl: Open Graphics Library.

• HTTP: Hypertext Transfer Protocol.( Wireless Fidelity).

• GSM: The Global System For Mobile Communications (GSM).

• CDMA: Code Division Multiple Access.

• EV-DO: Enhanced Voice-Data Optimized or Enhanced Voice-Data Only(Ev-DO, EV,

EVDO Etc.).

• PHP : Hypertext Preprocessor.

• QBE: Query By Example.

• CSV: Common Service Interface.

Page 4: Campus news information system - Android

[4]

LIST OF FIGURES

SR.NO. FIGURES NAME

PAGE NO.

1 Architecture of Android 8

2 Current scenario of android market 12

3 Gantt chart 1 20

4 Gantt chart 2 21

5 Gantt chart 3 22

6 Level zero DFD 24

7 Level one DFD 24

8 Block Diagram 26

9 Sequence Diagram 1 27

10 Sequence Diagram 2 27

11 Sequence Diagram 3 28

12 Interface Diagram 29

13 Administrator Login 48

14 Administrator Tab 48

15 Student Login 49

16 Student Tab 49

17 Download List database 50

18 Files directory 50

19 Apply course 51

20 Course database 51

21 View history 52

22 Transfer File 52

23 Admin notification 53

24 Student notification 53

25 Guest Tab 54

26 View course Tab 54

27 Events Tab 55

28 Alumni Tab 55

29 Images Tab 56

Page 5: Campus news information system - Android

[5]

ABSTRACT

Through this report, we introduce a novel approach to sharing information between students,

lecturers and the administration in order to enhance quality of information in campus

environment. We describe a network for distributing campus information among lecturers and

students. The concept of developing campus information is to ensure that student can access

information at any time, at any locations and ad-hoc basic. Information System helps the

students and lecturers on campus to find and access information based on ad-hoc basic, which is

of interest and relevant to students or lecturers through a smart phone. We will develop an

Android application thereby providing a collaborative communication system within the campus

aiding everyone participating in it. This will create a ubiquitous environment throughout the

campus making it a very positive and exciting experience for all the participants.

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.

In this project we present a thorough model that we seek to design Campus News Information

System as an Android application.

Page 6: Campus news information system - Android

[6]

PROJECT OVERVIEW

Page 7: Campus news information system - Android

[7]

1.1 INTRODUCTION

India has the fastest growing telecom network in the world with many users moving towards

Smart Phones and majority by students. Other than India all over the world has boom in mobile

with many applications that are useful in day today life such as games apps, video calls,

photograph apps, Shopping Apps, easy search options etc

We introduce a novel approach to share information via an Android application between students

and lecturers in order to enhance quality of information in campus environment via HTTP

technology. We describe a network for distributing campus information among lecturers and

students. The concept of developing campus information via HTTP technology is to ensure that

student can access information at any time, within campus. Information System helps the

students and lecturers on campus to find and access information based on ad-hoc basic, which is

of interest and relevant to students or lecturers, they only need an Android-based smart phone.

The CNIS model will use a Semantic Mobile Environment. The architecture of the CNIS will

consist of three components: a web application as the user frontend, a server application in the

middle and a freely scalable number of service nodes for delivering the information to the mobile

devices.

Android is Open Google mobile platform which provide greater flexibility, Rapid Application

Development and Easy to Develop User Inteface with rich api collection. It is mixture of c,c++

and java.

Page 8: Campus news information system - Android

[8]

Figure 1: Architecture of Android

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 include SQLite, Web Kit, OpenGL, media manager, Free type and SGL,

SurfaceManager 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 bytecode

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 contain

all application which interact with user.

Page 9: Campus news information system - Android

[9]

1.2 SCOPE

Android being a relatively new technology, the future scope in the project is immense.

Scalability would be the biggest scope. The application can be made available off campus as well

whereby only certain services would be made available to the user. Information security plays a

vital role in the system work model for ensuring confidentiality and integrity, smooth functioning

and reduced misuse of the system. Advanced security features can be employed for enhanced

functioning of the application.

As of for now, the project will enable the college student to download the study material such as

question bank, assignment questions, tutorials etc. But in the near future, if the lecturer or the

professor is not able to take lectures for a long duration, then the lecturer can make a video of the

lecture from his workplace and give it to the administrator to upload it on the server, and the

corresponding link will be send to the students. Thus the process of e-learning can be

incorporated with the CNIS project in the future to provide a robust learning system with the

CNIS being a communication system or bridging the gap for a better learning experience.

Being a relatively new idea in India, we can even go commercial with the idea and provide

numerous campuses with the application.

Page 10: Campus news information system - Android

[10]

1.3 OBJEVTIVE

Ubiquity across an enterprise or campus is a very positive and exciting experience for the

students, faculty, staff and visitors to the institution. Having instant access to email, the internet,

and other IT services irrespective of location can dramatically change the way your constituents

live, work, study, learn, and play. Thus with CNIS we provide a ubiquitous environment across

the campus wherein it will serve as a collaborative communicative system.

Our concept of developing a campus information system seeks to answer these questions in a

personalized way, at any time, at any location. The idea is to enable the user to find and access

all information that is of relevance to him. All he needs is a smart phone which enables the

execution of an android application. All used techniques are in themselves not new or unique,

but the combination of instant messaging. On top of that, the system based on a platform made

purely for research is in the stage of evolving into a product and is even now being utilized as a

public service on-campus. There is also an approach to use mobile devices for interaction during

classroom teaching. Altogether we find a situation on Campus, where students use their mobile

device for learning and interacting.

Page 11: Campus news information system - Android

[11]

PROJECT Analysis

Page 12: Campus news information system - Android

[12]

2.1 PROBLEM STATEMENT

India is the fastest growing telecom network in the world with many users moving towards

Smart Phones and majority among them being youngsters and students. Other than India all over

the world has boom in mobile with many applications that are useful in day today life such as

games apps, video calls, photograph apps, Shopping Apps, easy search options etc. Now a day’s

mobile is not just for communication purpose but also used for doing number of work using

single application within one phone. People just use mobile applications to complete their work

faster, efficiently, effectively.

Figure 2: Scenario of Android Market

These types of application are provided by many companies like Nokia with windows

application, Apples Mac OS and largest selling Samsung Android phone has covered the entire

mobile market.

Today all Mobile devices are inbuilt with Bluetooth device. The University of Koblenz campus:

in a series of projects in 2010, they developed “Living Books”, personalized, intelligent teaching

material, which is also available for PDAs and smart mobile phones. There was also an approach

to use mobile devices for interaction during classroom teaching.But the problem with the concept

Page 13: Campus news information system - Android

[13]

of Living Books was that they used the Bluetooth technology. The Bluetooth technology has the

following problems:

One of the things that may cause conflicts for Bluetooth is that it uses the same frequency as the

Wavelength standard.

Another problem for Bluetooth is when there are a number of mobile devices in the same room,

and possibly attempting the same operation. Since Bluetooth is Omni-directional, it encounters

problems in discovering the intended recipient device. Bluetooth devices must perform a

discovery operation that will likely find many other devices in the same room. At this point, the

user must choose the proposed recipient, which will require special information.

Furthermore, Bluetooth has so many security mechanisms that it would have to carry out in

order to prevent eavesdropping.

Using Bluetooth, inbuilt application and new application cannot be used in efficient manner, so

we have to enlarge our scope from Bluetooth to HTTP or GSM which is much, highly effective

in use.

Solution to the above problem:

In this project we present a thorough model that we seek to design Campus News Information

System as an Android application.

Using Android technology to develop this application, the drawbacks of Bluetooth are overcome

and also the purpose of ubiquity is kept alive. Creating an android application for this purpose

will have the following advantages:

GSM, EDGE, CDMA, Bluetooth, HTTP, EV-DO and UMTS technologies to send/receive data

across mobile networks.

A wide range of libraries for image, audio and video files.

Export and signing app for publishing, SQLite for data storage.

Page 14: Campus news information system - Android

[14]

2.2 LITERATURE SURVEY

The University of Koblenz campus: in a series of projects in 2010, they developed “Living

Books”, personalized, intelligent teaching material, which is also available for PDAs and smart

mobile phones. There was also an approach to use mobile devices for interaction during

classroom teaching.

But the problem with the concept of Living Books was that they used the Bluetooth technology.

The Bluetooth technology has the following problems:

One of the things that may cause conflicts for Bluetooth is that it uses the same frequency as the

Wavelength standard.

Another problem for Bluetooth is when there are a number of mobile devices in the same room,

and possibly attempting the same operation. Since Bluetooth is Omni-directional, it encounters

problems in discovering the intended recipient device. Bluetooth devices must perform a

discovery operation that will likely find many other devices in the same room. At this point, the

user must choose the proposed recipient, which will require special information.

Furthermore, Bluetooth has so many security mechanisms that it would have to carry out in

order to prevent eavesdropping.

Page 15: Campus news information system - Android

[15]

2.3 MEHTODOLOGY USED

Campus news information system design mainly focused on two sections

The tool we have used is : Eclipse IDE

Technology used: HTTP based

Programming used: Android Programming.

1) ANDROID SDK

The Android SDK provides you the API libraries and

developer tools necessary to build, test, and debug apps

for Android.

If you're a new Android developer, we recommend you

download the ADT Bundle to quickly start developing

apps. It includes the essential Android SDK components

and a version of the Eclipse IDE with built-in ADT

(Android Developer Tools) to streamline your Android app development.

With a single download, the ADT Bundle includes everything you need to begin developing

apps:

• Eclipse + ADT plugin

• Android SDK Tools

• Android Platform-tools

• The latest Android platform

• The latest Android system image for the emulator

• HyperNext Android Creator

• RFO Basic

• Android APIMiner

Page 16: Campus news information system - Android

[16]

2) phpMyAdmin

phpMyAdmin is a free software tool written

in PHP, intended to handle the administration

of MySQL over the World Wide Web.

phpMyAdmin supports a wide range of

operations with MySQL. The most frequently

used operations are supported by the user

interface (managing databases, tables, fields,

relations, indexes, users, permissions, etc), while you still have the ability to directly execute any

SQL statement.

Features

Intuitive web interface

Support for most MySQL features:

browse and drop databases, tables, views, fields and indexes

create, copy, drop, rename and alter databases, tables, fields and indexes

maintenance server, databases and tables, with proposals on server configuration

execute, edit and bookmark any SQL-statement, even batch-queries

manage MySQL users and privileges

manage stored procedures and triggers

Import data from CSV and SQL

Export data to various formats: CSV, SQL, XML, PDF, ISO/IEC 26300 - OpenDocument Text

and Spreadsheet, Word, LATEX and others

Administering multiple servers

Creating PDF graphics of your database layout

Creating complex queries using Query-by-example (QBE)

Searching globally in a database or a subset of it

Transforming stored data into any format using a set of predefined functions, like displaying

BLOB-data as image or download-lin

Page 17: Campus news information system - Android

[17]

Components of Anroid Programming used in CNIS

Shared Preferences:

Interface for accessing and modifying preference data returned by getSharedPreferences(String,

int). For any particular set of preferences, there is a single instance of this class that all clients

share. Modifications to the preferences must go through a SharedPreferences.Editor object to

ensure the preference values remain in a consistent state and control when they are committed to

storage.

Notification manager :

Each of the notify methods takes an int id parameter and optionally a String tag parameter, which

may be null. These parameters are used to form a pair (tag, id), or (null, id) if tag is unspecified.

This pair identifies this notification from your app to the system, so that pair should be unique

within your app. If you call one of the notify methods with a (tag, id) pair that is currently active

and a new set of notification parameters, it will be updated

Activity :

With the use of this components of android and HTTP we will connect real time device with

campus server.

android.database.sqlite:-

Contains the SQLite database management classes that an application would use to manage its

own private database.

Applications use these classes to manage private databases. If creating a content provider, you

will probably have to use these classes to create and manage your own database to store content.

See Content Providers to learn the conventions for implementing a content provider. See the

NotePadProvider class in the NotePad sample application in the SDK for an example of a

content provider. Android ships with SQLite version 3.4.0

If you are working with data sent to you by a provider, you will not use these SQLite classes, but

instead use the generic android.database classes.

Android ships with the sqlite3 database tool in the tools/ folder. You can use this tool to browse

or run SQL commands on the device. Run by typing sqlite3 in a shell window.

Page 18: Campus news information system - Android

[18]

HTTP

Most network-connected Android apps use HTTP to send and receive data. Android includes two

HTTP clients: HttpURLConnection and Apache HttpClient. Both support HTTPS, streaming

uploads and downloads, configurable timeouts, IPv6, and connection pooling. We recommend

using HttpURLConnection for applications targeted at Gingerbread and higher. For more

discussion of this topic, see the blog post Android's HTTP Clients.

Page 19: Campus news information system - Android

[19]

2.4 COST ESTIMATION

COCOMO (Constructive Cost Model):

We will be using basic COCOMO as the cost estimation model for quick, early and rough order

of magnitude estimates of software costs. COCOMO uses 3 levels of project complexity:

1. Organic project

2. Semi-detached project

3. Embedded project

CNIS can be classified as a semi-detached mode project.

The equations in this model are: E = ab(KLOC)bb

D = Cb(E)db

P = E / D

Where E is the effort applied in person-months,

D is the development time in chronological months.

KLOC is the kilo-lines of code

The coefficients ab,bb,cb,db for semi detached mode are as follows:

ab = 3.0

bb = 1.12

cb = 2.5

db = 0.35

Now, we assume that the estimated kilo-lines of code in CNIS is 4 KLOC.

Effort Estimation:

E = 3.0 x (4)1.12

= 14.53

= 15 person-months approx.

Duration estimation:

D = 2.5 x (15)0.35

= 6.45

= 7 months approx.

Persons Estimation:

P = 15 / 7

= 2.24

= 3 persons approx.

Page 20: Campus news information system - Android

[20]

2.5 GANTT CHART (MONTH WISE)

Page 21: Campus news information system - Android

[21]

Page 22: Campus news information system - Android

[22]

Page 23: Campus news information system - Android

[23]

2.6 RESPONSIBILITY MATRIX

Table no:1 Responsibility Matrix

Activity Dhruvil Dhulia Santosh Patel Harshal

Nandgaonkar

Defining Project

goal

S N P

Feasibility Study P

Project Charter S S

Plan project P

Analysis P

Risk

management

P S

Gui design P S

Database design P

System design P

Implementation P S N

Testing P

Final reports and

presentation

S S

Evaluate Project P

Resposibility Code:-

P:- Primary Resposibility

S:-Secondary Responsibility

N:-Must be Notified

Page 24: Campus news information system - Android

[24]

2.7 Data Flow Diagram:

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:

Figure 3: level zero DFD

Level 1:

Figure 4: level one DFD

Page 25: Campus news information system - Android

[25]

PROJECT design

Page 26: Campus news information system - Android

[26]

3.1 BLOCK DIAGRAMS

Figure 5: Block diagram

The architecture of the CNIS will consist of three components:

a web application as the user frontend,

a server application in the middle and

a freely scalable number of service nodes for delivering the information to the mobile devices

Page 27: Campus news information system - Android

[27]

3.2 SEQUENCE DIAGRAMS

Figure 6: Sequence Diagram 1

Figure 7: Sequence Diagram 2

Page 28: Campus news information system - Android

[28]

Figure 8: Sequence diagram 3

Page 29: Campus news information system - Android

[29]

3.3 INTERFACE DIAGRAM

Figure 10 : Interface Diagram

Page 30: Campus news information system - Android

[30]

implementation

Page 31: Campus news information system - Android

[31]

4 Implementation

4.1 HARDWARE AND SOFTWARE REQUIREMENT

Hardware Interface

Server side

o Processor : Pentium 4 with 2.3 GHz or higher

o RAM : 1Gb or more

o Hard disk : 100Gb or more

Clients:

o 32MB RAM

o 32MN Flash Memory

o 200MHz Online Processor

Software Interface

Server side

o Xammp Server

o My SQL(PHP MyAdmin)

o Android SDK API level 10(2.3 Ginger Bread)

Client side :

o Eclipse IDE

Operating Environment

Android is a software stack for mobile devices that includes an operating system, middleware

and key applications. The Android SDK provides the tools and APIs necessary to begin

developing applications on the Android platform using the Java programming language.

Page 32: Campus news information system - Android

[32]

4.2 EXPERIMENTAL SETUP

Steps to run CNIS application:-

1) First Download Eclipce indigo, create android environment in eclipse by installing Android SDK

and different API Level available for android.

2) After developing CNIS Application run as Android Application. It start CNIS Application on

Emulator

3) Then connect Android device to computer via USB and Run program as Android Application it

will load Apk file of CNIS Application on device

4) Connect Android device with wifi to get connection with server and administrator.

Page 33: Campus news information system - Android

[33]

4.3 CODING

Admistration.java

package com.cnis;

import java.io.ByteArrayOutputStream;

import java.io.InputStream;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.ProgressDialog;

import android.content.DialogInterface;

import android.content.Intent;

import android.graphics.Color;

import android.net.Uri;

import android.os.Bundle;

import android.view.ContextMenu;

import android.view.ContextMenu.ContextMenuInfo;

import android.view.Gravity;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup.LayoutParams;

import android.view.Window;

import android.view.WindowManager;

import android.widget.ListView;

import android.widget.TableLayout;

import android.widget.TableRow;

import android.widget.TextView;

import android.widget.Toast;

public class Administrators extends Activity implements CampusNewsISConstants,Runnable{

Page 34: Campus news information system - Android

[34]

private ListView listView;

private boolean doViewCourse=false;

private String response="";

private Thread appThread;

private ProgressDialog formProgressdialog;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

formProgressdialog = ProgressDialog.show(Administrators.this, null, "Please wait...", true);

formProgressdialog.setCancelable(false);

doViewCourse=true;

appThread = new Thread(Administrators.this);

appThread.start();

}

private OnClickListener tableRowClickListener = new OnClickListener()

{

public void onClick(View v)

{

try

{

// String selectedRow = (String) v.getTag();

// Toast toast = Toast.makeText(Search.this, selectedRow,

Toast.LENGTH_SHORT);

// toast.show();

registerForContextMenu(v);

openContextMenu(v);

}

Page 35: Campus news information system - Android

[35]

catch (Exception ex)

{

Toast toast = Toast.makeText(Administrators.this, ex.toString(),

Toast.LENGTH_SHORT);

toast.show();

}

}

};

@Override

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo

menuInfo) {

super.onCreateContextMenu(menu, v, menuInfo);

CampusNewsISActivity.showLog("Context menu called");

menu.setHeaderTitle("Select Action");

menu.add(0, v.getId(), 0, "Call Now");

menu.add(0, v.getId(), 0, "Send SMS");

menu.add(0, v.getId(), 0, "Send Email");

}

@Override

public boolean onContextItemSelected(MenuItem item)

{

if(item.getTitle()=="Call Now")

makeCall("444");

else if(item.getTitle()=="Send SMS")

sendSMS("444", "We have received your request.We will get back to you soon");

else if(item.getTitle()=="Send Email")

sendMail("[email protected]", "Registration", "We have received your

request.We will get back to you soon");

return true;

Page 36: Campus news information system - Android

[36]

}

public void makeCall(String number)

{

String url = "tel:"+number;

Intent i = new Intent(Intent.ACTION_DIAL, Uri.parse(url.toString()));

startActivity(i);

}

public void sendSMS(String recipient, String body)

{

Intent sendIntent = new Intent(Intent.ACTION_VIEW);

sendIntent.putExtra("address", recipient);

sendIntent.putExtra("sms_body", body);

sendIntent.setType("vnd.android-dir/mms-sms");

startActivity(sendIntent);

}

public void sendMail(String recipient, String subject, String body) {

Intent i = new Intent(Intent.ACTION_SEND);

i.setType("plain/text");

i.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { recipient });

i.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);

i.putExtra(android.content.Intent.EXTRA_TEXT, body);

i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(i);

}

private TableLayout tl;

private int rowCount=0;

private void showAllCourse(String records[])

Page 37: Campus news information system - Android

[37]

{

rowCount=0;

setContentView(R.layout.table);

// Get the TableLayout

tl = (TableLayout) findViewById(R.id.maintable);

TableRow tr = new TableRow(this);

tr.setBackgroundColor(Color.parseColor("#FF86AB60"));

TextView name = new TextView(this);

name.setText("Name");

name.setTextSize(18);

tr.addView(name);

TextView interest= new TextView(this);

interest.setText("Interest");

interest.setTextSize(18);

tr.addView(interest);

TextView year = new TextView(this);

year.setText("Year");

year.setTextSize(18);

tr.addView(year);

TextView dob= new TextView(this);

dob.setText("DOB");

dob.setTextSize(18);

tr.addView(dob);

Page 38: Campus news information system - Android

[38]

// Add the TableRow to the TableLayout

tl.addView(tr, new TableLayout.LayoutParams(

LayoutParams.FILL_PARENT,

LayoutParams.WRAP_CONTENT));

for(int i=0;i<records.length;i++)

{

String columns[] = CampusNewsISActivity.split(records[i].trim(), "|");

rowCount++;

tr = new TableRow(this);

if(rowCount%2==0)

tr.setBackgroundColor(Color.parseColor("#FF86AB60"));

else

tr.setBackgroundColor(Color.parseColor("#FF48820E"));

tr.setLayoutParams(new LayoutParams(

LayoutParams.FILL_PARENT,

LayoutParams.WRAP_CONTENT));

name = new TextView(this);

name.setText(columns[0]);

name.setTextSize(18);

tr.addView(name);

interest = new TextView(this);

interest.setText(columns[1]);

interest.setTextSize(18);

tr.addView(interest);

year = new TextView(this);

Page 39: Campus news information system - Android

[39]

year.setText(columns[2]);

year.setTextSize(18);

tr.addView(year);

dob = new TextView(this);

dob.setText(columns[3]);

dob.setTextSize(18);

tr.addView(dob);

tr.setGravity(Gravity.LEFT);

tr.setMinimumHeight(120);

// Add the TableRow to the TableLayout

tl.addView(tr, new TableLayout.LayoutParams(

LayoutParams.FILL_PARENT,

LayoutParams.WRAP_CONTENT));

tr.setOnClickListener(tableRowClickListener);

// tr.setTag(""+i);

}

}//end of showAllCourse

private void viewCourse()

{

try

{

CampusNewsISActivity.showLog("Inside applyCourse:");

response=null;

InputStream is=LoginActivity.hitUrl(BASE_URL+"viewcourse.php?");

if (is != null)

Page 40: Campus news information system - Android

[40]

{

ByteArrayOutputStream byteBuffer = new

ByteArrayOutputStream();

byte[] buffer = new byte[1024];

int len = 0;

while ((len = is.read(buffer)) != -1) {

byteBuffer.write(buffer, 0, len);

}

byte[] data=byteBuffer.toByteArray();

response=new String(data);

}//end of if

else

{

CampusNewsISActivity.showLog("IS null");

}

}

catch(Exception e)

{

formProgressdialog.dismiss();

CampusNewsISActivity.showLog("Exception in applyCourse e:"+e);

}

showResults();

}//end of applyCourse

private void showResults()

{

runOnUiThread(new Runnable() {

@Override

public void run()

}

Page 41: Campus news information system - Android

[41]

});

alertDialogBuilder.setNegativeButton("Close",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int id)

{

finish();

}

});

alertDialogBuilder.show();

}//end of showAlert

public void run()

{

try

{

if(doViewCourse)

{

viewCourse();

doViewCourse=false;

}

}

catch(Exception e)

{

CampusNewsISActivity.showLog("Exception in run e:"+e);

}

}//end of run

}

Page 42: Campus news information system - Android

[42]

FileArrayAdapter.java

package com.cnis;

import java.util.List;

import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.view.View.OnClickListener;

import android.widget.ArrayAdapter;

import android.widget.ImageView;

import android.widget.TextView;

public class FileArrayAdapter extends ArrayAdapter<Option>{

private Context c;

private int id;

private List<Option>items;

public FileArrayAdapter(Context context, int textViewResourceId,

List<Option> objects) {

super(context, textViewResourceId, objects);

c = context;

id = textViewResourceId;

items = objects;

}

public Option getItem(int i)

{

Page 43: Campus news information system - Android

[43]

return items.get(i);

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

int[] colors = new int[] {0xFF86AB60,

0xFF48820E/*Color.parseColor("#ffffff"), Color.parseColor("#fef2e8")*/ };

View v = convertView;

if (v == null) {

LayoutInflater vi =

(LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

v = vi.inflate(id, null);

}

final Option o = items.get(position);

if (o != null) {

TextView t1 = (TextView) v.findViewById(R.id.TextView01);

TextView t2 = (TextView) v.findViewById(R.id.TextView02);

if(t1!=null)

t1.setText(o.getName());

if(t2!=null)

t2.setText(o.getData());

int colorPos = position % colors.length;

v.setBackgroundColor(colors[colorPos]);

}

return v;

}

}

Page 44: Campus news information system - Android

[44]

4.4 TESTING

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.

TestingPrinciples :

Alltestcaseshouldbetraceabletothecustomerrequirements.

Tests should be planned long before the testing begins.

Exhaustive testing is not possible.

Tobemosteffectivetestingshouldbeconductedbyan independent thirdparty.

Testability:

Operability: - The better it works the more efficiently it can be tested.

Observability:- What you see is you test.

Controllability: - The better you control the better it can be optimized.

Decomposability: -By decomposing we can quickly isolateproblems 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.

Page 45: Campus news information system - Android

[45]

4.1.1 DIFFERENT TEST CASES

Sr.No Test cases Input Output Expected Output

1.

Administrator

a) View course

Application

Click on icon

Various course

information

Display the number of

course application.

b) Transfer files

Mode of sending

through HTTP (i.e via

mail or message)

Alert message Message and transfers file

where it need to send.

C) send

notification

IP address and

notification message

Alert message Display notification on

notification bar

2. Student

a)Downloads

Click on icon and

Couldn’t detect

internet connection

Student should able to

download files which has

been sent by the admin.

b)post a request IP address of admin Alert message Message should be

successfully send to the

admin.

C)Apply for

course

Student name,

interested in course,

year, DOB.

Alert message Proper entry in the

database in view history

section.

3. Guest

a)View course,

Awards, Videos

Events, images.

Click on icon

Information about

related field

All related images, videos

are displayed.

Page 46: Campus news information system - Android

[46]

4. Load testing

a)Sending

notification to more

than one student

More than one file to

students.

Time delay, could

not connect.

To all student notification

should be send.

5. Login User name ,password Login success Login success

6. New sign up User name, password Successfull

registration.

Can access CNIS

application.

Page 47: Campus news information system - Android

[47]

result

Page 48: Campus news information system - Android

[48]

5.1 SNAPSHOT OF PROJECT

Figure 13: Administrator login

When admin entrer valid user name and password, then only he can access

CNIS Application as a Administration.

Figure 14: Administrator Tab

As adminstrator login succesfully, Adminstrator tab is visible along with Student &

Guest tab

Page 49: Campus news information system - Android

[49]

Figure 15: student login

If students want to acces CNIS application they need to signup for first time. If they try

to login without new signup it will give message as Signup Failed.

Figure 16: student Tab

After Signup student can see the two tab (student,guest) which contain Downloads,Apply for

course,Enable alert mode sections etc.

Page 50: Campus news information system - Android

[50]

Download:-

Figure 17: Download List Database

“Downloadlist Database” shows all the available file download for student.

Figure 18: Files Directory

By long press on file student can save download files to directory “/sdcard/”.

Page 51: Campus news information system - Android

[51]

Apply For course:-

Figure 19: View Course

Student fill the form via Apply for Course section in student tab.

Figure 20: Course Database

“course database” store the information about form submitted by student.

Page 52: Campus news information system - Android

[52]

Figure 21: View History

Admin can view the course applied by student in View History.

Transfer File:-

Figure 22: File Transfer

Above Window show all the file available in /sdcard/. Admin can send file by long

pressing on selected file via bluetooth,email,phone etc.

Page 53: Campus news information system - Android

[53]

Send Notification:-

Figure 23: Admin Notification

Admin send notification to CR of class in form of message like lecture is cancelled,

lecture schedule which give toast message as conformation of notification.

Figure 24: Student Notification

Student receive notification toast message on his device on notification bar.

Page 54: Campus news information system - Android

[54]

Guest Login:-

Figure 25 : Guest Tab

Guest can view different information about capmus such as courses,images awards etc in

“Guest Tab”

Figure 26: Course Tab

Page 55: Campus news information system - Android

[55]

Figure 27: Events Tab

Figure 28: Alumni Tab

Page 56: Campus news information system - Android

[56]

Figure 29: Images Tab

Page 57: Campus news information system - Android

[57]

Advantages of

project

Page 58: Campus news information system - Android

[58]

The major project advantages are aimed at addressing the major concerns like: Simplicity, Cost

effectiveness and Security Untutored Access– Simple and convenient to use: the user interface in CNIS is simple and very

user friendly. The user can easily navigate through the application without any hindrance thus

providing user satisfaction.

Handiness – The user, can access the application anywhere throughout the campus thus proving

mobility and useful at all times and at all places. In essence, CNIS brings the information to the

users by bringing the user to the information.

Freedom of movement – The CNIS application will be developed for Android based phones

and most of the smart phones being Android 2.2 or Android 2.3, all applications work on these

platforms thus providing mobility and compatibility with all Android based smart phones..

Time redemptive – CNIS 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.

Minimized Human Intervention - Automatic processing of user request.

Limitations & Constrants:-

1. Android applications at times are device specific. Most important is memory management.

The CNIS application requires crisp and 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.

2. 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.

3. Not all users may have a smart phone. Therefore it may be a while before the target audience

for the application widens.

4. Delay of transmission of information by the GSM operators and intra and inter connection

delays.

Page 59: Campus news information system - Android

[59]

Conclusion

&

Future scope

Page 60: Campus news information system - Android

[60]

7.1 CONCLUSION

Thus we have developed a novel approach to sharing information between students, lecturers

and the administration in order to enhance quality of information in campus environment. We

describe a network for distributing campus information among lecturers and students. The

concept of developing campus information is to ensure that student can access information at any

time, at any locations and ad-hoc basic. Information System helps the students and lecturers on

campus to find and access information based on ad-hoc basic, which is of interest and relevant to

students or lecturers through a smart phone. We will develop an Android application thereby

providing a collaborative communication system within the campus aiding everyone

participating in it. This will create a ubiquitous environment throughout the campus making it a

very positive and exciting experience for all the participants.

This is my first attempt in developing a mobile application which gave me a basic understanding

of development and challenges of mobile application development. The main aim of the project

is to provide an easy to use application for searching the restaurants. The application has been

implemented and tested on real devices.

Page 61: Campus news information system - Android

[61]

7.2 FURTHER SCOPE

The application can be improved in many ways and can be extended to support more devices like

the tablets and iOS devices.

This Project can be implemented from intranet to internet environment.

Many other functionalities can be added such as payment option for various form in college.

Page 62: Campus news information system - Android

[62]

References

Page 63: Campus news information system - Android

[63]

[1]. CAMPUSNEWS Michael Schulze Department of Computer Science, Artificial Intelligence

Research Group University of Koblenz.(IEEE Paper)

[2]. http://www.innovantesindia.com/wordpress/2011/04/01/HTTP/

[3]. http://developer.android.com/guide/topics/fundamentals.html

[4]. http://www.handster.com/campus_application_of_fh_kiel.html

[5]. http://www.rapidsofttechnologies.com/android-application-development.html

[6]. Campus Wireless Infrastructure Proposal. IET – Communications Resources.

[7]. http://www.waterfall-model.com/

[8]. http://developer.android.com/guide/basics/what-is-android.html

[9]. http://www.hitechtutorials.com/android-for-mobile-computing-in-the-near-future-is-the-best-

choice.html

[10]. Roger Pressman, “Software Engineering