34
ACKNOWLEDGEMENT I am highly grateful to the DR.AmitVerma , HOD CSE, Chandigarh University, Gharuan, for providing this opportunity to carry out the six weak industrial training at Big System Company . I would like to expresses my gratitude to other faculty members of Computer Science & Engineering department CU, Gharuan for providing academic inputs, guidance & encouragement throughout the training period. The author would like to express a deep sense of gratitude and thanks to Director/CEO of Company, without whose permission, wise counsel and able guidance, it would have not been possible to pursue my training in this manner. The help rendered by Mr Jitender Kumar (Supervisor) for experimentation is greatly acknowledged. Saksham Pahuja 1

Training

Embed Size (px)

DESCRIPTION

dws

Citation preview

ACKNOWLEDGEMENT

I am highly grateful to the DR.AmitVerma, HOD CSE, Chandigarh University, Gharuan, for providing this opportunity to carry out the six weak industrial training at Big System Company. I would like to expresses my gratitude to other faculty members of Computer Science & Engineering department CU, Gharuan for providing academic inputs, guidance & encouragement throughout the training period. The author would like to express a deep sense of gratitude and thanks to Director/CEO of Company, without whose permission, wise counsel and able guidance, it would have not been possible to pursue my training in this manner.

The help rendered by Mr Jitender Kumar (Supervisor) for experimentation is greatly acknowledged.

Saksham Pahuja

1

CERTIFICATE

2

Training Schedule

Sr.No. Date Day Topic1 8/6/15 Monday Basic of ADT2 9/6/15 Tuesday Introduction to Language3 10/6/15 Wednesday Building Pages4 11/6/15 Thursday Features of Eclipse5 12/6/15 Friday Basic concepts like Function, Abstraction etc.6 13/6/15 Saturday Doubt Session7 15/6/15 Monday Function8 16/6/15 Tuesday Array Adapter9 17/6/15 Wednesday Basic Project With Its Function10 18/6/15 Thursday Implementation On Virtual Machine11 19/6/15 Friday Adding Content Into Project12 20/6/15 Saturday Doubt Session13 22/6/15 Monday Intenting14 23/6/15 Tuesday On Click Button Response15 24/6/15 Wednesday Printing Messages on Screen After Log In16 25/6/15 Thursday New Project With Intent Function17 26/6/15 Friday Showing Project With Its Features18 27/6/15 Saturday Doubt Session19 29/6/15 Monday Clearing New Features and Concept20 30/6/15 Tuesday Transfer app to Phone 21 1/7/15 Wednesday New Project 22 2 /7/15 Thursday Adding Content to the Project23 3/7/15 Friday Final Representation Of That Project24 4/7/15 Saturday Doubt Session25 6/7/15 Monday Chat Message app26 7/7/15 Tuesday Introduction to create a Database27 8/7/15 Wednesday Practice Programming28 9/7/15 Thursday Project Discussion and Introduction29 10/7/15 Friday Doubt Session30 11/7/15 Saturday Doubt Session31 13/7/15 Monday Project Work32 14/7/15 Tuesday Project Work33 15to 23/7/15 Week Project Work

Abstract

3

Today everyman is with any motivation. He is stressed out due to his work and pressure on him. He should need motivational Thoughts in his mind. The ‘Thought Of The Day’ App provides different thoughts throughout the year to the user. This app will provide the user new thoughts on everyday basis with the time and date.

This project was suggested by my Instructor, Mr. Mickey Dhiman. For me this is a challenging project as I had no prior experience of Android development. I chose the Android platform because it is one of the fastest growing mobile operating systems on the market and is an open source development. This project allowed me to gain an understanding of how some of the built in frameworks can be utilized to develop application. The objectives of this project were to create an Application -Tell the User A New Thought on Everyday Basis.My personal objective was to gain valuable experience in Android Development

About Company

4

Welcome To Big Boxx Academy

