Upload
brian-fox
View
41
Download
1
Tags:
Embed Size (px)
Citation preview
[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