SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
i
PRACTICAL TRAINING – I
PROJECT REPORT ON
AN ANDROID APPLICATION LINKED TO GOOGLE APP ENGINE
B TECH COMPUTER SCIENCE & ENGINEERING + MBA (2010-2015)
AMITY SCHOOL OF ENGINEERING AND TECHNOLOGY
FACULTY GUIDE:
MS. SHANU SHARMA
ASST PROFESSOR, CSE DEPT.
ASET, AMITY UNIVERSITY
SUBMITTED BY:
NAME: NEIL MATHEW
ENROLL NO: A2324710002
BATCH: 2010-2015
SECTION & ROLL NO: 5CS4 - Y3305
ii
CERTIFICATE
This is to certify that Neil Mathew, student of BTech. Computer Science & Engineering
+ MBA, has carried out the work presented in the project of the Practical Training
entitled “AMIZONER: Attendance Planner on Android” as a part of second year
program of Bachelor of Technology in Computer Science and Engineering from Amity
School of Engineering and Technology, Amity University, Noida, Uttar Pradesh under
my supervision.
Ms. SHANU SHARMA
Department of Computer Science
Amity School of Engineering and Technology
Amity University, Noida.
iii
ACKNOWLEDGEMENTS
This practical training as a part of the course curriculum has helped me immensely in
understanding implementing software applications in Android. This work would not have
been successfully implemented without the support of many who guided me in various
stages of implementation and testing. I acknowledge their kind support.
I thank our Director General Dr. Balvinder Shukla and our Head of the Department Dr.
Abhay Bansal for their direction and keenness in including Practical Training as an
important aspect of the curriculum and constantly guiding us all.
I also extend my gratitude to Mr. KamalKant Ahirwar, for continuous encouragement.
Last but not the least, I would like to thank Ms. Shanu Sharma, my mentor and project
guide, for her guidance and whole hearted support in the making of this project. I am
thankful to her for giving me her valuable time and attention providing me directions for
completing my project in time. Without her, this project would be a distant reality.
Neil Mathew
BTech CSE + MBA (2010-2015)
Enrollment No: A232471002
Amity University
iv
ABSTRACT
Amity University has an excellent Student Information Portal and all Amity students use
the same frequently. Attendance monitoring is one of the key issues students are
concerned with. An easy and convenient way to access the Student Portal for updated
information on attendance was in my mind for some time.
AMIZONER is an android-based application which has the following features:
• logs in to www.amizone.net
• parses attendance details
• stores it locally in the phone on SQLite database
• works offline based on the data thus stored
• and finally displays the computed information in a user-friendly manner
Besides what is provided in Amizone, my application introduces more
information for the user, and shows it in a more convenient and concise manner.
AMIZONER was designed as an application to meet every student’s needs when it came
to attendance. This application has been a product of various technologies. It establishes a
secure connection with Amizone and with the user’s id and password, logs in using an
HTTPS Post. It then extracts the required information about the student from the
retrieved pages using HTML parsing and stores the same using the phone’s local
database, SQLite. Then, using the Android platform, the information collected is
displayed to the user in an organized, concise and convenient manner using various visual
means to highlight the courses based on its attendance percentage (using XML to design
these pages and JAVA to programmatically update them with the computed values).
Also, the application connects to the server for updates (running on Google App Engine
using Python as its language).
v
TABLE OF CONTENTS
CERTIFICATE................................................................................................................... ii
ACKNOWLEDGEMENTS...............................................................................................iii
ABSTRACT....................................................................................................................... iv
TABLE OF CONTENTS.................................................................................................... v
TABLE OF FIGURES...................................................................................................... vii
LIST OF ABBREVIATIONS..........................................................................................viii
CHAPTER 1: INTRODUCTION ..................................................................................... 1
1.1 ABOUT THE PROJECT ..................................................................................... 1
1.2 MOTIVATION .................................................................................................... 1
1.3 SCOPE ................................................................................................................. 2
CHAPTER 2: MATERIALS AND METHODS............................................................... 3
2.1 METHODOLOGY............................................................................................... 3
2.2 SOFTWARE & HARDWARE REQUIREMENTS ............................................ 4
2.2.1 DEVELOPMENT.............................................................................................. 4
2.2.2 SERVICES ........................................................................................................ 4
2.2.3 USER................................................................................................................. 5
2.3 IMPLEMENTATION AND TECHNOLOGIES USED...................................... 5
2.3.1 HTTPS POST & GET ........................................................................................ 6
2.3.2 HTML PARSING............................................................................................... 8
2.3.3 SQLite DATABASE .......................................................................................... 9
2.3.4 ANDROID DEVELOPMENT ......................................................................... 10
2.3.5 SERVER-CLIENT COMMUNICATION ....................................................... 12
vi
2.3.6 MONITORING APPLICATION USAGE....................................................... 13
2.3.7 MONETIZING WITH ADVERTISEMENTS................................................. 14
CHAPTER 3: RESULTS AND DISCUSSION.............................................................. 15
CHAPTER 4: CONCLUSION & RECOMMENDATIONS .......................................... 22
CHAPTER 5: IMPLICATIONS FOR FUTURE RESEARCH ...................................... 24
REFERENCES ................................................................................................................. 25
vii
TABLE OF FIGURES
FIG 1-1 SOFTWARE DEVELOPMENT CYCLE ......................................................................... 2
FIG 2-1 HTTP POST ...................................................................................................................... 6
FIG 2-2 HTTPS GET ...................................................................................................................... 7
FIG 2-3 MY COURSES.................................................................................................................. 8
FIG 2-4 ONE COURSE CODE SNIPPET...................................................................................... 8
FIG 2-5 URL FOR ATTENDANCE DETAILS ............................................................................. 9
FIG 2-6 TABLE I : USERPASS ..................................................................................................... 9
FIG 2-7 OTHER TABLES USED ................................................................................................ 10
FIG 2-8 ACTIVITY EXAMPLE................................................................................................... 11
FIG 2-9 PROGRESS DIALOG BOX ........................................................................................... 11
FIG 2-10 AMIZONER: SELFDESTRUCT .................................................................................. 12
FIG 2-11 GOOGLE ANALYTICS SCREENSHOT..................................................................... 13
FIG 2-12 ADMOB REPORTING SCREENSHOT ...................................................................... 14
FIG 3-1 GOOGLE PLAY APPLICATION ERROR REPORTS ................................................. 16
FIG 3-2 AMIZONER: HOME ...................................................................................................... 17
FIG 3-3 AMIZONER: MY COURSES......................................................................................... 17
FIG 3-4 AMIZONER: SPECIFIC COURSE ................................................................................ 18
FIG 3-5 AMIZONER: ATTENDANCE ....................................................................................... 18
FIG 3-6 AMIZONER: TIMETABLE ........................................................................................... 19
FIG 3-7 AMIZONER: HOLIDAYS.............................................................................................. 19
FIG 3-8 APPLICATION PACKAGE EXPLORER(ECLIPSE) ................................................... 20
FIG 3-9 METRICS: ACTIVITY CLASSES................................................................................. 21
FIG 3-10 METRICS: TOTAL LINES OF CODE......................................................................... 21
FIG 4-1 GOOGLE PLAY USER DEVICE GRAPH .................................................................... 22
FIG 4-2 GOOGLE PLAY TOTAL USER INSTALL GRAPH .................................................... 23
FIG 5-1 AMIZONER: SPLASH SCREEN................................................................................... 24
viii
LIST OF ABBREVIATIONS
API Application Programmer Interface
GAE Google App Engine
GB Ginger Bread (Android Operating System)
HDD Hard disk drive
HTML Hypertext Markup Language
HTTP Hypertext Transfer Protocol
HTTPS Hypertext Transfer Protocol Secure
ICS Ice Cream Sandwich (Android Operating System)
IDE Integrated Development Environment
OS Operating System
RAM Random-Access Memory
SDK Software Development Kit
SSL Secure Sockets Layer
XML Extensible Markup Language
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
1
Chapter 1
INTRODUCTION
1.1 ABOUT THE PROJECT
AMIZONER was designed to be a utility which every Amitian would use on a regular
basis to check up on their attendance and be informed thoroughly so that they never lose
track of it or get debarred.
 If they’re accidently marked absent, the application will inform them.
 If they’re short in attendance for a course, the application will calculate how many
classes he or she needs to attend to reach the target percentage.
 If the user’s net card causes them problems, the syncing process can be minimized
and the attendance details will be downloaded into the device and be stored for
offline usage.
 If a student tends to forget the teacher’s cabin no, the application has provisions to
store it so that you never forget. For certain departments, the cabin numbers are
already set.
 If a hostler needs to book his tickets to return home, the application will list the
