Wednesday, 8 June 2016

ਇੱਕ ਸਵਾਲ / ikk swaal

ਕਾਲਜ ਦੇ ਬਚੇ ਦਿਨ 4,
ਹਰ ਕੋਈ ਪੁੱਛੇ ਇੱਕ ਸਵਾਲ।
ਹੁਣ ਕੀ ਹੈ ਕਰਨਾ ,
ਕੀ ਹੈ ਤੇਰਾ ਵਿਚਾਰ,
ਕੀ ਹੈ ਤੇਰਾ ਵਿਚਾਰ।

ਕੰਮ ਧੰਦੇ ਤੇ ਹੈ ਲੱਗਣਾ ,
ਜਾਂ ਨੌਕਰੀ ਦਾ ਹੈ ਖਯਾਲ।
ਜੋ ਨੌਕਰੀ ਸਰਕਾਰ ਦੀ ਮਿਲ ਜਾਵੇ ,
ਇਹ ਕਿਤੇ ਰਿਜ਼ਰਵੇਸ਼ਨ ਹੋਣ ਦੇ ਪਾਵੇ,
ਮੇਰੀ ਮੰਨ੍ਹੇ ਜੇ ਤੂੰ ,
ਪਰਾਈਵੈਟ ਚ ਹੀ ਕਰਲੈ ਟ੍ਰਾਈ।

ਕੋਈ ਬੋਲੇ ਹੈ ਨੌਕਰੀ ਭਲੀ ,
ਕੋਈ ਲਗਇਆ ਛਡਾਉਣ ਮੈਨੂੰ ਦੇਸ਼ ਰਿਹਾ,
ਦਿਲ ਮੇਰੇ ਵਿੱਚ... ਕੀ ਹੈ,
ਕਿਓ ਕਦੇ ਕੋਈ ਨਾ ਪੁੱਛੇ ਇਹ ਸਵਾਲ,
ਕਾਲਜ ਦੇ ਬਚੇ ਦਿਨ 4,
ਹਰ ਕੋਈ ਪੁੱਛੇ ਇੱਕ ਸਵਾਲ।
ਹੁਣ ਕੀ ਹੈ ਕਰਨਾ ,
ਅੱਗੇ ਕੀ ਹੈ ਕਰਨਾ,
ਕੀ ਹੈ ਤੇਰਾ ਵਿਚਾਰ,
ਕੀ ਹੈ ਤੇਰਾ ਵਿਚਾਰ।

ਕਿਓਂ ਬਸ ਪ੍ਰਾਇਆਂ ਨੂੰ ਮੈਂ ਸੁਣਦਾ,
ਗੱਲ ਆਪਣਿਆਂ ਦੀ ਵੀ ਕਿਓਂ ਨਾ ਕਰਦਾ,
ਕਈਆਂ ਦੇ ਨਾਮ ਵੱਡੇ ਨੇ,
ਕਈਆਂ ਦੇ ਸਮਾਣ ਵੱਡੇ ਨੇ,
ਤਾਂ ਕਿਤੇ ਪੈਸੇ ਦੇ ਅਮਬਾਰ ਵੱਡੇ ਨੇ ,
ਓਹ ਵੀ ਹੁਣ ਤਾਂ ਬੋਲ ਰਹੇ,
ਕਿਰਣ ਆਸ਼ਾ ਦੀ ਮੇਰੇ 'ਚ ਟਟੋਲ ਰਹੇ ਨੇ,
ਹੁਣ ਹਰ ਕੋਈ ਬੈਠਾ ਨਿਗਾਹ ਟਿਕਾਏ,
ਕੋਈ ਤਾਂ ਚਾਹੇ ਲਵਾਂ ਮੈਂ ਉੜਾਨ ਅਸਮਾਨੀ,
ਤੇ ਕੋਈ..ਮੁਧ੍ਹੇ ਮੂਹਂ ਜ਼ਮੀਨ ਤੇ ਆਵੇ,
ਕਾਲਜ ਦੇ ਬਚੇ ਦਿਨ 4,
ਹਰ ਕੋਈ ਪੁੱਛੇ ਇੱਕ ਸਵਾਲ।
ਅੱਗੇ ਕੀ ਹੈ ਕਰਨਾ,
ਕੀ ਹੈ ਤੇਰਾ ਵਿਚਾਰ,
ਕੀ ਹੈ ਤੇਰਾ ਵਿਚਾਰ।

