campus information system.pdf

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

Transcript of campus information system.pdf

  • [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

  • [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

  • [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.

  • [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

  • [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.

  • [6]

    PROJECT OVERVIEW

  • [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.

  • [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.

  • [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.

  • [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.

  • [11]

    PROJECT Analysis

  • [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 days

    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

  • [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.

  • [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.

  • [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

  • [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

  • [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.

  • [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.

  • [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.

  • [20]

    2.5 GANTT CHART (MONTH WISE)

  • [21]

  • [22]

  • [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

  • [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

  • [25]

    PROJECT design

  • [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

  • [27]

    3.2 SEQUENCE DIAGRAMS

    Figure 6: Sequence Diagram 1

    Figure 7: Sequence Diagram 2

  • [28]

    Figure 8: Sequence diagram 3

  • [29]

    3.3 INTERFACE DIAGRAM

    Figure 10 : Interface Diagram

  • [30]

    implementation

  • [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.

  • [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.

  • [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{

  • [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);

    }

  • [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;

  • [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[])

  • [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);

  • [38]

    // Add the TableRow to the TableLayout

    tl.addView(tr, new TableLayout.LayoutParams(

    LayoutParams.FILL_PARENT,

    LayoutParams.WRAP_CONTENT));

    for(int i=0;i

  • [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)

  • [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()

    }

  • [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

    }

  • [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{

    private Context c;

    private int id;

    private Listitems;

    public FileArrayAdapter(Context context, int textViewResourceId,

    List objects) {

    super(context, textViewResourceId, objects);

    c = context;

    id = textViewResourceId;

    items = objects;

    }

    public Option getItem(int i)

    {

  • [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;

    }

    }

  • [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.

  • [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

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

  • [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.

  • [47]

    result

  • [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

  • [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.

  • [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/.

  • [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.

  • [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.

  • [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.

  • [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

  • [55]

    Figure 27: Events Tab

    Figure 28: Alumni Tab

  • [56]

    Figure 29: Images Tab

  • [57]

    Advantages of

    project

  • [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.

  • [59]

    Conclusion

    &

    Future scope

  • [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.

  • [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.

  • [62]

    References

  • [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