Вы находитесь на странице: 1из 33

A Project report On

(Minor Project)
Submitted in partial fulfillment for the award of the degree Bachelor of Technology in Computer Science and Engineering
By Pulkit Bhartiya Rohit Kaushik Suroor Gupta Shrestha Mathur Vikas Singh (10CS000844) (10CS000850) (10CS000869) (10CS000860) (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


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 Rohit Kaushik Suroor Gupta Shrestha Mathur Vikas Singh

10CS000844 10CS000850 10CS000869 10CS000860 10CS000876

Date: 25_ 11-13


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

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 Rohit Kaushik Suroor Gupta Shrestha Mathur Vikas Singh

(10cs000844) (10cs000850) (10cs000869) (10cs000860) (10cs000876)


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.



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.

Fig 1.1 Smatphone Shipments of android

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.

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

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


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.


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.


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.


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.


Generally students have to go to the specific department or notice board to check their required academic information. Some time they cant 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 dont 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.


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.

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


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 Storage Additional Services

An android device with Android Vers. 3.0 (Froyo) <100MB Internet, Database access.



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.



This module will be able student to see notices that are given by college on the notice board.

Student can check their last exam result in this module. This will also show their current CGPA.



Activity Diagrams Attendance

Student open activity

Activity fetches Attendance

Display Progress bars

Check Attendance > 75%

Bar = Green

Bar = Red


Lesson Plan

Student open activity

Activity fetches course

Field of CP Display in separet

Personal Detail

Student open activity

Activity fetches Detail

data arrange in table

Show the detail in form


Time Table

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



Student open activity

Activity fetches all subject data GPA Calculate

Arrange data in table

Show resul and GPA


Use Case




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="";

SoapObject table = null; SoapObject Client =null; SoapObject tableRow= null; SoapObject responseBody=null;


SoapSerializationEnvelope sse =null;

sse = new SoapSerializationEnvelope(SoapEnvelope.VER11); sse.addMapping(Namespace,"retrive",this.getClass()); sse.dotNet =true;

AndroidHttpTransport 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);


//get table content table = (SoapObject)responseBody.getProperty(0);


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;

} } }



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.




Personal Detail


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

Could be used in any university to ease out the manual efforts. The concept of AcadSync could be extended on an industrial organizations database as well.


WROX Android development VI Oriellys 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


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.


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.