holidays and highlights them on a calendar so that he can choose his dates
accordingly.
1.2 MOTIVATION
Attendance monitoring has been one of the key issues students are concerned with. Earlier
I had created an algorithm which calculates the number of classes one must attend or can
skip to maintain his target attendance percentage. I felt the need for creating an application
which combined this both so that the student is always aware of his or her situation and is
informed through concise, convenient and organized pages.
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
2
1.3 SCOPE
The scope of the project included developing an application on android platform to
understand the nuances of software application development, testing, distribution, version
control, etc as a part of Practical Training – I.
It is important to have insight into making of a software application following the Software
Development Cycle that included a series of phases and iterations. This development cycle
can be applied to any product at any point in its lifetime; the cycle works for developing
new products as well as maintaining already developed products.
FIG 1-1 SOFTWARE DEVELOPMENT CYCLE
The project involved all the steps of the development cycle namely Business Modeling,
Planning, Finalization of Requirements, Analysis and Design, Implementation, Testing,
Deployment and Evaluation. The AMIZONER application development took
approximately 40 iterations, progressively adding features, correcting bugs, improving user
experience etc. Further, areas of analytics of users and usage of the application,
monetization through advertisements also were explored as a part of practical training.
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
3
Chapter 2
MATERIALS AND METHODS
2.1 METHODOLOGY
The objective was to create an Android Application that could perform the following:
• Connecting to an HTTPS site (Amizone) through GPRS/WiFi.
• Opening the relevant html pages using HTTP POST & GET.
• Parsing the student info/course/attendance data logically.
• Creating a local database for offline view.
• Creating a user-friendly interface with proper highlighting using XML.
• Creating an efficient navigation design and making it compatible with all Android
API versions and devices.
• Connecting the application with my personal server (Server-Client
Communication) for updates using Google App Engine to host the server.
• Deployment and usage analysis using Google Analytics
• Monetization through advertisements using Google Admob
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
4
2.2 SOFTWARE & HARDWARE REQUIREMENTS
2.2.1 DEVELOPMENT
Hardware Requirements Software Requirements
Laptop with following specs was
used for development
o Processor: Intel Core 2 Duo
P8600 (2.4GHz),
o Memory: 3GB - 2DIMM DDR3
o HDD: 320GB 7200rpm
o Graphics: ATI Mobility
RADEON HD 3670 (512MB)
o Display: 14.0" 1080p Full HD
RGBLED LCD with 2.0 MP
Webcam
OS: Windows 7 Professional
(32bit)
 Eclipse with Java SDK & Android
SDK & Android Emulator
 CorelDRAW X4
 Google App Engine Launcher
 Python SDK
 Google Analytics SDK
 AdMob platform SDK
2.2.2 SERVICES
Hardware Requirements Software Requirements
No Hardware Required  Amizone
https://amizone.net/
 Google App Engine
https://appengine.google.com
 Google Analytics
https://analytics.google.com
 Google Admob
https://admob.com
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
5
2.2.3 USER
Hardware Requirements Software Requirements
 Android-enabled Mobile Phone
For User Testing and Review, the
following were used:
o Samsung Galaxy SII
o Sony Ericsson Xperia Mini Pro
o Samsung Galaxy Tab
o HTC Hero
 Android OS with minimum
SDK ver 2.1
2.3 IMPLEMENTATION AND TECHNOLOGIES USED
The concepts used in this project are as follows:
 HTTPs POST & GET
 HTML Parsing
 SQLite Storage
 Android Development
 Server-Client Communication
 Monitoring Application Usage
 Monetizing with Advertisements
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
6
2.3.1 HTTPS POST & GET
The application uses HTTPS POST and HTTPS GET to extract html code of the required
pages. The HTTPS POST is used for the login into the student’s Amizone account while
the HTTP GET is used for retrieving the source code from specific pages.
Using these methods, the html codes of the following pages are retrieved: My Courses,
My Faculty, Attendance Details of each Course and Time Table.
In the HTTPs POST, certain parameters should be sent. Besides the username and
password, there were hidden parameters as well. Them being:
 __EVENTTARGET
 __EVENTARGUMENT
 __VIEWSTATE
 __EVENTVALIDATION
FIG 2-1 HTTP POST
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
7
The Username and Password is given by the user of the android application but hidden
parameters were browser generated. Using a HTTP Get, I retrieved those values from
source code and sent them back in the HTTP Post.
FIG 2-2 HTTPS GET
There was also a need to study SSL and Trust Managers.
An https page uses SSL protocol. I had to configure the android app to accept Amizone’s
digital certificate since it did not recognize it. This ensures a unique session between the
user and the server, ensuring security in the login and retrieval process.
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
8
2.3.2 HTML PARSING
All the required information on a page can be extracted using the concept of HTML
PARSING.
Data Scraping is a technique in which a computer program extracts data from human-
readable output coming from another program. HTML Parsing is a more specific form of
data scraping, where the readable output is HTML.
FIG 2-3 MY COURSES
To show how parsing was implemented in my application, I’ve added a screenshot of the
My Courses page of Amizone. This is the table within that page which provides us with
the immediate details of each course.
Consider a single row, that is the information about a single course. The details of this
course, say Computer Graphics (highlighted by red in the above diagram) needs to be
extracted. Below is that row’s respective source code. All the information required is
FIG 2-4 ONE COURSE CODE SNIPPET
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
9
available to us. All we need to do is retrieve specific values (highlighted by green in the
below diagram) using string functions.
FIG 2-5 URL FOR ATTENDANCE DETAILS
Also, the next pages (attendance details of each course) can be found from the extracted
values as well. From there, we can programmatically retrieve for each course.
2.3.3 SQLite DATABASE
In order to store the values retrieved, I’ve made use of the databases which come inbuilt
with Android. SQLite is a relational database management system contained in a small
programming library. In contrast to other database management systems, SQLite is not a
separate process that is accessed from the client application, but an integral part of it.
As of now, six tables have been made in my database.
Among the six tables, five of them are dependent on the online data retrieved. Therefore,
every time there is synchronization with Amizone, the tables are wiped clean and the new
values replace the old. However, the sixth table, AllTeachers, is an independent table.
These values are user-defined and therefore are independent of the sync. Therefore, this
table is never destroyed, but updated every time the user makes an entry.
FIG 2-6 TABLE I : USERPASS
 Table I : UserPass :This table stores the login details and preferences of the user.
 Table II: MyCourses: This table stores the course information.
 Table III: CourseTeacher: This table stores the faculty assigned to course.
 Table IV: AllTeachers: This table stores the faculty information.
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
10
FIG 2-7 OTHER TABLES USED
 Table V: AttendanceLogs: This table stores the attendance logs of all courses.
 Table VI: TimeTable: This table stores the timetable.
2.3.4 ANDROID DEVELOPMENT
An Android application is composed of more than just code—it requires resources that
are separate from the source code, such as images, audio files, and anything relating to
the visual presentation of the application. For example, you should define animations,
menus, styles, colors, and the layout of activity user interfaces with XML files.
A good amount of effort has been taken to ensure that the application has an efficient
navigational design so that users will find it direct and simple to access each of the
application’s features. The interface has also been made simple yet effective in
communicating just enough information to the user without crowding the screen.
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
11
FIG 2-8 ACTIVITY EXAMPLE
FIG 2-9 PROGRESS DIALOG BOX
When making an android application, a lot of things have to be considered, such as,
• Screen size and density
• Input configurations
• Device features
• Platform Version
Every user will have a different device (which in turn implies different screen sizes and
hardware) and in turn, a different Android OS. It is my task to ensure that the application
is compatible with all devices which install my application.
Besides design and compatibility, I also had to learn advanced programming concepts
like threads and asynchronous tasks to implement the progress dialog box of my
application. After many repeated trials and errors, I finally managed to create a non-UI
thread which can handle the syncing process and be minimized so that the user does not
need to wait directly for it to complete. He or she may partake in other activities while the
process continues in the background. On completion, the current page is refreshed with
the new values.
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
12
2.3.5 SERVER-CLIENT COMMUNICATION
I wanted my application to connect to my server for updates before it continues to sync
with Amizone. This ensures control of Application through a Google App intermediary
page.
The application can receive three types of messages from the server. Them being:
• The YES message
• The NO message
• The DESTRUCT message
The Yes message, as I call it, is the message which
allows the syncing process with Amizone and
informs the user of any new updates. By
changing this value on my server, I can ensure
every user of this app will be informed when they
update.
The No Message is to block the syncing process
with Amizone and display my customized error
message. This is to be done when Amizone
changes it’s html code and possibly create some
parsing errors.
The Destruct Message is a more intense form of
the No Message. This not only blocks the syncing
with Amizone, but rather prevents the user from
using any feature of the application. This was
done to force that the user to update his version.
My server-side application (amizoner.appspot.com) is hosted on Google App Engine, and
the messages are part of a validation page which I make my application direct to. This
ensures the very latest version is run on all devices.
Google App Engine (GAE) is a unique hosting platform that lets you build applications
and run them in Google’s data centers using the massive global infrastructure built to run
the Internet’s most powerful company.
FIG 2-10 AMIZONER:
SELFDESTRUCT
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
13
I also needed to study some rudimentary python to help me with redirection of URLS for
my server. GAE has a lot of potential and I intend to go more deeply into this next time.
2.3.6 MONITORING APPLICATION USAGE
In order to monitor the application usage and track it, I’ve downloaded and used the
Google Analytics for Android SDK.
Developers can then use the Google Analytics app-tracking reports to measure:
 The number of active users that are using their applications.
 From where in the world the application is being used.
 Adoption and usage of specific features.
 In-app purchases and transactions.
 The number and type of application crashes.
 And many other useful metrics.