ਕੁਛ ਤਾਂ ਜ਼ਰੂਰ ਕਰਾਂਗੇ,
ਜਗ ਵਿੱਚ ਵਖਰੀ ਪੇਹ੍ਚਾਨ ਕਰਾਂਗੇ,
ਕੁੱਲ ਦੀਪਕ ਬਣਨ ਦਾ ਆਵਾਨ ਕਰਾਂਗੇ,
ਦੇਸ਼ ਦੀ ਸੇਵਾ ਵਿੱਚ ਜੀਵਨ ਆਪਣਾ ਕੁਰਬਾਨ ਕਰਾਂਗੇ।
                                         - ਨਵਤੇਜ ਸਿੰਘ ਬਾਜਵਾ 

college de bachhe din 4,
har koi puchhe ek swaal,
hun ki hai karna
ki tera hai vichaar
ki tera hai vichaar

kamm dhande te hai laggna,
ya naukri da hai khyaal.
jo naukri sarkaar di mil jave,
eh kite reservation hon de paave,
meri manne je tu,
private ch hi karlae try,

koi bole hai naukri bhali.
koi lagea chhadhaun mainu desh reha,
dil merea aeh,
kio kde koi na puchhe eh swaal,
college de bachhe din 4,
har koi puchhe ek swaal.
agge ki hai karna.
ki hai tera vichaar,
ki hai tera vichaar,

kio bas praayean nu mai sundaa,
gal apnean di vi kio na karda,
kayian de naam vadde ne,
kayian de sammaan vadde ne,
tan kite paise de ambar vadde ne,
oh v hun tan bol rahe,
kiran asha di merae 'ch tatol rahe ne.
hun har koi betha nigah tikaye,
koi tan chahe lavaan mai udhaan asmaani,
te koi...mudhhe muh zameen te aave
college de bachhe din 4,
har koi puchhe ek swaal.
agge ki hai karna.
ki hai tera vichaar,
ki hai tera vichaar,

kuchh tan jaroor karange,
jag vich vakhri pehchaan karange.
kuhl deepak banan da aawan karange,
desh di sewa vich jeevan apna kurbaan karange.
                                         - Navtej Singh Bajwa

Wednesday, 18 May 2016

Testing Techniques And Test Plans

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, designing and coding.


·         Testing is the process of executing a program with the intent of finding an error.
·         A good test case design is one that has a probability of finding a yet undiscovered error.
·         A successful test is one that uncovers an as yet undiscovered error.

These above objectives imply a dramatic change in view port. Testing cannot show the absence of defects, it can only show the software errors are present.


Any engineering product can be tested in one of two ways:

 Levels of testing
Client Needs
Acceptance Testing
System Testing
Integration Testing
Unit Testing

1. White Box Testing: This testing is also called as glass box testing. In this testing, by knowing the specified function that a product has been designed to perform, test can be conducted that demonstrates each function is fully operation at the same time searching for errors in each function. It is a test case design method that uses the control structure of the procedural design to derive test cases. Basis path testing is a white box testing. Basis Path Testing:
·         Flow graph notation
·         Cyclomatic Complexity
·         Deriving test cases
·         Graph matrices

Control Structure Testing:

·         Condition testing
·         Data flow testing
·         Loop testing
2. Black Box Testing: In this testing by knowing the internal operation of a product, tests can be conducted to ensure that “all gears mesh”, that is the internal operation performs according to specification and all internal components have been adequately exercised. It fundamentally focuses on the functional requirements of the software. The steps involved in black box test case design are:

·         Graph based testing methods
·         Equivalence partitioning
·         Boundary value analysis
·         Comparison testing


A software testing strategy provides a road map for the software developer. Testing is a set of activities that can be planned in advance and conducted systematically. For this reason a template for software testing a set of steps into which we can place specific test case design methods should be defined for software engineering process. Any software testing strategy should have the following characteristics:
1. Testing begins at the module level and works “outward” toward the integration of the entire computer based system.
2. Different testing techniques are appropriate at different points in time.
3. The developer of the software and an independent test group conducts testing.
4. Testing and Debugging are different activities but debugging must be accommodated in any testing strategy.


The Software Test Plan (STP) is designed to prescribe the scope, approach, resources, and schedule of all testing activities. The plan will identify items to be tested, the features to be tested, the types of testing to be performed, the personnel responsible for testing, the resources and schedule required to complete testing. The purpose of the software test plan is such as:
·         To achieve the correct code and ensure all Functional and Design
·         Requirements are implemented as specified in the documentation.
·         To provide a procedure for Unit and System Testing.

·         To identify the test methods for Unit and System Testing. 

Friday, 13 May 2016

.R FILE in Android