Big Boxx Academy is the Best Web Designing institute in Chandigarh providing 100% job oriented Degree (BSC in Multimedia & Animation with Life Skills from Government recognized University(KSOU-Karnataka State Open University),Diploma and professional courses in Animation , Web Designing, Fashion Designing , Graphics Designing and Digital Marketing in Chandigarh. Thus after going through the key points one can understand the benefits of doing professional education in our Big Boxx Academy. We have experienced creative team which is internationally acclaimed for its great work in animation. Big Boxx has its own animation studio where students get live training. Lot of potential is available in students they need an advance training under experienced animators to explore that we enhance students communication skills, make them creative, self motivated and place them in good companies, all this comes under a diploma and degree course. Fee structure is very affordable. Content & Curriculum is designed by industry experts. Visit us for detailed information and free demo session. We do provide free workshops and seminars on 3d animation and VFX.

DEGREE COURSES

Degree is becoming increasingly important in today’s competitive job market. We at Big Boxx Academy offer Bachelors Degree Courses in Animation & VFX and Fashion Designing.

BSC in Multimedia & Animation BSc in Fashion Designing MSc in Multimedia & Animation MSc in Fashion Designing BSc in Interior Designing BSc in Jewellery Designing

DIPLOMA COURSES

Diploma courses at Big Boxx Academy are 100% job Oriented. The course curriculum of all Diploma Courses is designed by the Industry Experts to meets the growing necessities

Diploma in Fashion Designing Diploma in Jewellery Designing Audio & Video Editing Diploma in 3d Animation & VFX Diploma in Web designing Diploma in Graphic Designing

PROFESSIONAL COURSES

5

Big Boxx Academy offer most demandable, computer based professional courses which will provide you with qualifications and expertise

PHP Web Development Fashion designing cad 3d Animation & VFX Auto Cad Interior Architect Digital Marketing Sketch up Training

Diploma in Digital Marketing in Chandigarh

Big Boxx Academy is a global leader in training professionals inDigital Marketing. This Program, Professional Diploma in Digital Marketing in Chandigarh, is a flagship program that offers comprehensive professional certification and is recognized globally by the industry. We at Big Boxx Academy Chandigarh providing 100% job oriented and professional Digital marketing course in Chandigarh.

Digital Marketing COURSE CONTENT

WHY CHOOSE US

15000+ Jobs knocking at your door Excessive course in ordinary fee This program to take you from beginner to advanced level in digital marketing Get Trained By the Experts of Digital World Stand-out as Digital Marketing leader Master all aspects of digital marketing Planning Your Digital Marketing Campaign

6

COURSE TOPICS

Business, Marketing & E Marketing Paid Search Marketing Email Marketing Display Marketing Mobile Marketing Web Analytics Social Media Marketing

Career Graph

The successful participants are ready to be employed as marketing managers and associates where the role will include building and managing the digital marketing campaigns. You can find Digital Marketing jobs in any company which aims to promote its brand among consumers, or wants to reach out to its clients by using the internet and mobile. Target companies include ITC, Jet Airways, Max Life Insurance, Amazon, Kellogg's, Nestle.

Our Vision

To be the number one Education provider in Computer Skilled Courses globally. We want to be a great platform for students where they are inspired to do the best they can be. Through our quality and best services we will satisfy student’s desires and needs. Also Our Vision is to provide best students in their field as we are responsible citizen and want to makes a difference by helping develop educated minds, proactive personalities and providing educational brilliance and preparing national leaders for the worldwide environment.

Our Mission

Mission of Big Boxx Academy is to make professionals by imparting professional training. We teach Conceptual designing and make our students creator instead of just operator. Our Mission is to train students is such a way that after the completion of their course they can challenge any one in regard of work and the quality in work will equivalent to a candidate who is one year experienced. Our teaching Methodology is unique as we focus on skills and give 100% Practical training. We are technical people from Industry and thus know what is to teach, what is required and what is latest in the industry. We make our students so competent that their work creates scope for them.As we all know that in today’s word we require many other skills as well to survive, thus we at Big Boxx train our students not only in technical part but we also work on personal growth of personality, Confidence, thus our mission also includes the overall growth of our Students like sense of responsibility, power to handle pressure smartly, self-discipline and problem solving.

We at Big Boxx Academy offer course for all who want to get skilled in any particular field in computers. We are providing corporate training for professionals, Industrial training for students doing engineering, Hobby classes for school going students and House wives,

7

Advance and specialization programs for those who have already done courses but still are not satisfied with the learning or are looking for specialization.

Architecture

Eclipse uses plug-ins to provide all the functionality within and on top of the runtime system. Its runtime system is based on Equinox, an implementation of the OSGi core framework specification. In addition to allowing the Eclipse Platform to be extended using other programming languages, such as C and Python, the plug-in framework allows the Eclipse Platform to work with typesetting languages like LaTeX[29] and networking applications such as telnet and database management systems. The plug-in architecture supports writing any desired extension to the environment, such as for configuration management. Java and CVS support is provided in the Eclipse SDK, with support for other version control systems provided by third-party plug-ins.

With the exception of a small run-time kernel, everything in Eclipse is a plug-in. This means that every plug-in developed integrates with Eclipse in exactly the same way as other plug-ins; in this respect, all features are "created equal". Eclipse provides plug-ins for a wide variety of features, some of which are through third parties using both free and commercial models. Examples of plug-ins include for UML, for Sequence and other UML diagrams, a plug-in for DB Explorer, and many others. The Eclipse SDK includes the Eclipse Java development tools (JDT), offering an IDE with a built-in incremental Java compiler and a full model of the Java source files. This allows for advanced refactoring techniques and code analysis. The IDE also makes use of a workspace, in this case a set of metadata over a flat filespace allowing external file modifications as long as the corresponding workspace "resource" is refreshed afterwards.

Eclipse implements the graphical control elements of the Java toolkit called SWT, whereas most Java applications use the Java standard Abstract Window Toolkit (AWT) or Swing. Eclipse's user interface also uses an intermediate graphical user interface layer called JFace, which simplifies the construction of applications based on SWT. Eclipse was made to run on Wayland during a GSoC-Project in 2014. Language packs being developed by the "Babel project" provide translations into over a dozen natural languages.

Rich Client Platform

Eclipse provides the Rich Client Platform (RCP) for developing general purpose applications. The following components constitute the rich client platform:

Equinox OSGi – a standard bundling framework. Core platform – boot Eclipse, run plug-ins.

Standard Widget Toolkit (SWT) – a portable widget toolkit. JFace – viewer classes to bring model view controller programming to SWT, file buffers, text

handling, text editors. Eclipse Workbench – views, editors, perspectives, wizards.

Examples of rich client applications based on Eclipse are:

IBM Notes 8 and 9 Novell/NetIQ Designer for Identity Manager

8

Apache Directory Studio Remote Component Environment

Server platform

Eclipse supports development for Tomcat, GlassFish and many other servers and is often capable of installing the required server (for development) directly from the IDE. It supports remote debugging, allowing the user to watch variables and step through the code of an application that is running on the attached server.

Web Tools Platform

The Eclipse Web Tools Platform (WTP) project is an extension of the Eclipse platform with tools for developing Web and Java EE applications. It includes source and graphical editors for a variety of languages, wizards and built-in applications to simplify development, and tools and APIs to support deploying, running, and testing apps.[32]

Modelling platform

The Modeling project contains all the official projects of the Eclipse Foundation focusing on model-based development technologies. They are all compatible with the Eclipse Modeling Framework created by IBM. Those projects are separated in several categories: Model Transformation, Model Development Tools, Concrete Syntax Development, Abstract Syntax Development, Technology and Research, and Amalgam.

Model Transformation projects uses EMF based models as an input and produce either a model or text as an output. Model to model transformation projects includes ATL, an open source transformation language and toolkit used to transform a given model or to generate a new model from a given EMF model. Model to text transformation projects contains Acceleo, an implementation of MOFM2T, a standard model to text language from the OMG. Acceleo is an open source code generator that can generate any textual language (Java, PHP, Python, etc.) from EMF based models defined with any metamodel (UML, SysML, etc.).

Model Development Tools projects are implementations of modeling standard used in the industry like UML or OCL and their toolkit. Among those projects can be found implementations of the following standards:

UML SysML OCL BPMN IMM SBVR XSD NEDA

The Concrete Syntax Development project contains the Graphical ModelingFramework, an Eclipse-based framework dedicated to the graphical representation of EMF based models.The Abstract Syntax Development project hosts the Eclipse Modeling Framework, core of most of the modeling project of the Eclipse Foundation and the framework available for EMF like

9

CDO, EMF query or EMF validation.Technology and Research projects are prototypes of Modeling project, this project is used to host all the modeling projects of the Eclipse Foundation during their incubation phase. Amalgam provides the packaging and integration between all the available modeling tools for the Eclipse package dedicated to modeling tools

Extensions

Eclipse supports a rich selection of extensions, adding support for Python via pydev, Android development via Google's ADT, JavaFX support via e(fx)clipse, and many others at the Eclipse Marketplace, as well as JavaScript and jQuery. Valable is a Vala plug-in for Eclipse.

Alternative distributions

A number of alternative distributions exist in the Eclipse project.

Eclipse PDT (PHP Development Tools)

The PHP (PHP hypertext Preprocessor) Development Tools project provides a PHP Development Tools framework for the Eclipse platform. The project encompasses all development components, including code-completion, develop PHP and facilitate extensibility. It leverages the existing Eclipse Web Tools Platform (WTP) and Dynamic Languages Toolkit (DLTK).[35]

Eclipse ADT (Android Development Tools)

Android Development Tools (ADT) is a Google-provided plugin for the Eclipse IDE that is designed to provide an integrated environment in which to build Android applications. ADT extends the capabilities of Eclipse to let developers set up new Android projects, create an application UI, add packages based on the Android Framework API, debug their applications using the Android SDK tools, and export signed (or unsigned) .apk files in order to distribute their applications. It is free download. It was the official IDE for Android but was replaced by Android Studio (based on IntelliJ IDEA Community Edition). We are also providing project based training which will be purely handled by our software company. In this training students will choose a project and will get training on that complete project along with the technology on which the project is developed.Scholarship based training is also offered by us and for that student has to appear for an aptitude test.

Big Boxx Academy offers Courses in following Training Format:

Industrial Training Corporate Training Short Term Courses

10

Introduction

Project Background

Today a person needs some inspirational thoughts to move on in life and complete its task. So this app will provide the user new thoughts on everyday basis with the time and date.

Overview

The application is uses on the Android’s built-in Clock and Date picker.

Motivation

This project was suggested by my Instructor, Mr. Mickey Dhiman. For me this is a challenging project as I had no prior experience of Android development. I chose the Android platform because it is one of the fastest growing mobile operating systems on the market and is an open source development. This project allowed me to gain an understanding of how some of the built in frameworks can be utilized to develop application.

Objectives

The objectives of this project were to create an Application

Tell the User A New Thought on Everyday Basis.

My personal objective was to gain valuable experience in Android Development

Development Requirements

This project was developed on Eclipse using the Android Developer Toolkit. It was developed in Android API Level 7 (for users of Android 2.1 and later). This makes it available to 76% of Android users4. I decided to use Eclipse because it is the Google approved development environment for Android Development5 and as such has the greatest level of online support. Android Applications are developed using the Java Framework6. Testing completed on the Android Emulator.

11

Issues for consideration

Battery drainage is one of the key issues. The use of Internet can drain some of the battery.

Report Contents

I have based my chapter headings on the waterfall model

Preparation

Requirements Analysis

Development

In the “Requirements Analysis and Design” chapter I will review the requirements and show the evolution into a working class diagram. The “Development” chapter will cover the various aspects of the development process and the challenges I came across while working on the product. I will also discuss how I tested the software. I will conclude with a review of my work complete and a discussion of future work to be undertaken.

Preparation

Android Development

Prior to beginning this progress I had no experience of Android Development. The first step was to figure out how Android Projects are structured.

History

Android is a mobile phone operating system. It was originally developed by Android Inc, which was acquired by Google in July 2005.7 Today, development is overseen by the Android Open Source Project (AOSP), led by Google. The AOSP is “tasked with the maintenance and further development of Android”. As of the 3rd Quarter of 2010 Android has a market share of 25% making it the second most popular phone operating system of the market (second only to Nokia‟s Symbian). This is a major rise from the 3.5% share Android had in 3Q2009.

12

Architecture

Android is based on the Linux Kernel. Android Developers are able to access all the components of the Application Framework used by core applications when creating an application. These features include the Location Manager, Bluetooth, the Accelerometer, and Email etc.

Application Framework

An Android Application has four parts- Activities, Services, Broadcast Receivers and Content Providers. Activities are the visual interfaces for each task in the application. Activities in my Application might include the front view of the app.Services are the background tasks that don’t have a user interface. Services might be linked to one or more activities. The Broadcast Receiver receives and reacts to broadcast announcements (for example, a low battery message). The Content Provider shares the application’s data with other applications. This data can be stored in a SQLite database.

Websites

In addition to phone applications, there are several websites that allow users to give some motivational thoughts.

Development Requirements

I downloaded the following software on to both my laptop and my assigned PC in the Computer Science & Information Systems (CSIS) building:

Eclipse

Android Software Development Kit (SDK)

Eclipse Android Developer Toolkit (ADT)

13

Various versions of Eclipse came along in different years .Some of them are

listed below:

Callisto

Callisto is about improving the productivity of the developers working on top of Eclipse frameworks by providing a more transparent and predictable development cycle. By releasing 10 projects at the same time in 2006, the goal is to eliminate uncertainty about version compatibility and make it easier to incorporate multiple projects into your environment.

Europa

Eclipse Europa is the annual release of Eclipse projects in 2007. Like last yearsCallisto release, the

Europa release is a coordinated release of different Eclipse project teams. This year, the annual

release includes 21 projects. By releasing these projects at the same time, the goal is to eliminate

uncertainty about version compatibility and make it easier to incorporate multiple projects into your

environment.

Ganymede

Eclipse Ganymede is the annual release of Eclipse projects in 2008; this year including 23 projects.

Some highlights of the release include the new p2 provisioning platform, new Equinox security

14

features, new E-core modelling tools, support for SOA and much more. Use the links below to

download and discover more about the projects in the Ganymede release.

Galileo

Eclipse Galileo is the annual release of Eclipse projects in 2009; this year it includes 33 projects.

Helios

Eclipse Helios is the annual release of Eclipse projects in 2010; this year 39 project teams are part of the release.

Indigo

Eclipse Indigo is the annual release of Eclipse projects in June 22 2011; this year 62 project teams are part of the release.

Juno

Eclipse 4 is now the default platform for building rich client applications.

Learn how to migrate your existing RCP application and benefit from the new Eclipse 4 features.

Kepler

Eclipse 4.3 is now the default platform for building rich client applications.

Learn how to migrate your existing RCP application and benefit from the new Eclipse 4.3 features.

Luna

Eclipse Luna includes official support for Java 8 in the Java development tools, Plug-in Development

Tools, Object Teams, Eclipse Communication Framework, Maven integration, Xtext, Xtend, Web

Tools Platform, and Memory Analyzer.

Mars

New Java IDE features, including hierarchical view of nested projects, ability to customize perspectives and speed improvements for text search.

Integrated tools for building and maintaining Docker containers, available from Linux Tools project.

Oomph project now makes it possible to record and share user preference settings across individual workspaces.

New integration with Gradle making it easy to manage Gradle builds from Eclipse, via the Buildship project.

15

Improved Maven support, including support for Maven 3.3.3, improved Maven archetypes integration and enhanced auto-completion in the pom editor.

Automated error reporting that allows Eclipse users to report errors directly to Eclipse projects.

The new Thym project provides tools for building cross-platform mobile applications using Apache Cordova.

16

Requirement Analysis

Identifying User Requirements

At the beginning of the project, I contacted with some sites for the thoughts users want. I hope to follow up with this in the future.

Use Case Diagram

Development

For the development phase I divided the work up into 3 parts:

Thoughts

User Interface/Splash

Event log/database

Each part was treated as a separate unit and later merged to form the overall application.

Thoughts

The major element of this project is the Thoughts. The Thoughts are the main part which is delivered to the user.

17

User Interface/Splash

A critical aspect of this project was examining how the app would look and its usability. The layout of android applications is defined in a XML file (in this case main.xml, main2.xml and splash.xml). When the App is launched, it displays a Splash Screen- an activity that contains a logo- for a number of sections before proceeding to mainmenu.java. The layout for the splash is defined in splash.xml.I had begun testing a tabbed design and a Google maps overlay for location. When complete this should offer a high level of usability.

Event log/database

Once the Sensor Event is created, it needs to be stored somewhere. The Android API supports development of a SQLite database. SQLite is “a software library that implements a self-contained, server less, zero-configuration, transactional SQL database engine”18. Data is stored in the database.

The initial design included a list view that read the entries in the database and displayed them using the ListView format. Users could remove events from the list which would delete them from the table. On clicking the submit button the application would transmit the SQL data to an external server using the Simple Object Access Protocol (SOAP). The database would then be cleared.

Testing

During development I tested the application on an Android device while driving. The aim was to observe the sensors in action and while these tests were not scientific in nature, they allowed me to get a better understand of how the sensors react to movement while travelling in a car. Further testing will be required prior to the Application being launched.

Overall Development

I originally developed several individual apps and concentrated on getting each individual part working before combining them. The different sub-applications were:

Splash – the screen that loads when the app is launched.

Thoughts – thoughts which will be provided to the user.

Database.

18

During development I was regularly faced run time errors, which caused the app to require a “force close”. I found this particularly frustrating as there was no indication which part of the code was causing the problem. For each of these problems I carefully reviewed the code for problems and tried alternative methods to reduce errors. As soon as I had the individual applications working I began the process of merging the apps together. I started by merging the Splash (splashscreen.java) and Accelerometer app (in mainmenu.java). I was successful in this attempt. I set up the mainmenu activity to launch location.java (which displays the latitude and longitude in digital decimal format) using an intent.This worked until I tried to return to mainmenu after a certain length of time. I have made several attempts to fix this bug prior to submission but have yet to find a solution.

Project Working and Snapshots:

19

20

21

22

23

24

25

Conclusion

I found this project to be far more difficult than I ever anticipated. Without doubt, this has been the most challenging and at the same time rewarding programming project I have undertaken since I started college.

Unfortunately while I failed to complete all the project‟s requirements in time for submission, I have developed the groundwork for an application with great potential. The reasons for the failure to complete were mainly due to the complexity of the project and my personal time management.

26