FIG 2-11 GOOGLE ANALYTICS SCREENSHOT
Sales and usage analytics let companies monitor and understand client actions and
preferences. I was white listed for usage of recently released Version 2 and therefore I
have quickly adapted the application to Version 2 which has several advanced analytics
features.
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
14
2.3.7 MONETIZING WITH ADVERTISEMENTS
Any Software product requires marketing. A software application can be launched either
for a price or free supported by Advertisements. This is important for sustenance and
supporting continued developing activity and the related business. I have adopted the
“free mode” with a minimally intrusive advertisement option.
I have opened a Google AdMob account for the same. As per the terms, all
Advertisement revenue realized from the application will be credited to my Bank account
by wire transfer.
FIG 2-12 ADMOB REPORTING SCREENSHOT
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
15
Chapter 3
RESULTS AND DISCUSSION
AMIZONER, as an application, has been developed, tested and successfully distributed
on the market (Google Play). It is now available for download by all Amitians. I intend to
learn from the feedback and also take this as an opportunity to learn marketing skills
which I will require in the fulfillment of my MBA degree.
Developing this application has enabled me to study many concepts and technologies
which I can use to create robust applications following a systematic software
development cycle.
Briefly put, the learnings have been as follows:
Android Development
 Compatibility with various Android versions
 Transition Animations
 XML Designing
 Dynamically creating layouts using Java
 Backend Java programming
Client-side communication
 Syncing with Amizone
 Syncing with personal server hosted on Google App Engine
 Parsing source code to retrieve specific information
 Create a secure connection (SSL protocols)
Server-side communication
 Creating a server using GAE (Python)
 Communication with Android Device
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
16
Local database management
 Designing ideal schema
 Indexing and creating relationships between tables
 Proper retrieval, storage, and updating of the same
Advertising and Monetizing
 Adding Advertising to understand monetization of apps
 Publicizing the app on Facebook, Twitter, etc
Analysis of User and Usage
 Using Google Analytics to track app usage
 Uploading the application on Google Play (Google Market)
Application Testing
 Network Connectivity Errors
 Database management Errors
 Async Tasks and Threads Errors
 Navigation within Activities Errors
 Dynamic Layout Creation Errors
 And many prevalent bugs of Android (early APIs)
Below is a screenshot of the application error reports provided by Google Play when a
user chooses to send the error reports.
FIG 3-1 GOOGLE PLAY APPLICATION ERROR REPORTS
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
17
FIG 3-3 AMIZONER: MY COURSES
AMIZONER was made with the intent of helping students keep track of their attendance
and be warned when it falls short. This has been accomplished. A screenshot of each task
in progress is shown, with its respective explanation kept brief to catch the imagination of
the reader.
LOGIN AND UPDATE
Taking Username and Password from the student,
it performs a login into Amizone.
Once logged in, it extracts the required attendance
details from specific pages and stores them into a
database.
The Syncing process with Amizone can minimized
so that the user does not need to wait for the
update.
MY COURSES
The student can specify the target percentage which
they wish to maintain. In the screenshot, the
‘Desired percentage’ is set to 95%.
The courses will be displayed, as shown, coloured
red or green whether they cross their target
percentage or not.
When a course has been tapped, more details of the
same will be displayed.
FIG 3-2 AMIZONER: HOME
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
18
FIG 3-4 AMIZONER: SPECIFIC
COURSE
TAP COURSE FOR MORE INFO
Besides the percentage attendance, it also displays
the No. of classes one needs to attend to attain
Target percentage. This is found using an
algorithm I designed which does not need the total
number of classes.
It shows the teacher’s cabin no incase the student
needs to clarify his uploaded attendance. It
provides provisions to modify and store it. It also
shows the attendance log with reformatted dates.
END OF DAYS
The ‘End Of Days’ is a date-wise search of the
attendance logs of the student.
After a tiring day, the student need only click a
button and see the day’s attendance on one page
rather than checking each and every course on
amizone.
Each course can be tapped to show more details
about the same. These courses of the day are sorted
according to the the timetable.
FIG 3-5 AMIZONER:
ATTENDANCE
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
19
TIME TABLE
The Time Table is shown day wise, with a fast
clean user-interface. The day can be easily
changed by clicking on the spinner control
provided at the top of the page.
Each period shows the course’s FULL name,
where Amizone shows its short form.
Each course has a time slot and its classroom
mentioned. On tapping a course, more details are
shown.
THE HOLIDAYS
Hostlers have a need to book tickets to go home in
advance. This page helps them plan that.
This page displays both the calendar view and list
view of all the holidays of the present year.
The holiday list is not restricted to that of India
alone, but is available also for the students
studying in Amity University of Singapore, UK,
US, and Dubai.
FIG 3-6 AMIZONER:
TIMETABLE
FIG 3-7 AMIZONER: HOLIDAYS
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
20
The following screenshot displays the Eclipse Package Explorer. This includes the java
codes under the src folder, the animation xmls under res/anim folder, the images and
styles in xml used under res/drawable folder, the external jar files used under libs folder
and finally the layout xmls under the layout folder.
FIG 3-8 APPLICATION PACKAGE EXPLORER(ECLIPSE)
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
21
The AMIZONER Application was analyzed
using the Metrics 1.3.6 plugin of Eclipse.
A total of 30 classes were made for achieving
the desired outcomes from the application and
a total of 164 methods were used.
Here, the total lines of code only include non-
blank and non-comment lines in a
compilation unit.
FIG 3-10 METRICS: TOTAL LINES OF CODE
FIG 3-9 METRICS: ACTIVITY CLASSES
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
22
Chapter 4
CONCLUSION & RECOMMENDATIONS
The development experience during the summer vacation has been very exciting and
rewarding. The project has enabled me with skillsets in leveraging the Eclipse with
Android SDK development environment.
I have been able to use Android Developer Tools, Java IDE for developing, debugging,
and packaging Android apps.
The project prompted me to register my own domain name (www.metalwihen.com) and
host the same in Google App Engine. I believe that Google App Engine (GAE) with
Android will offer a developer the best of both worlds: server side and client side apps.
I also ended up taking an account in Google Play as a part of this project which give
insights into Android application distribution.
FIG 4-1 GOOGLE PLAY USER DEVICE GRAPH
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
23
FIG 4-2 GOOGLE PLAY TOTAL USER INSTALL GRAPH
The outcome of this summer assignment has elevated me to a higher level of
understanding of a number of aspects of IT product delivery with respect to android
platform. I hope to continue my efforts in this space taking live projects from Industry,
for which I would request the support of the Amity faculty and placement cell.
As of now, the application retrieves information about the user by parsing specific pages
of www.amizone.net. However, this causes the syncing process to be rather slow as it
needs to perform an HTTP Get for each page (over 20 pages are being parsed for the
required outputs).
If Amity was to provide the APIs to access the portal database, I would be able to create
a single direct connection and the time taken for the syncing would decrease dramatically
ensuring user satisfaction.
There is also potential in creating CRON jobs in the GAE to do the parsing instead of the
android phone itself. If accomplished, the mobile can access the retrieved values from my
server making the syncing faster.
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
24
FIG 5-1 AMIZONER: SPLASH SCREEN
Chapter 5
IMPLICATIONS FOR FUTURE RESEARCH
Applications in Android platform are growing at unimaginably high pace. Android has
rapidly become the fastest-growing mobile OS with largest installed base. Every day
more than 900,000 new Android devices are activated worldwide. Android’s openness
has made it a favorite for consumers and developers alike, driving strong growth in app
consumption. Android users download more than 1 billion apps and games from Google
Play each month.
With its partners, Android is continuously pushing the boundaries of hardware and
software forward to bring new capabilities to users and developers. For developers,
Android innovation lets us build powerful, differentiated applications that use the latest
mobile technologies. Google Play is the premier marketplace for distributing Android
apps.
I propose to continue my development activities
in Android, Java and Python to be part of the
ongoing Innovations happening in the Industry.
I also would seek to found a company to slowly
build on Android development leveraging Google
App Engine.
I hope to work under the guidance and facilitation
of the Amity faculty to interact with the Industry
(both Developer community and Hardware
manufacturers) for enabling me to undertake Live
projects as per requirements of the Industry.
PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION
25
REFERENCES
[1] H. Schildt, The Complete Reference: Java, New Delhi: Tata McGraw-Hill Publishing Company
Limited, 2007.
[2] M. L. Murphy, The Busy Coder’s Guide to Android Development, NEW DELHI:
CommonsWare, LLC, 2009.
[3] D. Flanagan, Java Examples in a Nut Shell, Sebastopol: O'Reilly & Associates, Inc, 1997.
[4] D. Koosis, Java 2 Programming for Dummies, New Delhi: IDG Books, India Ltd, 2000.
[5] "Stack Overflow," [Online]. Available: http://stackoverflow.com. [Accessed June 2012].
[6] "Android Developer Site," [Online]. Available: http://developer.android.com. [Accessed
June 2012].
[7] "Wow Java Blog," [Online]. Available: http://wowjava.wordpress.com. [Accessed June
2012].
[8] "Vogella Tutorials," [Online]. Available: http://vogella.com. [Accessed July 2012].
[9] "Android Coding Blog," [Online]. Available: http://android-coding.blogspot.in. [Accessed
July 2012].
[10] "Android Snippets," [Online]. Available: http://androidsnippets.com. [Accessed June 2012].
[11] "Learn It Stuff Blog," [Online]. Available: http://learn-it-stuff.blogspot.in. [Accessed June
2012].