This is an auto generated file in android. If something is created in the activity_main.xml, then an element is created in the R file corresponding to it. A project cannot run without the R file.
If R.jar file is deleted, then android automatically creates one back.  It provides access to the resources defined in android. It contains access to resources such as drawables, layouts, strings, arrays etc. One of the advantage is to use different elements for different screens.
For more details refer to:

Wednesday, 11 May 2016


Why to seek an opportunity,
When I'm an opportunity.
Why wait for the right time,
When every time is a right time.
Why to follow the path shown by others,
When I can create my own path.
But still the question is why?
And when will I find the answer
Why why....

Why to give up,
When I can!
Why to say impossible,
When it itself says that
"I'm possible".
Why to criticize others,
When there are many to do so.
But still the question is why?
And when will I find the answer?
Why why......

Why to cut others line,
When I can create my own!
Why to think of failure,
When I can succeed!
Why to regret any decision,
When it was mine!
But still the question is why?
And when will I find the answer
Why why......

Why, why and why
Still there remain many whys'
When I am the answer.
Now stop this why and when,
Just start finding the real you. 👍

                                                            -  Navtej Singh Bajwa

Monday, 9 May 2016

Fragments in android activity

Fragments in an android activity are used for more modular designs. A fragment can be reused in various activities. An activity can include multiple fragments. A fragment is used in the activity, so the fragment works as long as the host activity works.
Benefits of using fragments:
1.Modularity: They divide the work of an activity into smaller parts. Thus helping in faster speed and better maintenance of tasks at hand.
2.Reusability: Fragments can be shared among various activities.
3.Adaptability: They help in using various elements of the activity according to the screen orientation and the screen size.
To create a fragment the developer needs to make a sub class of the existing class. In order to create a fragment for the layout, it is needed to be implemented through onCreateView() callback method. This function is called when the Android System has to call the fragment to its layout.
A fragment can be added to the activity in two ways:
1.Declaring the fragment inside the activity’s layout file.
2.Programmatically adding the fragment to an existing ViewGroup.

Friday, 6 May 2016

Android Layouts

There are six different layouts in android:
1. Linear Layout: Aligns all children in a single direction, vertically or horizontally.
2. Relative Layout: Displays child views in relative positions.
3. Table Layout: This groups the views into rows and columns.
4. Grid View: Displays data in a 2D, scrollable grid.
5. Tab Layout: This provides a horizontal view to display all the tabs.
6. List View: List of scrollable items.
You can declare a layout in two ways:
1. Declare UI elements in XML
2. Instantiate layout elements at runtime.
Layout Parameters:
XML layout attributes named layout_something define layout parameters for the View that are appropriate for the ViewGroup in which it resides.
A view has a location, expressed as a pair of left and top coordinates, and two dimensions, expressed as a width and a height. The unit for location and dimensions is the pixel.
Layout Files: Each layout file must contain at least one root element. The root element must be either a View or ViewGroup object. Once defined, other widgets or additional objects can be added as objects.
• Attributes: Each layout has its own variety of XML attributes. Attributes need to be declared first through "attr" tag in the /res/values sub directory.

Monday, 2 May 2016

Feasibility Study

The detailed studies carried out to check the work ability of proposed system. A feasibility study is a test of system proposal regarding its work ability, impact on the organization, ability to meet user needs and effective use of resources. Thus during feasibility analysis for this project, following primary areas of interest were considered. Investigating the existing system in the area under investigation and generating ideas about a new system does this.
Technical Feasibility
This evaluation determines whether the technology needed for the proposed system is available or not.
• It will avoid multiple file handling
• Registration and query generation is very easy
• The new system provides full security of confidential data
Economical Feasibility
The system will be developed and operated in the existing hardware and software infrastructure. So there is no need for procuring additional hardware and software for the system. The proposed system will replace the hectic effort, cost and man power involved in the existing system. The employees will be trained in using and operating the system. Thus the project is economically feasible for the department.
Behavioral Feasibility

It can be operated by anyone since it provides an effective and user-friendly GUI. Therefore, it can be operated by anyone without requiring some special technical skills to operate. This mainly includes the users which are using this application. They can schedule their visit without wasting their precious time and also help the operation team in providing fast and effective service delivery. For the new users who are using the application for the first time it is very simple. They can easily understand it as it is very responsive. Generally all the fragments and the activities have been displayed for the easy preference of the user.

Scheduled Feasibility
The project is assigned to the intern as an internship exercise to complete within a fixed schedule of time. Each module of the system is designed following a specific module in order to assist the proper accomplishment of all requirements.

  • To complete the project as per schedule.
  • Create a truly collaborative work environment where visibility of the work involved in the project.
  • Communication breakdowns cause unclear goals and objectives.

