Post on 24-Oct-2015
description
1
A Project report
On
AcadSync (Minor Project)
Submitted in partial fulfillment for the
award of the degree
Bachelor of Technology
in
Computer Science and Engineering
By
Pulkit Bhartiya (10CS000844)
Rohit Kaushik (10CS000850)
Suroor Gupta (10CS000869)
Shrestha Mathur (10CS000860)
Vikas Singh (10CS000876)
Submitted to
Department of Computer Science & Engineering
Sir Padampat Singhania University
Udaipur 313601 Rajasthan India
Under the supervision of
Arjun Singh
Department of Computer Science & Engineering
Sir Padampat Singhania University
Udaipur 313601 Rajasthan India
2
DECLARATION
We ,Pulkit Bhartiya, Rohit Kaushik, Shrestha Mathur, Suroor Gupta, Vikas Singh
students of B.Tech. (Computer Science & Engineering) hereby declare that the project
titled “AcadSync” which is submitted by us to the department of Computer Science &
Engineering , School of Engineering , Sir Padampat Singhania University, Udaipur in
partial fulfillment of requirement for the award of the degree of Bachelor of Technology
in Computer Science & Engineering, has not been previously formed the basis for the
award of any degree, diploma or other similar title or recognition.
Names and Enrollment of students:
Pulkit Bharatiya 10CS000844
Rohit Kaushik 10CS000850
Suroor Gupta 10CS000869
Shrestha Mathur 10CS000860
Vikas Singh 10CS000876
Date: 25_
11-13
3
CERTIFICATE
This is to certify that the Minor project entitled „AcadSync‟ being submitted by Pulkit
Bhartiya, Rohit Kaushik, Shrestha Mathur, Suroor Gupta, Vikas Singh in
fulfillment of the requirement for the award of degree of Bachelor of Technology in
Computer Science & Engineering, has been carried out under my supervision and
guidance.
The matter embodied in this report has not been submitted, in part or in full, to any
other university or institute for the award of any degree, diploma or certificate.
Arjun Singh
Assistant Professor
Department of Computer Science & Engineering
Prasun Chakrabarti
Head Of Department
Department of Computer Science & Engineering
Sir Padampat Singhania University
Udaipur 313601
Rajasthan
India
4
ACKNOWLEDGEMENT
It gives us immense pleasure to express our deepest gratitude to our highly respected
and esteemed guide Mr. Arjun Singh (Asst. Professor, CSE) for his valuable guidance,
encouragement and help for completing this work. His useful suggestions for this whole
work and co-operative behavior are sincerely acknowledged.
We would like to extend our sincere gratitude to our university for giving us this
opportunity to undertake this project.
We also wish to express my gratitude to Mr. Prasun Chakrabarti HOD (Computer
Science and Engineering) for his kind support. We are also grateful to our teachers for
their constant support and guidance.-
Pulkit Bhartiya (10cs000844)
Rohit Kaushik (10cs000850)
Suroor Gupta (10cs000869)
Shrestha Mathur (10cs000860)
Vikas Singh (10cs000876)
5
ABSTRACT
Information such as time table, lecture attendance, course plan, etc. is what every
student in a university looks forward to at some point of time. Students have to bother
teachers every time they want any such information. Thus, these details could be
clubbed together and every person in a particular university could see their personal
details (attendance, time table, etc.) on their smart phones.
The aim of the project is to create a specialized Android Application built using an open
source. It will be employed on a limited corpus. The objective is to provide an easy to
use, efficient information facility for necessary details, basically academic, of the
university. The system will work on the limited database of our university. The end
product will be a customized android application available to users with different level
of authorization on the database. This will result in reduction of time taken in manual
request of data made by students to the faculty of the university.
6
TABLE OF CONTENTS
DECLARATION………………………………………………………………………….........i
CERTIFICATE …………………..……………………………………………………………ii
ACKNOWLEDGEMENT…………..…………………………………………………………iii
ABSTRACT ……………………………………………………………………………………iv
TABLE OF CONTENTS……………………………………………………………………....v
CHAPTER 1 INTRODUCTION…………………………………………………………….1-6
CHAPTER 2 PROBLEM IDENTIFICATION……………………………………………….7
CHAPTER 3 LITERATURE REVIEW………………….…………………………………...8
CHAPTER 4 SOFTWARE REQUIREMENT ANALYSIS…………………………………9
CHAPTER 5 MODULES AND THEIR FUNCTION…………………………………..10-11
CHAPTER 6 SOFTWARE DESIGNS …………………………………………………..12-17
CHAPTER 7 CODE TEMPLATES……………………………………………………...18-20
CHAPTER 8 TESTING………………………………………………………………………21
CHAPTER 9 SCREEN SHORTS………………………………………………………..22-23
CHAPTER 10 CONCLUSIONS AND FURTHER SCOPE OF WORK………..……….24
REFERENCES……………………………………………………………………………….25
APPENDIX..……………………………………………………………………………….26-27
7
CHAPTER 1
INTRODUCTION
1.1 What is Android?
Android is a software stack for mobile devices that includes an operating system,
middleware and key applications. Android is a software platform and operating
system for mobile devices based on the Linux operating system and developed by
Google and the Open Handset Alliance. It allows developers to write managed code
in a Java-like language that utilizes Google-developed Java libraries, but does not
support programs developed in native code.
Android has become the number one mobile operating system in a number of areas.
As of May 2013, 900 million Android devices had been activated. Also, as of the
2012, Android owned 52 percent of the U.S. mobile market share and 70 percent
globally. Obviously, these numbers fluctuate regularly, but Android had dominance
in the worldwide global market share for quite some time now.
Fig 1.1 Smatphone Shipments of android
8
1.1.1 Versions of Android
These versions have been released in alphabetical order: Cupcake, Donut, Éclair, Froyo
(frozen yogurt), Gingerbread, Honeycomb, Ice Cream Sandwich, and Jelly Bean.
Android versions history involves the versions updates from 1.0 till date. Here is the list
of different Android version with their releasing date:-
1. Android 1.0 - Release Date: September 23, 2008
2. Android 1.1 - Release Date: February 9, 2009
3. Android 1.5 Cupcake – Release Date: April 30, 2009
4. Android 1.6 Donut - Release Date: September 15, 2009
5. Android 2.0/2.1 Éclair – Release Date: October 26, 2009
6. Android 2.2 FroYo – Release Date: May 20, 2010
7. Android 2.3 Gingerbread - Release Date: December 6, 2010
8. Android 3.0 Honeycomb - Release Date: February 22, 2011
9. Android 4.0 Ice Cream Sandwich - Release Date: October 19, 2011
10. Android 4.1 Jelly Bean - Release Date: July 9, 2012.
Fig 1.2 Distribution of Android Versions
9
1.1.2 Android SDK (Software Development Kit)
A software development kit that enables developers to create applications for the
Android platform. The Android SDK includes sample projects with source code,
development tools, an emulator, and required libraries to build Android applications.
Applications are written using the Java programming language and run on Dalvik, a
custom virtual machine designed for embedded use which runs on top of a Linux kernel.
Every time Google releases a new version of Android, a corresponding SDK is also
released. To be able to write programs with the latest features, developers must
download and install each version‟s SDK for the particular phone.
Although the SDK can be used to write Android programs in the command prompt, the
most common method is by using an integrated development environment (IDE). The
recommended IDE is Eclipse with the Android Development Tools (ADT) plug-in.
However, other IDEs, such as NetBeans or IntelliJ, will also work. Most of these IDEs
provide a graphical interface enabling developers to perform development tasks faster.
Since Android applications are written in Java code, a user should have the Java
Development Kit (JDK) installed.
10
1.2 WEB SERVICES
A Web service is a method of communications between two electronic devices over the
World Wide Web. It is a software function provided at a network address over the web
with the service always on as in the concept of utility computing.
1.2.1 WEB SERVICE – ASMX
Fig 2.1 Web Sercive – ASMX Structure
1.2.2 Client-Side Proxy Classes
On the client side, proxy classes provide access to Web services. Proxy classes use
XML serialization to serialize the request into a SOAP message, which is then
transported using functionality provided by the System.Net namespace.
You can use the Wsdl.exe tool to automatically generate the proxy class from the Web
Services Description Language (WSDL) contract file. Depending on the bindings
specified in the WSDL, the request issued by the proxy may use the HTTP GET, HTTP
POST, or HTTP SOAP protocols.
11
The proxy class is derived from one of the following base classes:
System.Web.Services.Protocols.HttpGetClientProtocol
System.Web.Services.Protocols.HttpPostClientProtocol
System.Web.Services.Protocols.SoapHttpClientProtocol
These all derive from System.Web.Services.Protocols.HttpWebClientProtocol,
which in turn derives from the System.Web.Services.Protocols.WebClientProtocol base
class in the inheritance chain. WebClientProtocol is the base class for all automatically
generated client proxies for ASP.NET Web services, and, as a result, your proxy class
inherits many of its methods and properties.
12
1.3 SOAP
SOAP, originally defined as Simple Object Access Protocol, is a protocol
specification for exchanging structured information in the implementation of Web
Services in computer networks. It relies on XML Information Set for its message
format, and usually relies on other Application Layer protocols, most notably Hypertext
Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message
negotiation and transmission.
Fig 3.1 SOAP Structure
1.3.1 KSOAP The ksoap2-android library provides a lightweight and efficient SOAP client library for
the Android platform.
It is a fork of the kSOAP2 library that is tested mostly on the Android platform, but
should also work on other platforms using Java libraries. It is still using Java 1.3 so
should work fine on JavaME, Blackberry and so on.
ksoap2-android has been consistently enhanced and expanded with more features. It is
actively maintained and welcome bug fixes and contributions.
13
CHAPTER 2
PROBLEM IDENTIFICATION
Generally students have to go to the specific department or notice board to check their
required academic information. Some time they can‟t find information for some or other
reasons. In college premises computer might not be available everywhere for a student
to check their information. Thus it would be very helpful if an application is available
on the device that is handy.
AcadSync provides the facility to Students to synchronized their academic information
in there android device.
By this app they don‟t have to go to university to check there required information, they
can access there updated information in there device whenever they want. It will keep
them up to date about their academic information. For this, they have to connect there
device to college network through the Wi-Fi and they can synchronize the app. After
synchronization they can use this app in offline mode and check there information later.
In this they can check there attendance, notices, time table etc.
14
CHAPTER 3
Literature Review
Research references over the internet. An initial search was performed to check
if the idea has been implemented before or not. Also, queries, requests and
discussions revolving around the same idea were studied as well. No major
existing projects were found using the same paradigm and it was hence a good
move to develop this project.
There are minimal projects developed on the Android platform that perform
such synchronisation.
None of these projects use the secure K-SOAP protocol for interaction and the
transactions are hence, unsecure and not ideal for implementation.
There‟s a rapidly growing market for Android applications and people have been
found to have a growing sensibility of what they can do with their smartphones.
The research implied clearly that AcadSync, an Android based IMS
synchronisation system is a promising endeavour.
15
CHAPTER 4
SOFTWARE REQUIREMENT ANALYSIS
Information such as time table, lecture attendance, course plan, etc. is what every
student in a university looks forward to at some point of time. Students have to bother
teachers every time they want any such information. Thus, these details could be
clubbed together and every person in a particular university could see their personal
details (attendance, time table, etc.) on their smart phones.
Software and Hardware Requirements
Software specification:
Eclipse
Android Development Toolkit
Android SDK API level 11 (or higher)
Microsoft Visual Studio 2012
Microsoft SQL
Minimum Client side requirements
Device An android device with Android Vers. 3.0 (Froyo)
Storage <100MB
Additional Services Internet, Database access.
16
CHAPTER 5
MODULES AND THEIR FUNCTION
Attendance
Students can check their current attendance status in this module. The attendance will
update automatically when application will synchronized. In this, student can see their
current attendance status in percentage which will indicate that attendance is short or
not in color.
Lesson Plan
This module will make a student able to check their lesson plan of the current semester
for subjects. This will simply show the pdf file that is available on website.
Personal Detail
In this student can see their personal detail that they give at time of their admission. If
they want to make changes in there detail, they have to go to the respective department
and apply for updating their personal detail.
Time Table
In this module student will be able to see the time table of their classes in current
semester. If there any change will come in time table this will be updated when
application will be synchronized.
Notice
17
This module will be able student to see notices that are given by college on the notice
board.
Result
Student can check their last exam result in this module. This will also show their current
CGPA.
18
CHAPTER 6
SOFTWARE DESIGNS
Activity Diagrams
Attendance
Student open activity
Activity fetches Attendance
Bar = Green Bar = Red
Display Progress bars
Check Attendance > 75%
19
Lesson Plan
Personal Detail
Student open activity
Activity fetches Detail
data arrange in table
Show the detail in form
Student open activity
Activity fetches course
Field of CP Display in separet
20
Time Table
Notice
Student open activity
Activity fetches Time table
Time table arrange in form
Show the Time Table form
Student open activity
Activity fetches all notice
arrange tham by date and priority
Show the notice
21
Result
Student open activity
Activity fetches all subject data
GPA Calculate
Show resul and GPA
Arrange data in table
22
Use Case
Student
23
Teacher
24
CHAPTER 7
CODE TEMPLATES
K-SOAP data retrieval code
package com.wb.acadsync;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;
public class retrive {
String data1;
String data2;
retrive dataret()
{
String Namespace ="http://tempuri.org/";
String Method_Name="retrivedata";
String Action="http://tempuri.org/retrivedata";
String Url="http://192.168.116.1/webservice1/Service1.asmx";
SoapObject table = null;
SoapObject Client =null;
SoapObject tableRow= null;
SoapObject responseBody=null;
25
SoapSerializationEnvelope sse =null;
sse = new SoapSerializationEnvelope(SoapEnvelope.VER11);
sse.addMapping(Namespace,"retrive",this.getClass());
sse.dotNet =true;
AndroidHttpTransport androidHttpTransport = new
AndroidHttpTransport(Url);
retrive nr = new retrive();
try
{
Client = new SoapObject(Namespace,Method_Name);
sse.setOutputSoapObject(Client);
sse.bodyOut=Client;
androidHttpTransport.call(Action,sse);
//get XML
responseBody =(SoapObject) sse.getResponse();
//data
responseBody = (SoapObject)responseBody.getProperty(1);
26
//get table content
table = (SoapObject)responseBody.getProperty(0);
//getinfo
tableRow = (SoapObject) table.getProperty(0);
nr.data1=tableRow.getProperty("name").toString();
nr.data2=tableRow.getProperty("class").toString();
return nr;
}
catch (Exception e)
{
nr.data1 = e.toString();
nr.data2 = e.toString();
return nr;
}
}
}
27
CHAPTER 8
TESTING
The application was simultaneously tested on 3 devices :
Samsung GT-S5360 | Galaxy Y (Android 2.3.6 GingerBread)
Aakash Tablet (Android 4.0.3 Ice Cream Sandwich)
Lava ZTC Tablet (Android 4.0.3 Ice Cream Sandwich)
The app was found to be running without any major issues and the data retrieval
was perfectly executed.
For testing, first all activities were individually implemented and tested through
static data. All arrangement and inacceptable issues were dealt with in this
phase.
Once through with this design, the activities were integrated into one full
consolidated app, titled AcadSyncOne. This application was a static demo of
how the software would look on completion. Further improvements were made
to the design as required.
Finally, data was fetched from the established MySQL server and was arranged
into the application, replacing the statically fed data. Some minor issues came up
during this phase and were conveniently dealt with.
Post this phase, several relocations were tried on the server network and the
applications and a negligible amount of imperfections were seen, indicating that
the project is in a considerably good state given that this is the first draft.
The testing procedure was thus completed until any further innovation to the
app.
28
CHAPTER 9
SCREEN SHOTS
Attendance
29
Personal Detail
30
CHAPTER 10
CONCLUSION
This project will be really helpful in providing required necessary information to
the people of a university and if developed properly, can be scaled up further as
per requirement.
It can be an easy to use, efficient and time saving tool.
With this project we are aiming at understanding how android applications work
and how they can be linked up to internet (web services).
FUTURE PROSPCTIVE
• Could be used in any university to ease out the manual efforts.
• The concept of AcadSync could be extended on an industrial organization‟s
database as well.
31
Bibliography
WROX Android development VI
Orielly‟s Android Developemt
Web References
K-SOAP Devoloper website
www.stackoverflow.com | Stack Overflow
developers.android.com | Official Android Developer Reference
Visual Studio reference
Microsoft Virtual Academy (MVA)
www.wikipedia.org | WikiPedia
32
Appendix
The Android Platform
Android is a Linux-based mobile phone operating system developed by Google.
Android is unique because Google is actively developing the platform but giving
it away for free to hardware manufacturers and phone carriers who want to use
Android on their devices.
A modified version of Android is used in the Google TV, the Barnes & Noble
Nook eReader, the Samsung Galaxy Tab, and countless other devices. Parrot
makes both a digital photo frame and a car stereo system powered by modified
versions of Android.
Open Handset Alliance:
Google formed a group of hardware, software, and telecommunication
companies called the Open Handset Alliance with the goal of contributing to
Android development. Most members also have the goal of making money from
Android, either by selling phones, phone service, or mobile applications.
Android Market:
Anyone can download the SDK (software development kit) and write
applications for Android phones. Google doesn't screen developers or
applications.
These apps can be downloaded from the Android Market. If the app costs
money, you pay for it using Google Checkout. T-Mobile also has an agreement
to allow their phone customers to purchase some apps and have the fee added to
their monthly phone bill.
Some devices do not include support for the Android Market and may use an
alternative market.
Service Providers:
The iPhone has been very popular for AT&T, but unless you void your warranty
to unlock it, you can only use an iPhone with AT&T. Android is an open
platform, so many carriers can potentially offer Android-powered phones. That
doesn't mean individual carriers won't lock the specific phone they sell you to
their service, but every major carrier in the US offers an Android phone.
Android is currently the fastest growing phone platform in the world.
Data Plan:
To use Android on a phone, you need a data plan on top of your voice plan. You
can't even activate an Android phone without a data plan enabled. Some
networks in the US offered tiered data service, and some offer unlimited plans.
33
Google Services:
Because Google developed Android, it comes with a lot of Google services
installed right out of the box. Gmail, Google Calendar, Google Maps, and
Google Web search are all pre-installed, and Google is also the default Web
page for the Web browser. However, because Android can be modified, carriers
can choose to change this. Verizon Wireless, for instance, has modified some
Android phones to use Bing as the default search engine.
Touchscreen:
Android supports a touch screen and is difficult to use without one. You can use
a trackball for some navigation, but nearly everything is done through touch.
Android also supports multi-touch gestures such as pinch-to-zoom in versions
2.1 (Eclair) and above.
Keyboard:
The initial release of Android required a separate keyboard. However,
"Cupcake," (Android 1.5) and later editions have all supported an on-screen
keyboard. That means you can use models like the Verizon Droid 2 that include
a slide-out physical keyboard or the HTC EVO that rely entirely on the touch
screen.
The Bottom Line:
Android is an exciting platform for consumers and developers. It is the
philosophical opposite of the iPhone in many ways. Where the iPhone tries to
create the best user experience by restricting hardware and software standards,
Android tries to insure it by opening up as much of the operating system as
possible.
This is both good and bad. Fragmented versions of Android may provide a
unique user experience, but they also mean fewer users per variation. That
means it's harder to support for app developers, accessory makers, and
technology writers (ahem). Because each Android upgrade must be modified for
the specific hardware and user interface upgrades of each device, that also
means it takes longer for modified Android phones to receive updates.
Fragmentation issues aside, Android is a robust platform that boasts some of the
fastest and most amazing phones and tablets on the market.