Weitere ähnliche Inhalte

Was ist angesagt?

My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsUsman Sait
 
SRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATIONSRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATIONAtul Kushwaha
 
Airline management system
Airline management systemAirline management system
Airline management systemSH Rajøn
 
Training and placement
Training and placementTraining and placement
Training and placementBhavesh Parmar
 
Student Management System best PPT
Student Management System best PPTStudent Management System best PPT
Student Management System best PPTDheeraj Kumar tiwari
 
Online Attendance System
Online Attendance SystemOnline Attendance System
Online Attendance SystemAkash Kr Sinha
 
Synopsis of online Attendance System
Synopsis of online Attendance SystemSynopsis of online Attendance System
Synopsis of online Attendance SystemShyam Sundar Pandey
 
My Final year project on Android app development
My Final year project on Android app developmentMy Final year project on Android app development
My Final year project on Android app developmentrahulkumargiri
 
Bus Tracking Application in Android
Bus Tracking Application in AndroidBus Tracking Application in Android
Bus Tracking Application in AndroidAbhishek Singh
 
online quiz application project presentation
online quiz application project presentationonline quiz application project presentation
online quiz application project presentationGyanuRana
 
Attendance management system
Attendance management system Attendance management system
Attendance management system SHIVANGI GOEL
 
15.project attendence managemnt system
15.project attendence managemnt system15.project attendence managemnt system
15.project attendence managemnt systemHaseeb Nasir
 
Project final report
Project final reportProject final report
Project final reportALIN BABU
 
Final Year Projects (Computer Science 2013) - Syed Ubaid Ali Jafri
Final Year Projects (Computer Science 2013) - Syed Ubaid Ali JafriFinal Year Projects (Computer Science 2013) - Syed Ubaid Ali Jafri
Final Year Projects (Computer Science 2013) - Syed Ubaid Ali JafriSyed Ubaid Ali Jafri
 
College Management System project srs 2015
College Management System project srs 2015College Management System project srs 2015
College Management System project srs 2015Surendra Mahala
 
SRS for student database management system
SRS for student database management systemSRS for student database management system
SRS for student database management systemSuman Saurabh
 
Online Railway Reservation System
Online Railway Reservation SystemOnline Railway Reservation System
Online Railway Reservation SystemPrince Kumar
 
Major File On web Development
Major File On web Development Major File On web Development
Major File On web Development Love Kothari
 
Synopsis on Online examination system using php
Synopsis on Online examination system using phpSynopsis on Online examination system using php
Synopsis on Online examination system using phpArchana Jha
 
Chat Application [Full Documentation]
Chat Application [Full Documentation]Chat Application [Full Documentation]
Chat Application [Full Documentation]Rajon
 

Was ist angesagt? (20)

My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & Snapshots
 
SRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATIONSRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATION
 
Airline management system
Airline management systemAirline management system
Airline management system
 
Training and placement
Training and placementTraining and placement
Training and placement
 
Student Management System best PPT
Student Management System best PPTStudent Management System best PPT
Student Management System best PPT
 
Online Attendance System
Online Attendance SystemOnline Attendance System
Online Attendance System
 
Synopsis of online Attendance System
Synopsis of online Attendance SystemSynopsis of online Attendance System
Synopsis of online Attendance System
 
My Final year project on Android app development
My Final year project on Android app developmentMy Final year project on Android app development
My Final year project on Android app development
 
Bus Tracking Application in Android
Bus Tracking Application in AndroidBus Tracking Application in Android
Bus Tracking Application in Android
 
online quiz application project presentation
online quiz application project presentationonline quiz application project presentation
online quiz application project presentation
 
Attendance management system
Attendance management system Attendance management system
Attendance management system
 
15.project attendence managemnt system
15.project attendence managemnt system15.project attendence managemnt system
15.project attendence managemnt system
 
Project final report
Project final reportProject final report
Project final report
 
Final Year Projects (Computer Science 2013) - Syed Ubaid Ali Jafri
Final Year Projects (Computer Science 2013) - Syed Ubaid Ali JafriFinal Year Projects (Computer Science 2013) - Syed Ubaid Ali Jafri
Final Year Projects (Computer Science 2013) - Syed Ubaid Ali Jafri
 
College Management System project srs 2015
College Management System project srs 2015College Management System project srs 2015
College Management System project srs 2015
 
SRS for student database management system
SRS for student database management systemSRS for student database management system
SRS for student database management system
 
Online Railway Reservation System
Online Railway Reservation SystemOnline Railway Reservation System
Online Railway Reservation System
 
Major File On web Development
Major File On web Development Major File On web Development
Major File On web Development
 
Synopsis on Online examination system using php
Synopsis on Online examination system using phpSynopsis on Online examination system using php
Synopsis on Online examination system using php
 
Chat Application [Full Documentation]
Chat Application [Full Documentation]Chat Application [Full Documentation]
Chat Application [Full Documentation]
 

Ähnlich wie AMIZONER: Final Report

Pinkle makhijani supermarket billing system vb project
Pinkle makhijani supermarket billing system vb projectPinkle makhijani supermarket billing system vb project
Pinkle makhijani supermarket billing system vb projectPinkleMakhijani
 
21BIT044_DOCUMENTATION (1).docx
21BIT044_DOCUMENTATION (1).docx21BIT044_DOCUMENTATION (1).docx
21BIT044_DOCUMENTATION (1).docxhariharan536808
 
21BIT044_DOCUMENTATION (1).docx
21BIT044_DOCUMENTATION (1).docx21BIT044_DOCUMENTATION (1).docx
21BIT044_DOCUMENTATION (1).docxhariharan536808
 
FINAL REPORT DEC
FINAL REPORT DECFINAL REPORT DEC
FINAL REPORT DECAxis Bank
 
Review on College Event Organizer
Review on College Event OrganizerReview on College Event Organizer
Review on College Event OrganizerIRJET Journal
 
Latest proposal project info zakat
Latest proposal project info zakatLatest proposal project info zakat
Latest proposal project info zakatUmmi Zakiah
 
Android Based Quiz Application
Android Based Quiz ApplicationAndroid Based Quiz Application
Android Based Quiz ApplicationIRJET Journal
 
IRJET- Tech-Fest Management System
IRJET- Tech-Fest Management SystemIRJET- Tech-Fest Management System
IRJET- Tech-Fest Management SystemIRJET Journal
 
1112566_Dissertation
1112566_Dissertation1112566_Dissertation
1112566_DissertationHarry Hall
 
PR3228 - SMART_PARKING_SYSTEM_REPORT - RAJ MANI M.pdf
PR3228 - SMART_PARKING_SYSTEM_REPORT - RAJ MANI M.pdfPR3228 - SMART_PARKING_SYSTEM_REPORT - RAJ MANI M.pdf
PR3228 - SMART_PARKING_SYSTEM_REPORT - RAJ MANI M.pdfShravyaKandukuri
 
Smart parking documentation .pdf
Smart parking documentation .pdfSmart parking documentation .pdf
Smart parking documentation .pdfShravyaKandukuri
 
DEVOPS SEMINAR INDEX (1) (10).docx
DEVOPS SEMINAR INDEX (1) (10).docxDEVOPS SEMINAR INDEX (1) (10).docx
DEVOPS SEMINAR INDEX (1) (10).docxmansooraliattar
 
SECTZG629T_FR_2012HZ78512
SECTZG629T_FR_2012HZ78512SECTZG629T_FR_2012HZ78512
SECTZG629T_FR_2012HZ78512Najeem M Illyas
 
INTERNET OF BEHAVIOUR.docx
INTERNET OF BEHAVIOUR.docxINTERNET OF BEHAVIOUR.docx
INTERNET OF BEHAVIOUR.docxAmit Kumar
 
Android Based Facemask Detection system report.pdf
Android Based Facemask Detection system report.pdfAndroid Based Facemask Detection system report.pdf
Android Based Facemask Detection system report.pdfApuKumarGiri
 
SMART_PARKING_SYSTEM_REPORT.docx
SMART_PARKING_SYSTEM_REPORT.docxSMART_PARKING_SYSTEM_REPORT.docx
SMART_PARKING_SYSTEM_REPORT.docxSaurabhKumar250160
 

Ähnlich wie AMIZONER: Final Report (20)

FYP 2 REPORT AMIRUL ARIFF
FYP 2 REPORT AMIRUL ARIFFFYP 2 REPORT AMIRUL ARIFF
FYP 2 REPORT AMIRUL ARIFF
 
Pinkle makhijani supermarket billing system vb project
Pinkle makhijani supermarket billing system vb projectPinkle makhijani supermarket billing system vb project
Pinkle makhijani supermarket billing system vb project
 
21BIT044_DOCUMENTATION (1).docx
21BIT044_DOCUMENTATION (1).docx21BIT044_DOCUMENTATION (1).docx
21BIT044_DOCUMENTATION (1).docx
 
21BIT044_DOCUMENTATION (1).docx
21BIT044_DOCUMENTATION (1).docx21BIT044_DOCUMENTATION (1).docx
21BIT044_DOCUMENTATION (1).docx
 