Sunday, 1 May 2016

ਮੇਰੀ ਮਾਂ / meri maa

ਅੱਜ ਫੇਰ ਯਾਦ ਤੇਰੀ ਮਮਤਾ ਦੀ ਆਈ ,
ਓਹ ਘੁੱਟ ਚੂਰੀ ਤੇਰੀ ਦੀ ਯਾਦ ਮੇਰੇ ਮੂਹ 'ਚ ਅੱਜ ਵੀ ਪਾਣੀ ਲਿਆਈ ਮੇਰੀ ਮਾਂ।  
ਜਦ ਕਦੇ ਵੀ ਠੰਡ 'ਚ ਠ੍ਰਇਆ ਜਾਂ ਕਦੇ ਧੁੱ੫ 'ਚ ਸੀ ਸੜਿਆ,
ਓਦੋ ਯਾਦ ਤੇਰੀ ਬੁੱਕਲ
ਬੜੀ ਸਤਾਈ ਮੇਰੀ ਮਾਂ। 

ਉਂਜ  ਤਾਂ ਸਾਲ ਕਈ ਹੋਗੇ ਸਾਨੂੰ ਵੱਖ ਰਿਹਣਦਿਆਂ ਨੂੰ,
ਪਰ ਤੂੰ ਇੱਕ ਪਲ ਨਾ ਮੈਨੂੰ ਭੁਲੱ ਪਾਈ ਮੇਰੀ ਮਾਂ। 

ਪਰ ਮੈਨੂੰ ਯਾਦ ਆ ਕੇ ਜਦ ਵੀ ਆਪਾਂ ਮਿਲੇ,
ਮੈਂ ਘੱਟ - ਵੱਧ ਹੀ ਮਮਤਾ ਤੇਰੀ ਹੈ ਸਲਾਈ ਮੇਰੀ ਮਾਂ। 

ਮੁਜ ਨਿਮਾਣੇ ਨੇ ਕਰੀਆਂ ਗ਼ਲਤੀਆਂ ਹਜ਼ਾਰ,
ਪਰ ਤੂੰ ਰੱਬ ਵਾਂਗ ਮੇਰੀ ਹਰ ਇੱਕ ਗ਼ਲਤੀ ਹੈ ਭੁਲਾਈ ਮੇਰੀ ਮਾਂ। 
ਰੱਬ ਨਾ ਕਰੇ,
ਜੇਕਰ ਮੈਂ ਵੀ ਹੋਰਾਂ ਵਾਂਗ ਦੂਰ ਤੇਰੇ ਤੋਂ ਹੋਜਾਂ,
ਪਰ ਮੁਜ ਆਪ ਜਾਏ ਨੂੰ ਦੁਆਵਾਂ ਤੋਂ ਨਾ ਭੁਲਾਈਂ ਨੀ ਮਾਂ। 
ਵੱਖ ਆਪ ਤੋਂ ਹੋਵਨ ਨਾ ਦੇਵੀਂ,
'ਤੇ ਮੁਜ ਭਟਕਤੇ ਨੂੰ ਸਹੀ ਰਾਹ ਲਿਆਈਂ ਮੇਰੀ ਮਾਂ। 

ਆਖੀਰ 'ਚ ਇੱਕ ਹੀ ਗੱਲ ਆ ਕੇ
ਜੇ ਰੱਬ ਚਾਹਇਆ, ਤੇ ਤੇਰਾ ਜਾਇਆ 
ਪਹੁੰਚ ਨਵੀਆਂ ਬੁਲੰਦੀਆਂ ਪਾਇਆ ।
ਤੇ ਆਹਾ ਸਬ ਵੀ ਤਾਂ ਤੇਰੇ ਪੈਰੋਂ ਹੀ ਆਇਆ ,
ਤੇ ਆਹਾ ਸਬ ਵੀ ਤਾਂ ਤੇਰੇ ਪੈਰੋਂ ਹੀ ਆਇਆ।

                                                                      -  ਨਵਤੇਜ ਸਿੰਘ ਬਾਜਵਾ 

Tuesday, 26 April 2016

Android Studio

Android Studio is the official integrated development environment (IDE) for developing for the Android platform. It was announced on May 16, 2013 at the Google I/O conference. Android Studio is freely available under the Apache License 2.0.
Android Studio was in early access preview stage starting from version 0.1 in May 2013, then entered beta stage starting from version 0.8 which was released in June 2014. The first stable build was released in December 2014, starting from version 1.0.
Based on Jet Brains' IntelliJ IDEA software, Android Studio is designed specifically for Android development. It is available for download on Windows, Mac OS X and Linux, and replaced Eclipse Android Development Tools (ADT) as Google's primary IDE for native Android application development.
Developer                    -           Google
Stable Release             -           1.5.1
License                        -           Apache