FINAL REPORT DEC
FINAL REPORT DECFINAL REPORT DEC
FINAL REPORT DEC
 
Review on College Event Organizer
Review on College Event OrganizerReview on College Event Organizer
Review on College Event Organizer
 
Latest proposal project info zakat
Latest proposal project info zakatLatest proposal project info zakat
Latest proposal project info zakat
 
Android Based Quiz Application
Android Based Quiz ApplicationAndroid Based Quiz Application
Android Based Quiz Application
 
term paper 1
term paper 1term paper 1
term paper 1
 
IRJET- Tech-Fest Management System
IRJET- Tech-Fest Management SystemIRJET- Tech-Fest Management System
IRJET- Tech-Fest Management System
 
1112566_Dissertation
1112566_Dissertation1112566_Dissertation
1112566_Dissertation
 
PR3228 - SMART_PARKING_SYSTEM_REPORT - RAJ MANI M.pdf
PR3228 - SMART_PARKING_SYSTEM_REPORT - RAJ MANI M.pdfPR3228 - SMART_PARKING_SYSTEM_REPORT - RAJ MANI M.pdf
PR3228 - SMART_PARKING_SYSTEM_REPORT - RAJ MANI M.pdf
 
Smart parking documentation .pdf
Smart parking documentation .pdfSmart parking documentation .pdf
Smart parking documentation .pdf
 
Full Resolt Report
Full Resolt ReportFull Resolt Report
Full Resolt Report
 
DEVOPS SEMINAR INDEX (1) (10).docx
DEVOPS SEMINAR INDEX (1) (10).docxDEVOPS SEMINAR INDEX (1) (10).docx
DEVOPS SEMINAR INDEX (1) (10).docx
 
SECTZG629T_FR_2012HZ78512
SECTZG629T_FR_2012HZ78512SECTZG629T_FR_2012HZ78512
SECTZG629T_FR_2012HZ78512
 
INTERNET OF BEHAVIOUR.docx
INTERNET OF BEHAVIOUR.docxINTERNET OF BEHAVIOUR.docx
INTERNET OF BEHAVIOUR.docx
 
Android Based Facemask Detection system report.pdf
Android Based Facemask Detection system report.pdfAndroid Based Facemask Detection system report.pdf
Android Based Facemask Detection system report.pdf
 
3 job adda doc 1
3 job adda doc 13 job adda doc 1
3 job adda doc 1
 
SMART_PARKING_SYSTEM_REPORT.docx
SMART_PARKING_SYSTEM_REPORT.docxSMART_PARKING_SYSTEM_REPORT.docx
SMART_PARKING_SYSTEM_REPORT.docx
 

Mehr von Neil Mathew

AMIZONER: Weekly Progress Reports
AMIZONER: Weekly Progress ReportsAMIZONER: Weekly Progress Reports
AMIZONER: Weekly Progress ReportsNeil Mathew
 
Computer Graphics Lab
Computer Graphics LabComputer Graphics Lab
Computer Graphics LabNeil Mathew
 
Programming in C Lab
Programming in C LabProgramming in C Lab
Programming in C LabNeil Mathew
 
Role of IT & Computer in Environment
Role of IT & Computer in EnvironmentRole of IT & Computer in Environment
Role of IT & Computer in EnvironmentNeil Mathew
 
Data Structures Lab
Data Structures LabData Structures Lab
Data Structures LabNeil Mathew
 
Communication Assessment File
Communication Assessment FileCommunication Assessment File
Communication Assessment FileNeil Mathew
 
Cloud Computing and Google's advancement in the field
Cloud Computing and Google's advancement in the fieldCloud Computing and Google's advancement in the field
Cloud Computing and Google's advancement in the fieldNeil Mathew
 
Unix Programming Lab
Unix Programming LabUnix Programming Lab
Unix Programming LabNeil Mathew
 
The Cube - Class XII Project
The Cube - Class XII ProjectThe Cube - Class XII Project
The Cube - Class XII ProjectNeil Mathew
 
Copywriting & Storyboarding (Advertising & Sales Promotion)
Copywriting & Storyboarding (Advertising & Sales Promotion)Copywriting & Storyboarding (Advertising & Sales Promotion)
Copywriting & Storyboarding (Advertising & Sales Promotion)Neil Mathew
 
American Airlines Merger (Management In Action Case Study)
American Airlines Merger (Management In Action Case Study)American Airlines Merger (Management In Action Case Study)
American Airlines Merger (Management In Action Case Study)Neil Mathew
 
Good Governance Leads To Flourish Society & Nation (BS SAP)
Good Governance Leads To Flourish Society & Nation (BS SAP)Good Governance Leads To Flourish Society & Nation (BS SAP)
Good Governance Leads To Flourish Society & Nation (BS SAP)Neil Mathew
 
High Fortune (Product Brand Management)
High Fortune (Product Brand Management)High Fortune (Product Brand Management)
High Fortune (Product Brand Management)Neil Mathew
 
Cost Benefit Analysis in Public Project Appraisal (PPAC)
Cost Benefit Analysis in Public Project Appraisal (PPAC)Cost Benefit Analysis in Public Project Appraisal (PPAC)
Cost Benefit Analysis in Public Project Appraisal (PPAC)Neil Mathew
 
Corportate Entrepreneurship at WIPRO
Corportate Entrepreneurship at WIPROCorportate Entrepreneurship at WIPRO
Corportate Entrepreneurship at WIPRONeil Mathew
 
Consumer Perception of Job Seekers in updating their Job Profiles on Job Portals
Consumer Perception of Job Seekers in updating their Job Profiles on Job PortalsConsumer Perception of Job Seekers in updating their Job Profiles on Job Portals
Consumer Perception of Job Seekers in updating their Job Profiles on Job PortalsNeil Mathew
 
How OLX changed the consumer involvement in the Scrap Market
How OLX changed the consumer involvement in the Scrap MarketHow OLX changed the consumer involvement in the Scrap Market
How OLX changed the consumer involvement in the Scrap MarketNeil Mathew
 
Innovation Jockeys 3 - Gramseva: Kisan
Innovation Jockeys 3 - Gramseva: KisanInnovation Jockeys 3 - Gramseva: Kisan
Innovation Jockeys 3 - Gramseva: KisanNeil Mathew
 

Mehr von Neil Mathew (20)

AMIZONER: Weekly Progress Reports
AMIZONER: Weekly Progress ReportsAMIZONER: Weekly Progress Reports
AMIZONER: Weekly Progress Reports
 
Computer Graphics Lab
Computer Graphics LabComputer Graphics Lab
Computer Graphics Lab
 
Programming in C Lab
Programming in C LabProgramming in C Lab
Programming in C Lab
 
Role of IT & Computer in Environment
Role of IT & Computer in EnvironmentRole of IT & Computer in Environment
Role of IT & Computer in Environment
 
French Open
French OpenFrench Open
French Open
 
Data Structures Lab
Data Structures LabData Structures Lab
Data Structures Lab
 
DBMS Lab
DBMS LabDBMS Lab
DBMS Lab
 
Communication Assessment File
Communication Assessment FileCommunication Assessment File
Communication Assessment File
 
Cloud Computing and Google's advancement in the field
Cloud Computing and Google's advancement in the fieldCloud Computing and Google's advancement in the field
Cloud Computing and Google's advancement in the field
 
Unix Programming Lab
Unix Programming LabUnix Programming Lab
Unix Programming Lab
 
The Cube - Class XII Project
The Cube - Class XII ProjectThe Cube - Class XII Project
The Cube - Class XII Project
 
Copywriting & Storyboarding (Advertising & Sales Promotion)
Copywriting & Storyboarding (Advertising & Sales Promotion)Copywriting & Storyboarding (Advertising & Sales Promotion)
Copywriting & Storyboarding (Advertising & Sales Promotion)
 
American Airlines Merger (Management In Action Case Study)
American Airlines Merger (Management In Action Case Study)American Airlines Merger (Management In Action Case Study)
American Airlines Merger (Management In Action Case Study)
 
Good Governance Leads To Flourish Society & Nation (BS SAP)
Good Governance Leads To Flourish Society & Nation (BS SAP)Good Governance Leads To Flourish Society & Nation (BS SAP)
Good Governance Leads To Flourish Society & Nation (BS SAP)
 
High Fortune (Product Brand Management)
High Fortune (Product Brand Management)High Fortune (Product Brand Management)
High Fortune (Product Brand Management)
 
Cost Benefit Analysis in Public Project Appraisal (PPAC)
Cost Benefit Analysis in Public Project Appraisal (PPAC)Cost Benefit Analysis in Public Project Appraisal (PPAC)
Cost Benefit Analysis in Public Project Appraisal (PPAC)
 
Corportate Entrepreneurship at WIPRO
Corportate Entrepreneurship at WIPROCorportate Entrepreneurship at WIPRO
Corportate Entrepreneurship at WIPRO
 
Consumer Perception of Job Seekers in updating their Job Profiles on Job Portals
Consumer Perception of Job Seekers in updating their Job Profiles on Job PortalsConsumer Perception of Job Seekers in updating their Job Profiles on Job Portals
Consumer Perception of Job Seekers in updating their Job Profiles on Job Portals
 
How OLX changed the consumer involvement in the Scrap Market
How OLX changed the consumer involvement in the Scrap MarketHow OLX changed the consumer involvement in the Scrap Market
How OLX changed the consumer involvement in the Scrap Market
 
Innovation Jockeys 3 - Gramseva: Kisan
Innovation Jockeys 3 - Gramseva: KisanInnovation Jockeys 3 - Gramseva: Kisan
Innovation Jockeys 3 - Gramseva: Kisan
 

Kürzlich hochgeladen

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 

Kürzlich hochgeladen (20)

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 

AMIZONER: Final Report

  • 1. i PRACTICAL TRAINING – I PROJECT REPORT ON AN ANDROID APPLICATION LINKED TO GOOGLE APP ENGINE B TECH COMPUTER SCIENCE & ENGINEERING + MBA (2010-2015) AMITY SCHOOL OF ENGINEERING AND TECHNOLOGY FACULTY GUIDE: MS. SHANU SHARMA ASST PROFESSOR, CSE DEPT. ASET, AMITY UNIVERSITY SUBMITTED BY: NAME: NEIL MATHEW ENROLL NO: A2324710002 BATCH: 2010-2015 SECTION & ROLL NO: 5CS4 - Y3305
  • 2. ii CERTIFICATE This is to certify that Neil Mathew, student of BTech. Computer Science & Engineering + MBA, has carried out the work presented in the project of the Practical Training entitled “AMIZONER: Attendance Planner on Android” as a part of second year program of Bachelor of Technology in Computer Science and Engineering from Amity School of Engineering and Technology, Amity University, Noida, Uttar Pradesh under my supervision. Ms. SHANU SHARMA Department of Computer Science Amity School of Engineering and Technology Amity University, Noida.
  • 3. iii ACKNOWLEDGEMENTS This practical training as a part of the course curriculum has helped me immensely in understanding implementing software applications in Android. This work would not have been successfully implemented without the support of many who guided me in various stages of implementation and testing. I acknowledge their kind support. I thank our Director General Dr. Balvinder Shukla and our Head of the Department Dr. Abhay Bansal for their direction and keenness in including Practical Training as an important aspect of the curriculum and constantly guiding us all. I also extend my gratitude to Mr. KamalKant Ahirwar, for continuous encouragement. Last but not the least, I would like to thank Ms. Shanu Sharma, my mentor and project guide, for her guidance and whole hearted support in the making of this project. I am thankful to her for giving me her valuable time and attention providing me directions for completing my project in time. Without her, this project would be a distant reality. Neil Mathew BTech CSE + MBA (2010-2015) Enrollment No: A232471002 Amity University
  • 4. iv ABSTRACT Amity University has an excellent Student Information Portal and all Amity students use the same frequently. Attendance monitoring is one of the key issues students are concerned with. An easy and convenient way to access the Student Portal for updated information on attendance was in my mind for some time. AMIZONER is an android-based application which has the following features: • logs in to www.amizone.net • parses attendance details • stores it locally in the phone on SQLite database • works offline based on the data thus stored • and finally displays the computed information in a user-friendly manner Besides what is provided in Amizone, my application introduces more information for the user, and shows it in a more convenient and concise manner. AMIZONER was designed as an application to meet every student’s needs when it came to attendance. This application has been a product of various technologies. It establishes a secure connection with Amizone and with the user’s id and password, logs in using an HTTPS Post. It then extracts the required information about the student from the retrieved pages using HTML parsing and stores the same using the phone’s local database, SQLite. Then, using the Android platform, the information collected is displayed to the user in an organized, concise and convenient manner using various visual means to highlight the courses based on its attendance percentage (using XML to design these pages and JAVA to programmatically update them with the computed values). Also, the application connects to the server for updates (running on Google App Engine using Python as its language).
  • 5. v TABLE OF CONTENTS CERTIFICATE................................................................................................................... ii ACKNOWLEDGEMENTS...............................................................................................iii ABSTRACT....................................................................................................................... iv TABLE OF CONTENTS.................................................................................................... v TABLE OF FIGURES...................................................................................................... vii LIST OF ABBREVIATIONS..........................................................................................viii CHAPTER 1: INTRODUCTION ..................................................................................... 1 1.1 ABOUT THE PROJECT ..................................................................................... 1 1.2 MOTIVATION .................................................................................................... 1 1.3 SCOPE ................................................................................................................. 2 CHAPTER 2: MATERIALS AND METHODS............................................................... 3 2.1 METHODOLOGY............................................................................................... 3 2.2 SOFTWARE & HARDWARE REQUIREMENTS ............................................ 4 2.2.1 DEVELOPMENT.............................................................................................. 4 2.2.2 SERVICES ........................................................................................................ 4 2.2.3 USER................................................................................................................. 5 2.3 IMPLEMENTATION AND TECHNOLOGIES USED...................................... 5 2.3.1 HTTPS POST & GET ........................................................................................ 6 2.3.2 HTML PARSING............................................................................................... 8 2.3.3 SQLite DATABASE .......................................................................................... 9 2.3.4 ANDROID DEVELOPMENT ......................................................................... 10 2.3.5 SERVER-CLIENT COMMUNICATION ....................................................... 12
  • 6. vi 2.3.6 MONITORING APPLICATION USAGE....................................................... 13 2.3.7 MONETIZING WITH ADVERTISEMENTS................................................. 14 CHAPTER 3: RESULTS AND DISCUSSION.............................................................. 15 CHAPTER 4: CONCLUSION & RECOMMENDATIONS .......................................... 22 CHAPTER 5: IMPLICATIONS FOR FUTURE RESEARCH ...................................... 24 REFERENCES ................................................................................................................. 25
  • 7. vii TABLE OF FIGURES FIG 1-1 SOFTWARE DEVELOPMENT CYCLE ......................................................................... 2 FIG 2-1 HTTP POST ...................................................................................................................... 6 FIG 2-2 HTTPS GET ...................................................................................................................... 7 FIG 2-3 MY COURSES.................................................................................................................. 8 FIG 2-4 ONE COURSE CODE SNIPPET...................................................................................... 8 FIG 2-5 URL FOR ATTENDANCE DETAILS ............................................................................. 9 FIG 2-6 TABLE I : USERPASS ..................................................................................................... 9 FIG 2-7 OTHER TABLES USED ................................................................................................ 10 FIG 2-8 ACTIVITY EXAMPLE................................................................................................... 11 FIG 2-9 PROGRESS DIALOG BOX ........................................................................................... 11 FIG 2-10 AMIZONER: SELFDESTRUCT .................................................................................. 12 FIG 2-11 GOOGLE ANALYTICS SCREENSHOT..................................................................... 13 FIG 2-12 ADMOB REPORTING SCREENSHOT ...................................................................... 14 FIG 3-1 GOOGLE PLAY APPLICATION ERROR REPORTS ................................................. 16 FIG 3-2 AMIZONER: HOME ...................................................................................................... 17 FIG 3-3 AMIZONER: MY COURSES......................................................................................... 17 FIG 3-4 AMIZONER: SPECIFIC COURSE ................................................................................ 18 FIG 3-5 AMIZONER: ATTENDANCE ....................................................................................... 18 FIG 3-6 AMIZONER: TIMETABLE ........................................................................................... 19 FIG 3-7 AMIZONER: HOLIDAYS.............................................................................................. 19 FIG 3-8 APPLICATION PACKAGE EXPLORER(ECLIPSE) ................................................... 20 FIG 3-9 METRICS: ACTIVITY CLASSES................................................................................. 21 FIG 3-10 METRICS: TOTAL LINES OF CODE......................................................................... 21 FIG 4-1 GOOGLE PLAY USER DEVICE GRAPH .................................................................... 22 FIG 4-2 GOOGLE PLAY TOTAL USER INSTALL GRAPH .................................................... 23 FIG 5-1 AMIZONER: SPLASH SCREEN................................................................................... 24
  • 8. viii LIST OF ABBREVIATIONS API Application Programmer Interface GAE Google App Engine GB Ginger Bread (Android Operating System) HDD Hard disk drive HTML Hypertext Markup Language HTTP Hypertext Transfer Protocol HTTPS Hypertext Transfer Protocol Secure ICS Ice Cream Sandwich (Android Operating System) IDE Integrated Development Environment OS Operating System RAM Random-Access Memory SDK Software Development Kit SSL Secure Sockets Layer XML Extensible Markup Language
  • 9. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 1 Chapter 1 INTRODUCTION 1.1 ABOUT THE PROJECT AMIZONER was designed to be a utility which every Amitian would use on a regular basis to check up on their attendance and be informed thoroughly so that they never lose track of it or get debarred.  If they’re accidently marked absent, the application will inform them.  If they’re short in attendance for a course, the application will calculate how many classes he or she needs to attend to reach the target percentage.  If the user’s net card causes them problems, the syncing process can be minimized and the attendance details will be downloaded into the device and be stored for offline usage.  If a student tends to forget the teacher’s cabin no, the application has provisions to store it so that you never forget. For certain departments, the cabin numbers are already set.  If a hostler needs to book his tickets to return home, the application will list the holidays and highlights them on a calendar so that he can choose his dates accordingly. 1.2 MOTIVATION Attendance monitoring has been one of the key issues students are concerned with. Earlier I had created an algorithm which calculates the number of classes one must attend or can skip to maintain his target attendance percentage. I felt the need for creating an application which combined this both so that the student is always aware of his or her situation and is informed through concise, convenient and organized pages.
  • 10. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 2 1.3 SCOPE The scope of the project included developing an application on android platform to understand the nuances of software application development, testing, distribution, version control, etc as a part of Practical Training – I. It is important to have insight into making of a software application following the Software Development Cycle that included a series of phases and iterations. This development cycle can be applied to any product at any point in its lifetime; the cycle works for developing new products as well as maintaining already developed products. FIG 1-1 SOFTWARE DEVELOPMENT CYCLE The project involved all the steps of the development cycle namely Business Modeling, Planning, Finalization of Requirements, Analysis and Design, Implementation, Testing, Deployment and Evaluation. The AMIZONER application development took approximately 40 iterations, progressively adding features, correcting bugs, improving user experience etc. Further, areas of analytics of users and usage of the application, monetization through advertisements also were explored as a part of practical training.
  • 11. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 3 Chapter 2 MATERIALS AND METHODS 2.1 METHODOLOGY The objective was to create an Android Application that could perform the following: • Connecting to an HTTPS site (Amizone) through GPRS/WiFi. • Opening the relevant html pages using HTTP POST & GET. • Parsing the student info/course/attendance data logically. • Creating a local database for offline view. • Creating a user-friendly interface with proper highlighting using XML. • Creating an efficient navigation design and making it compatible with all Android API versions and devices. • Connecting the application with my personal server (Server-Client Communication) for updates using Google App Engine to host the server. • Deployment and usage analysis using Google Analytics • Monetization through advertisements using Google Admob
  • 12. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 4 2.2 SOFTWARE & HARDWARE REQUIREMENTS 2.2.1 DEVELOPMENT Hardware Requirements Software Requirements Laptop with following specs was used for development o Processor: Intel Core 2 Duo P8600 (2.4GHz), o Memory: 3GB - 2DIMM DDR3 o HDD: 320GB 7200rpm o Graphics: ATI Mobility RADEON HD 3670 (512MB) o Display: 14.0" 1080p Full HD RGBLED LCD with 2.0 MP Webcam OS: Windows 7 Professional (32bit)  Eclipse with Java SDK & Android SDK & Android Emulator  CorelDRAW X4  Google App Engine Launcher  Python SDK  Google Analytics SDK  AdMob platform SDK 2.2.2 SERVICES Hardware Requirements Software Requirements No Hardware Required  Amizone https://amizone.net/  Google App Engine https://appengine.google.com  Google Analytics https://analytics.google.com  Google Admob https://admob.com
  • 13. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 5 2.2.3 USER Hardware Requirements Software Requirements  Android-enabled Mobile Phone For User Testing and Review, the following were used: o Samsung Galaxy SII o Sony Ericsson Xperia Mini Pro o Samsung Galaxy Tab o HTC Hero  Android OS with minimum SDK ver 2.1 2.3 IMPLEMENTATION AND TECHNOLOGIES USED The concepts used in this project are as follows:  HTTPs POST & GET  HTML Parsing  SQLite Storage  Android Development  Server-Client Communication  Monitoring Application Usage  Monetizing with Advertisements
  • 14. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 6 2.3.1 HTTPS POST & GET The application uses HTTPS POST and HTTPS GET to extract html code of the required pages. The HTTPS POST is used for the login into the student’s Amizone account while the HTTP GET is used for retrieving the source code from specific pages. Using these methods, the html codes of the following pages are retrieved: My Courses, My Faculty, Attendance Details of each Course and Time Table. In the HTTPs POST, certain parameters should be sent. Besides the username and password, there were hidden parameters as well. Them being:  __EVENTTARGET  __EVENTARGUMENT  __VIEWSTATE  __EVENTVALIDATION FIG 2-1 HTTP POST
  • 15. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 7 The Username and Password is given by the user of the android application but hidden parameters were browser generated. Using a HTTP Get, I retrieved those values from source code and sent them back in the HTTP Post. FIG 2-2 HTTPS GET There was also a need to study SSL and Trust Managers. An https page uses SSL protocol. I had to configure the android app to accept Amizone’s digital certificate since it did not recognize it. This ensures a unique session between the user and the server, ensuring security in the login and retrieval process.
  • 16. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 8 2.3.2 HTML PARSING All the required information on a page can be extracted using the concept of HTML PARSING. Data Scraping is a technique in which a computer program extracts data from human- readable output coming from another program. HTML Parsing is a more specific form of data scraping, where the readable output is HTML. FIG 2-3 MY COURSES To show how parsing was implemented in my application, I’ve added a screenshot of the My Courses page of Amizone. This is the table within that page which provides us with the immediate details of each course. Consider a single row, that is the information about a single course. The details of this course, say Computer Graphics (highlighted by red in the above diagram) needs to be extracted. Below is that row’s respective source code. All the information required is FIG 2-4 ONE COURSE CODE SNIPPET
  • 17. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 9 available to us. All we need to do is retrieve specific values (highlighted by green in the below diagram) using string functions. FIG 2-5 URL FOR ATTENDANCE DETAILS Also, the next pages (attendance details of each course) can be found from the extracted values as well. From there, we can programmatically retrieve for each course. 2.3.3 SQLite DATABASE In order to store the values retrieved, I’ve made use of the databases which come inbuilt with Android. SQLite is a relational database management system contained in a small programming library. In contrast to other database management systems, SQLite is not a separate process that is accessed from the client application, but an integral part of it. As of now, six tables have been made in my database. Among the six tables, five of them are dependent on the online data retrieved. Therefore, every time there is synchronization with Amizone, the tables are wiped clean and the new values replace the old. However, the sixth table, AllTeachers, is an independent table. These values are user-defined and therefore are independent of the sync. Therefore, this table is never destroyed, but updated every time the user makes an entry. FIG 2-6 TABLE I : USERPASS  Table I : UserPass :This table stores the login details and preferences of the user.  Table II: MyCourses: This table stores the course information.  Table III: CourseTeacher: This table stores the faculty assigned to course.  Table IV: AllTeachers: This table stores the faculty information.
  • 18. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 10 FIG 2-7 OTHER TABLES USED  Table V: AttendanceLogs: This table stores the attendance logs of all courses.  Table VI: TimeTable: This table stores the timetable. 2.3.4 ANDROID DEVELOPMENT An Android application is composed of more than just code—it requires resources that are separate from the source code, such as images, audio files, and anything relating to the visual presentation of the application. For example, you should define animations, menus, styles, colors, and the layout of activity user interfaces with XML files. A good amount of effort has been taken to ensure that the application has an efficient navigational design so that users will find it direct and simple to access each of the application’s features. The interface has also been made simple yet effective in communicating just enough information to the user without crowding the screen.
  • 19. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 11 FIG 2-8 ACTIVITY EXAMPLE FIG 2-9 PROGRESS DIALOG BOX When making an android application, a lot of things have to be considered, such as, • Screen size and density • Input configurations • Device features • Platform Version Every user will have a different device (which in turn implies different screen sizes and hardware) and in turn, a different Android OS. It is my task to ensure that the application is compatible with all devices which install my application. Besides design and compatibility, I also had to learn advanced programming concepts like threads and asynchronous tasks to implement the progress dialog box of my application. After many repeated trials and errors, I finally managed to create a non-UI thread which can handle the syncing process and be minimized so that the user does not need to wait directly for it to complete. He or she may partake in other activities while the process continues in the background. On completion, the current page is refreshed with the new values.
  • 20. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 12 2.3.5 SERVER-CLIENT COMMUNICATION I wanted my application to connect to my server for updates before it continues to sync with Amizone. This ensures control of Application through a Google App intermediary page. The application can receive three types of messages from the server. Them being: • The YES message • The NO message • The DESTRUCT message The Yes message, as I call it, is the message which allows the syncing process with Amizone and informs the user of any new updates. By changing this value on my server, I can ensure every user of this app will be informed when they update. The No Message is to block the syncing process with Amizone and display my customized error message. This is to be done when Amizone changes it’s html code and possibly create some parsing errors. The Destruct Message is a more intense form of the No Message. This not only blocks the syncing with Amizone, but rather prevents the user from using any feature of the application. This was done to force that the user to update his version. My server-side application (amizoner.appspot.com) is hosted on Google App Engine, and the messages are part of a validation page which I make my application direct to. This ensures the very latest version is run on all devices. Google App Engine (GAE) is a unique hosting platform that lets you build applications and run them in Google’s data centers using the massive global infrastructure built to run the Internet’s most powerful company. FIG 2-10 AMIZONER: SELFDESTRUCT
  • 21. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 13 I also needed to study some rudimentary python to help me with redirection of URLS for my server. GAE has a lot of potential and I intend to go more deeply into this next time. 2.3.6 MONITORING APPLICATION USAGE In order to monitor the application usage and track it, I’ve downloaded and used the Google Analytics for Android SDK. Developers can then use the Google Analytics app-tracking reports to measure:  The number of active users that are using their applications.  From where in the world the application is being used.  Adoption and usage of specific features.  In-app purchases and transactions.  The number and type of application crashes.  And many other useful metrics. FIG 2-11 GOOGLE ANALYTICS SCREENSHOT Sales and usage analytics let companies monitor and understand client actions and preferences. I was white listed for usage of recently released Version 2 and therefore I have quickly adapted the application to Version 2 which has several advanced analytics features.
  • 22. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 14 2.3.7 MONETIZING WITH ADVERTISEMENTS Any Software product requires marketing. A software application can be launched either for a price or free supported by Advertisements. This is important for sustenance and supporting continued developing activity and the related business. I have adopted the “free mode” with a minimally intrusive advertisement option. I have opened a Google AdMob account for the same. As per the terms, all Advertisement revenue realized from the application will be credited to my Bank account by wire transfer. FIG 2-12 ADMOB REPORTING SCREENSHOT
  • 23. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 15 Chapter 3 RESULTS AND DISCUSSION AMIZONER, as an application, has been developed, tested and successfully distributed on the market (Google Play). It is now available for download by all Amitians. I intend to learn from the feedback and also take this as an opportunity to learn marketing skills which I will require in the fulfillment of my MBA degree. Developing this application has enabled me to study many concepts and technologies which I can use to create robust applications following a systematic software development cycle. Briefly put, the learnings have been as follows: Android Development  Compatibility with various Android versions  Transition Animations  XML Designing  Dynamically creating layouts using Java  Backend Java programming Client-side communication  Syncing with Amizone  Syncing with personal server hosted on Google App Engine  Parsing source code to retrieve specific information  Create a secure connection (SSL protocols) Server-side communication  Creating a server using GAE (Python)  Communication with Android Device
  • 24. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 16 Local database management  Designing ideal schema  Indexing and creating relationships between tables  Proper retrieval, storage, and updating of the same Advertising and Monetizing  Adding Advertising to understand monetization of apps  Publicizing the app on Facebook, Twitter, etc Analysis of User and Usage  Using Google Analytics to track app usage  Uploading the application on Google Play (Google Market) Application Testing  Network Connectivity Errors  Database management Errors  Async Tasks and Threads Errors  Navigation within Activities Errors  Dynamic Layout Creation Errors  And many prevalent bugs of Android (early APIs) Below is a screenshot of the application error reports provided by Google Play when a user chooses to send the error reports. FIG 3-1 GOOGLE PLAY APPLICATION ERROR REPORTS
  • 25. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 17 FIG 3-3 AMIZONER: MY COURSES AMIZONER was made with the intent of helping students keep track of their attendance and be warned when it falls short. This has been accomplished. A screenshot of each task in progress is shown, with its respective explanation kept brief to catch the imagination of the reader. LOGIN AND UPDATE Taking Username and Password from the student, it performs a login into Amizone. Once logged in, it extracts the required attendance details from specific pages and stores them into a database. The Syncing process with Amizone can minimized so that the user does not need to wait for the update. MY COURSES The student can specify the target percentage which they wish to maintain. In the screenshot, the ‘Desired percentage’ is set to 95%. The courses will be displayed, as shown, coloured red or green whether they cross their target percentage or not. When a course has been tapped, more details of the same will be displayed. FIG 3-2 AMIZONER: HOME
  • 26. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 18 FIG 3-4 AMIZONER: SPECIFIC COURSE TAP COURSE FOR MORE INFO Besides the percentage attendance, it also displays the No. of classes one needs to attend to attain Target percentage. This is found using an algorithm I designed which does not need the total number of classes. It shows the teacher’s cabin no incase the student needs to clarify his uploaded attendance. It provides provisions to modify and store it. It also shows the attendance log with reformatted dates. END OF DAYS The ‘End Of Days’ is a date-wise search of the attendance logs of the student. After a tiring day, the student need only click a button and see the day’s attendance on one page rather than checking each and every course on amizone. Each course can be tapped to show more details about the same. These courses of the day are sorted according to the the timetable. FIG 3-5 AMIZONER: ATTENDANCE
  • 27. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 19 TIME TABLE The Time Table is shown day wise, with a fast clean user-interface. The day can be easily changed by clicking on the spinner control provided at the top of the page. Each period shows the course’s FULL name, where Amizone shows its short form. Each course has a time slot and its classroom mentioned. On tapping a course, more details are shown. THE HOLIDAYS Hostlers have a need to book tickets to go home in advance. This page helps them plan that. This page displays both the calendar view and list view of all the holidays of the present year. The holiday list is not restricted to that of India alone, but is available also for the students studying in Amity University of Singapore, UK, US, and Dubai. FIG 3-6 AMIZONER: TIMETABLE FIG 3-7 AMIZONER: HOLIDAYS
  • 28. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 20 The following screenshot displays the Eclipse Package Explorer. This includes the java codes under the src folder, the animation xmls under res/anim folder, the images and styles in xml used under res/drawable folder, the external jar files used under libs folder and finally the layout xmls under the layout folder. FIG 3-8 APPLICATION PACKAGE EXPLORER(ECLIPSE)
  • 29. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 21 The AMIZONER Application was analyzed using the Metrics 1.3.6 plugin of Eclipse. A total of 30 classes were made for achieving the desired outcomes from the application and a total of 164 methods were used. Here, the total lines of code only include non- blank and non-comment lines in a compilation unit. FIG 3-10 METRICS: TOTAL LINES OF CODE FIG 3-9 METRICS: ACTIVITY CLASSES
  • 30. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 22 Chapter 4 CONCLUSION & RECOMMENDATIONS The development experience during the summer vacation has been very exciting and rewarding. The project has enabled me with skillsets in leveraging the Eclipse with Android SDK development environment. I have been able to use Android Developer Tools, Java IDE for developing, debugging, and packaging Android apps. The project prompted me to register my own domain name (www.metalwihen.com) and host the same in Google App Engine. I believe that Google App Engine (GAE) with Android will offer a developer the best of both worlds: server side and client side apps. I also ended up taking an account in Google Play as a part of this project which give insights into Android application distribution. FIG 4-1 GOOGLE PLAY USER DEVICE GRAPH
  • 31. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 23 FIG 4-2 GOOGLE PLAY TOTAL USER INSTALL GRAPH The outcome of this summer assignment has elevated me to a higher level of understanding of a number of aspects of IT product delivery with respect to android platform. I hope to continue my efforts in this space taking live projects from Industry, for which I would request the support of the Amity faculty and placement cell. As of now, the application retrieves information about the user by parsing specific pages of www.amizone.net. However, this causes the syncing process to be rather slow as it needs to perform an HTTP Get for each page (over 20 pages are being parsed for the required outputs). If Amity was to provide the APIs to access the portal database, I would be able to create a single direct connection and the time taken for the syncing would decrease dramatically ensuring user satisfaction. There is also potential in creating CRON jobs in the GAE to do the parsing instead of the android phone itself. If accomplished, the mobile can access the retrieved values from my server making the syncing faster.
  • 32. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 24 FIG 5-1 AMIZONER: SPLASH SCREEN Chapter 5 IMPLICATIONS FOR FUTURE RESEARCH Applications in Android platform are growing at unimaginably high pace. Android has rapidly become the fastest-growing mobile OS with largest installed base. Every day more than 900,000 new Android devices are activated worldwide. Android’s openness has made it a favorite for consumers and developers alike, driving strong growth in app consumption. Android users download more than 1 billion apps and games from Google Play each month. With its partners, Android is continuously pushing the boundaries of hardware and software forward to bring new capabilities to users and developers. For developers, Android innovation lets us build powerful, differentiated applications that use the latest mobile technologies. Google Play is the premier marketplace for distributing Android apps. I propose to continue my development activities in Android, Java and Python to be part of the ongoing Innovations happening in the Industry. I also would seek to found a company to slowly build on Android development leveraging Google App Engine. I hope to work under the guidance and facilitation of the Amity faculty to interact with the Industry (both Developer community and Hardware manufacturers) for enabling me to undertake Live projects as per requirements of the Industry.
  • 33. PRACTICAL TRAINING – I: “AMIZONER”, ANDROID APPLICATION 25 REFERENCES [1] H. Schildt, The Complete Reference: Java, New Delhi: Tata McGraw-Hill Publishing Company Limited, 2007. [2] M. L. Murphy, The Busy Coder’s Guide to Android Development, NEW DELHI: CommonsWare, LLC, 2009. [3] D. Flanagan, Java Examples in a Nut Shell, Sebastopol: O'Reilly & Associates, Inc, 1997. [4] D. Koosis, Java 2 Programming for Dummies, New Delhi: IDG Books, India Ltd, 2000. [5] "Stack Overflow," [Online]. Available: http://stackoverflow.com. [Accessed June 2012]. [6] "Android Developer Site," [Online]. Available: http://developer.android.com. [Accessed June 2012]. [7] "Wow Java Blog," [Online]. Available: http://wowjava.wordpress.com. [Accessed June 2012]. [8] "Vogella Tutorials," [Online]. Available: http://vogella.com. [Accessed July 2012]. [9] "Android Coding Blog," [Online]. Available: http://android-coding.blogspot.in. [Accessed July 2012]. [10] "Android Snippets," [Online]. Available: http://androidsnippets.com. [Accessed June 2012]. [11] "Learn It Stuff Blog," [Online]. Available: http://learn-it-stuff.blogspot.in. [Accessed June 2012].