Website                       - 

Friday, 22 April 2016


Microsoft Excel is a spreadsheet developed by Microsoft for Windows, Mac OS X, Android and iOS. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications. It has been a very widely applied spreadsheet for these platforms, especially since version 5 in 1993, and it has replaced Lotus 1-2-3 as the industry standard for spreadsheets. Excel forms part of Microsoft Office.

Microsoft Excel has the basic features of all spreadsheets, using a grid of cells arranged in numbered rows and letter-named columns to organize data manipulations like arithmetic operations. It has a battery of supplied functions to answer statistical, engineering and financial needs. In addition, it can display data as line graphs, histograms and charts, and with a very limited three-dimensional graphical display. It allows sectioning of data to view its dependencies on various factors for different perspectives (using pivot tables and the scenario manager). It has a programming aspect, Visual Basic for Applications, allowing the user to employ a wide variety of numerical methods, for example, for solving differential equations of mathematical physics, and then reporting the results back to the spreadsheet. It also has a variety of interactive features allowing user interfaces that can completely hide the spreadsheet from the user, so the spreadsheet presents itself as a so-called application, or decision support system (DSS), via a custom-designed user interface, for example, a stock analyzer, or in general, as a design tool that asks the user questions and provides answers and reports. In a more elaborate realization, an Excel application can automatically poll external databases and measuring instruments using an update schedule, analyze the results, make a Word report or PowerPoint slide show, and e-mail these presentations on a regular basis to a list of participants.

As Excel is a very vast tools. To learn more about Excel Follow the links:

Wednesday, 20 April 2016


Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It is defined by the W3C's XML 1.0 Specification and by several other related specifications, all of which are free open standards.
The design goals of XML emphasize simplicity, generality and usability across the Internet. It is a textual data format with strong support via Unicode for different human languages. Although the design of XML focuses on documents, it is widely used for the representation of arbitrary data structures such as those used in web services.
Several schema systems exist to aid in the definition of XML-based languages, while many application programming interfaces(APIs) have been developed to aid the processing of XML data.

To learn more about XML follow at: 

Monday, 18 April 2016


CSS stands for Cascading Style Sheets. Styles define how to display HTML elements. Styles were added to HTML 4.0 to solve a problem. External Style Sheets can save a lot of work. External Style Sheets are stored in CSS files. CSS defines HOW HTML elements are to be displayed.

Types of Style Sheets:-A style sheet is a set of stylistic CSS rules that tell a browser how the different parts of a XHTML document are presented. A style sheet is simply a text file with the file name extension .css.
1. Linked / External   2. Embedded / Internal    3. Inline
Linked / External:- Once your <div> tags are in place, add either a class or ID for styling each <div>separately. For parts of the page that appear only once and form the basic building blocks of the page, web designers usually use an ID.ID selectors are identified using a hash character (#); class selectors are identified with a period.
<link href=“styles.css" rel="stylesheet" type="text/css" />
Embedded / Internal:-

<style type=“text/css”></style>
/* styles go here */
Inline :-

<div style=“/* styles go here */”>Text</div>


दो बीज बोऐ ऐको खेत मा,
ऐको सा पालन पोषण दोनां का,
ऐको पानी, ऐको खाद्द संग,
ऐको माँ धरा की गोद मिली,
ऐको सी ही हवा चली,
ऐको सी ही फ़िज़ा खिली,
दो बीज बोऐ ऐको खेत मा,
ऐको सा पालन पोषण दोनां का। 

बीज अब पोधे भये,
आस  के नए सोधे भये,
दोनां ने अपना अपना राह चुना,
ऐक इस ओर तो दूसरा दूसरी ओर चला,
दो बीज बोऐ ऐको खेत मा,
ऐको सा पालन पोषण दोनां का|

यह फर्क पता ना था, कुदरत का !
यह फर्क पता ना था, कुदरत का !
निचोड़ कोई था कर्मो का। 
ऐक को भर भर के फूल मिले,
दूसरे को कांटो का हार मिला,
एक कई आँखों का तारा बना,
दूसरा हर आँख में खटकता रहा,
दो बीज बोऐ ऐको खेत मा,
ऐको सा पालन पोषण दोनां का|

तू भी बीज है किसी पौधे का,
तू भी बीज है किसी पौधे का,
जो कि वृक्ष बढ़ा विशाल बने,
कर हर काम ऐसा,
जो दुनिया तुझे याद करे|

दोनों राह हैं खुले तेरे सामने,
दोनों राह हैं खुले तेरे सामने,
यह दुआ है मेरी,
तू राह हमेशा साफ़ चुने,
दो बीज बोऐ ऐको खेत मा,
आज बन फ़सल आन हैं खड़े|

                                                                     --- नवतेज सिंह बाजवा 

Friday, 15 April 2016


Hypertext Markup Language (HTML) is the main mark-up language for web pages. HTML elements are the basic building-blocks of webpages.HTML is written in the form of HTML elements consisting of tags enclosed in angle brackets (like <html>), within the web page content. The purpose of a web browser is to read HTML documents and compose them into visible or audible web pages. The browser does not display the HTML tags, but uses the tags to interpret the content of the page.HTML elements form the building blocks of all websites. HTML allows images and objects to be embedded and can be used to create interactive forms. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. It can embed scripts in languages such as JavaScript which affect the behavior of HTML webpages.

To learn more about HTML follow at:

Wednesday, 13 April 2016


Java is an object oriented programming language with a built-in application programming interface (API) that can handle graphics and user interfaces and that can be used to create applications or applets. Because of its rich set of API‟s, similar to Macintosh and Windows, and its platform independence, Java can also be thought of as a platform in itself. Java also has standard libraries for doing mathematics.

The Java API is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped into libraries of related classes and interfaces; these libraries are known as packages. The Java programming language is not just for writing cute, entertaining applets for the Web. The general-purpose, high-level Java programming language is also a powerful software platform. Using the generous API, you can write many types of programs. 

Monday, 11 April 2016


The Android operating system

Android is an operating system based on the Linux kernel. The project responsible for developing the Android system is called the Android Open Source Project (AOSP) and is primarily lead by Google.
The Android system supports background processing, provides a rich user interface library, supports 2-D and 3-D graphics using the OpenGL-ES (short OpenGL) standard and grants access to the file system as well as an embedded SQLite database.
An Android application typically consists of different visual and non visual components and can reuse components of other applications.


In Android the reuse of other application components is a concept known as task. An application can access other Android components to achieve a task. For example, from a component of your application you can trigger another component in the Android system, which manages photos, even if this component is not part of your application. In this component you select a photo and return to your application to use the selected photo.
Such a flow of events is depicted in the following graphic.

 Flow of events depicted in Android

Android platform components

The Android system is a full software stack, which is typically divided into the four areas as depicted in the following graphic.

 Description of Android Development Layer
The levels can be described as:
l Applications - The Android Open Source Project contains several default application, like the Browser, Camera, Gallery, Music, Phone and more.
l Application framework - An API which allows high-level interactions with the Android system from Android applications.
l Libraries and runtime - The libraries for many common functions (e.g.: graphic rendering, data storage, web browsing, etc.) of the Application Framework and the Dalvik runtime, as well as the core Java libraries for running Android applications.
l Linux kernel - Communication layer for the underlying hardware.
The Linux kernel, the libraries and the runtime are encapsulated by the application framework. The Android application developer typically works with the two layers on top to create new Android applications.

Google Play

Google offers the Google Play service, a marketplace in which programmers can offer their Android applications to Android users. Customers use the Google Play application which allows them to buy and install applications from the Google Play service.
Google Play also offers an update service. If a programmer uploads a new version of his application to Google Play, this service notifies existing users that an update is available and allows them to install the update.
Google Play provides access to services and libraries for Android application programmers, too. For example, it provides a service to use and display Google Maps and another to synchronize the application state between different Android installations. Providing these services via Google Play has the advantage that they are available for older Android releases and can be updated by Google without the need for an update of the Android release on the phone.

Android Development Tools

Android SDK

The Android Software Development Kit (Android SDK) contains the necessary tools to create, compile and package Android applications. Most of these tools are command line based. The primary way to develop Android applications is based on the Java programming language.

 Android debug bridge (adb)

The Android SDK contains the Android debug bridge (adb), which is a tool that allows you to connect to a virtual or real Android device, for the purpose of managing the device or debugging your application.

Gradle and the Android plug-in for Gradle

The Android tooling uses Gradle as build system. The Android team provides a Gradle plug-in for build Android applications which is entered in the build.gradle file in the top root of the Android project. It typically looks like the following, please note that the version might be different in your case.

Android Developer Tools and Android Studio

Google provides an IDE called Android Studio as the preferred development environment for creating Android applications. This IDE is based on the IntelliJ IDE.
The Android tools provide specialized editors for Android specific files. Most of Android's configuration files are based on XML. In this case these editors allow you to switch between the XML representation of the file and a structured user interface for entering the data.
This description uses Android Studio as IDE.

Android RunTime (ART)

Android 5.0 uses the Android RunTime (ART) as runtime for all Android applications.
ART uses Ahead Of Time compilation. During the deployment process of an application on an Android device, the application code is translated into machine code. This results in approx. 30% larger compile code, but allows faster execution from the beginning of the application.
This also saves battery life, as the compilation is only done once, during the first start of the application.
The dex2oat tool takes the .dex file created by the Android tool change and compiles that into an Executable and Linkable Format (ELF file). This file contains the dex code, compiled native code and meta-data. Keeping the .dex code allows that existing tools still work.
The garbage collection in ART has been optimized to reduce times in which the application freezes.

How to develop Android applications

Android applications are primarily written in the Java programming language.
During development the developer creates the Android specific configuration files and writes the application logic in the Java programming language.
The Android tooling converts these application files, transparently to the user, into an Android application. When developers trigger the deployment in their IDE, the whole Android application is compiled, packaged, deployed and started.

Conversion process from source code to Android application

The Java source files are converted to Java class files by the Java compiler.
The Android SDK contains a tool called dx which converts Java class files into a .dex (Dalvik Executable) file. All class files of the application are placed in this .dex file. During this conversion process redundant information in the class files are optimized in the .dex file.
For example, if the same String is found in different class files, the .dex file contains only one reference of this String.
These .dex files are therefore much smaller in size than the corresponding class files.
The .dex file and the resources of an Android project, e.g., the images and XML files, are packed into an .apk (Android Package) file. The program aapt (Android Asset Packaging Tool) performs this step.

The resulting .apk file contains all necessary data to run the Android application and can be deployed to an Android device via the adb tool.

Friday, 8 April 2016

Everyone trying to “scale agile” or “be agile at scale” is attempting to address these scale areas

Everyone is having the understanding with how to “do agile” or “be agile,” individually or as a team. Regardless of whether people are doing and being agile correctly and successfully, everyone is now busy either scaling agile or being agile at scale. But the questions are. Why? What are the main reasons for all agile conferences these days to have scaling sessions on their programs? Why are many new agile books not about individual teams anymore? Which market needs have been identified by the global explosion of scaling programs, consultants, coaches, certificates, frameworks and seminars? That is what found is: 1) Growth. 2) Coordination. 3) Orchestration. 4) Legacy 5) Complexity. To read more about it follow the article written by Jurgen Appelo (Pioneering management in creative organization)at:

Wednesday, 6 April 2016

All About Application Migration

Presently companies started shifting or planning to shift on cloud and updating there entire data center with modern converged infrastructure solutions. They are optimizing their entire ecosystem to support mobility and new kinds of end-point technologies. To stay agile in today’s market, need is to design an environment that’s ready for visualization and cloud. Organizations are running into application migration challenges. Those can be very serious:
1. Some apps can’t be visualized.
2. Some apps simply can’t be moved into a cloud ecosystem.
3. Some apps have critical legacy dependencies.
4. Some apps are challenged by compliance and security measures.
So here’s the good news: new technologies are enabling a very granular understanding of applications and their unique requirements. Let’s look at some ways that can work with challenging applications and some application migration options.
# Understanding the Application DNA
# What to Do With Mainframes?
# Working Around Dependencies
# Getting Creative with Challenge Apps
# Ripping Off the Band-Aid.
To read in detail follow the article by Bill Kleyman at:

Monday, 4 April 2016

Agile Marketing for Your Brand

To be ready for the next big trend or story, it is essential to build your personal brand online. To stay on track, good research and analytics is very important. If you are thinking of what's being shared on social media, there are many ways how your brand can take advantage of “agile marketing”. It can help in staying ahead of what is to come and be prepared for news and events. Today one needs to be active on social media and track content and trends. It is essential to build an audience. Knowing the need of audience is a good start along with flexing marketing plan. Few steps that can increase brand Awareness are: - 
# Track the latest hashtags 
# Conduct thorough research 
# Be ready for change. 
As you involve agile marketing as a regular part of your personal branding strategy, it’s good to remember that this is a process which involves careful attention and planning. To read more about agile marketing follow the article by Personal Branding Blog at

Friday, 1 April 2016

Agile Apps Development

Mobile app developers are changing the app building and maintenance approach to technologies and architecture that supports modular apps with collaborative development process and is flexible, speedy. Whether you're making an enterprise or external customer apps, it is an iterative process. Waterfall development practices that lead to monolithic apps are unable to support the demands of developers, to create and update apps for modern mobile users. Platforms are supporting flexibility through granular, componentized and agile architectures and practices.  Those who are involved in DevOps think about how to divide system into smaller pieces so they can be independently and quickly updated. Adopting a modular approach create a number of opportunities for efficiency. So, where do you begin? Here are three emerging technology trends that will get your mobile app development teams headed in the right direction. 
1) Micro services. 
2) Cards and Deep Links. 
3) Native JavaScript Frameworks. 
To read more about it follow the article by Peter Crocker (Founder and Principle Analyst at Smith’s Point Analytics) at:

Wednesday, 30 March 2016

How important is Agile Certification?

Agile is becoming important in the IT field. But, what is the importance of agile certification? Adding a certification to your resume has been always appreciable. But the industry looks for candidates who can really apply agile to process development. A certification implies that the candidate has spent time in this field. Moreover, it is easier to work with the team with an Agile professional, because team members will pay more heed to an expert. Read more about it in the article written by Sharon Florentine (writer at at:

Monday, 28 March 2016

Human Capital Management - A New Perspective of HR Department

Earlier, the function of human resources is associated with the person who handled employee paperwork and personnel files. But today, the role of HR has become a much more important and dynamic. Some companies even refer to HR's activities as human capital management (HCM) to reflect the strategic and leadership-oriented nature of the department. It was also found that HR experts shared their insights for companies who are looking to provide the best Human Capital management for their workforce. Few things that HCM takes care of: -
1) Look beyond recruiting and onboarding.
2) Learn the best way to manage each employee.
3) Invest in the right technology.
4) Take a positive, but transparent approach to communication.
5) Continue to change with the times.
To read more about HCM, follow the article by Nicole Fallon(Assistant Editor at Business News Daily) at:

Friday, 25 March 2016

All about Big Data

Big Data is massive. This article will explore the issues of big data: what it is, how it will improve decision - making, and how to use it correctly.
1) What's the big deal about big data? Big data is all about three "V's" Velocity, Volume and Variety.
2) How it will improve decision?
# Deliver customer insights.
# Deliver targeted communication.
# optimize performance.
3) How to use it correctly?
# Collect data.
# Clean Data.
# Merge Datasets.
# Analyze Data.
To learn more about big data follow the article by Angela Hausman (PhD) at:

Wednesday, 23 March 2016

Technologies Deciding Future of Agriculture

Today world is changing at a rapid speed. Technology is playing an important role. Agriculture technology is also advancing and promises to unleash its productivity. The combination of advanced mathematics, automation, advancements in sensor systems and next-generation plant breeding are setting the stage for the next Green Revolution, which is needed to ensure a better future. Next-generation farms are putting science and technology to work towards delivering a step change in yields and growing more from less. Here are the four most exciting developments in 2016.
1) The Mathematics revolution,
2) The Sensing Revolution,
3) Putting it together with automation and
4) Next generation plant breeding of corn.
Read more at:

Monday, 21 March 2016

Make It Easy with Six Sigma Tools

Six Sigma tools are techniques used by experts in process development. These methods, tools and techniques are vital for the success of any Six Sigma project. Six Sigma has two methods: DMAIC and DMADV. DMAIC is the acronym for Define, Measure, Analyze, Improve and Control. The full form of DMADV is Define, Measure, Analyze, Design, and Verify. The five important tools used are:
1. The 5 Whys;
2. Fishbone Diagram;
3. Histogram;
4. Regression Analysis; and
4. Run Chart/ Time Series.
Read more about it at: :

Friday, 18 March 2016

Future of Marketing Intelligence: Call Center Speech Analytics

With the expansion of Analytics, each sector is trying to utilize it to the fullest. By implementing analytics, the managers are able to identify the behaviors that lead to positive outcomes and also identify the problematic areas. Therefore, organizations must develop the best practices that can streamline the work. By applying this to the calls, customers can analyze the customer - agent interactions. So they can identify the most important factors and can even reduce the volume in maximum traffic hours. The advance speech analytics software not only means, evaluates and presents audio and textual data, but also collects information regarding reasons for calls, emotional nuances in a customer's voice and how well agents are addressing a customer's needs and expectations. This even helps them keep a check on their marketing strategies so that it can be altered for the better. These generate very meaningful insights for why a customer needs to contact the support centers and thus exposing the root cause. So this helps in decreasing the average call time and monitoring the resources spent. Read more at :