Wednesday, February 27, 2013

ANDROID


ANDROID


What is Android?

  1. Android has a dictionary meaning of being a human that resembles automation. 
  2. The true character of its name is it’s the Google created software stack for creating comprehensive Mobile Applications and Software to realize the full potential of one’s Mobile handset and its possibilities.
  3. Android is a comprehensive software stack of mobile devices that includes an operating system, middleware and key application. 
  4. This rich source of software bunch is used in Mobile Technology through its innovation module of The Android Software Development Kit (SDK).
  5. Operating Systems have developed a lot in last 15 years. 
  6. Starting from black and white phones to recent smart phones or mini computers, mobile OS has come far away. 
  7. Especially for smart phones, Mobile OS has greatly evolved from Palm OS in 1996 to Windows pocket PC in 2000 then to Blackberry OS and Android. 
  8. One of the most widely used mobile OS these days is ANDROID. 
  9. Android is a software bunch comprising not only operating system but also middleware and key applications. 
  10. Android Inc was founded in Palo Alto of California, U.S. by Andy Rubin, Rich miner, Nick sears and Chris White in 2003. 
  11. Later Android Inc. was acquired by Google in 2005. 
  12. After original release there have been number of updates in the original version of Android.








Applications in Android
  • Android initially came into existence with the sure fire idea that developments are given the power and freedom to create enthralling Mobile applications while taking advantage of everything that the mobile handset has to offer.
  • Android is built on open Linux Kernel. 
  • This particular software for Mobile Application is made to be open source, thereby giving the opportunity to the developers to introduce and incorporate any technological advancement. 
  • Build on custom virtual machine android gives its users the addition usage and application power, to initiate an interactive and efficient application and operational Software for your phone.
  • Google’s mobile operating device, the android is its awesome creation in the definitive creation of Software Applications for the mobile phone arena it also facilitates the g-juice in your mobile thus initiating a whole new world of Mobile Technology experience by its customers.
  • We at Arokia IT are technically equipped to initiate any level of these amazing software applications using the android genius from Google. 
  • Around in the year 2007, Google announced its Android Operating System and Open Handset Alliance with these two major contributions to the mobile industry that ultimately changed our experience with mobile interface.


Open Handset Alliance
  • Open Handset Alliance is an amalgamation of Tech Companies with common and particular interest in the mobile user enhancement experience. 
  • Companies like Google, HTC, Motorola, Samsung, Telecom Italia, T Mobile, LG, Texas Instruments as well as Sony Ericsson, Vodafone, Toshiba and Hawaii are Tech giant based on their core abilities and strengths, while keeping and pursuing the characters and goals of each company, their basic idea of this joining of hands was the feature-rich mobile experience for the end user. 
  • This alliance meant the sharing of ideas and innovation, to bring out these ideas into reality. This provided the millions and millions of Mobile users the experience that they never had.
  • Like the Apple iphone, Android Operating System allows third party developers to innovate and create Applications and software for mobile devices.
  •  Android is an open, flexible and stable enough to associate itself with newer and newer evolving Technologies. 
  • Android’s vast range of easy to use tools and wide range of libraries provides Mobile Application developers with the means of an amazing mobile operating software to come up with the most efficient and rich Mobile Applications changing the world of millions of mobile users.



Android Application Development Services at Arokia
  1. We provide a comprehensive suit and comprehensive assistance in the development of mobile application on the Android Platform to our prestigious customers.
  2.  Our experts are veterans in the Java programming language and are capable to exhaust any challenge to develop feature-rich android application services. 
  3. Java Programming Language is used as a basic building block and back bone for Android Application Development that allows developers to program comprehensive application on Java that runs on Android Mobile.
  4. Android’s vast range of easy to use tools and wide range of libraries, provides Mobile Application Developers with the means of an amazing mobile operating software to come up with the most efficient and rich Mobile Applications. 
  5. Our development team has complete resources and technologies to make use of in developing the most acclaimed applications.
  6. Among the various Application categories developed by us on the android platform, some of them are; Communication Application, Business Application, Multimedia Application, Internet Application, Fun/Entertainment Application, Gaming Application, Utility and Security Application. We program these Applications on the customized demands of our clients. 
  7. We ensure them that these specifically designed apps on the android platform are solely designed for their specific user defined criteria.


Features & Specifications 
  • Android is a powerful Operating System supporting a large number of applications in Smart Phones
  • These applications make life more comfortable and advanced for the users.
  • Hardwares that support Android are mainly based on ARM architecture platform. Some of the current features and specifications of android are: 


  1. Android comes with an Android market which is an online software store. 
  2. It was developed by Google. 
  3. It allows Android users to select, and download applications developed by third party developers and use them. 
  4. There are around 2.0 lack+ games, application and widgets available on the market for users.


  • Android applications are written in java programming language. 
  • Android is available as open source for developers to develop applications which can be further used for selling in android market. 
  • There are around 200000 applications developed for android with over 3 billion+ downloads. 
  • Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. 
  • For software development, Android provides Android SDK (Software development kit). 
Applications

These are the basics of Android applications:
•      Android applications are composed of one or more application components (activities, services, content providers, and broadcast receivers)
•      Each component performs a different role in the overall application behavior, and each one can be activated individually (even by other applications)
•      The manifest file must declare all components in the application and should also declare all application requirements, such as the minimum version of Android required and any hardware configurations required
•      Non-code application resources (images, strings, layout files, etc.) should include alternatives for different device configurations (such as different strings for different languages)

Google, for software development and application development, had launched two competitions ADC1 and ADC2 for the most innovative applications for Android. 
  • It offered prizes of USD 10 million combined in ADC1 and 2.
  • ADC1 was launched in January 2008 and ADC 2 was launched in May 2009. 
  • These competitions helped Google a lot in making Android better, more user friendly, advanced and interactive.
Android's Latest

Android is still updating. The recent version of Android (Honey comb 3.1) has very advanced features and updated applications which are optimized for use on larger screen devices. These applications are mentioned below:

Browser: Android's new version includes a number of new features for simple, fast and convenient browsing with the Quick UI controls. It also supports popular web standards like CSS 3D, Animations and CSS fixed positioning to all sites, mobile or desktop. It also supports playback of HTML5 video content. To make it better and convenient to manage favorite content, users can now save a web page locally for offline viewing, including all styling and images.


Gallery: Now the new gallery supports PTP (Picture Transfer Protocol) so that users can directly connect their cameras with Android device and transfer pictures with a single touch.

Calendar: Calendar grids are larger, for better readability and more accurate touch-targeting. Additionally, users can create a larger viewing area for grids by hiding the calendar list controls. Controls in the date picker are redesigned, making them easier to see and use.

Contacts: The Contacts app now lets you locate contacts more easily using full text search. Search returns matching results from all fields that are stored for a contact.

Email: When replying or forwarding an HTML message, The Email app now sends both plain text and HTML bodies as a multi-part mime message. This ensures that the message will be formatted properly for all recipients. Folder prefixes for IMAP accounts are now easier to define and manage. To conserve battery power and minimize cell data usage, the application now prefetches email from the server only when the device is connected to a Wi-Fi access point.
An updated Home screen widget give users quick access to more email. Users can touch Email icon at the top of the widget to cycle through labels such as Inbox, Unread, and Starred. The widget itself is now resizable, both horizontally and vertically.

Enterprise support: Users can now configure an HTTP proxy for each connected Wi-Fi access point. This lets administrators work with users to set a proxy hostname, port, and any bypass sub domains. This proxy configuration is automatically used by the Browser when the Wi-Fi access point is connected, and may optionally be used by other apps. The proxy and IP configuration is now backed up and restored across system updates and resets.

For developers, Android’s new version has extended possibilities with new capabilities that developers can build on to create new and powerful applications for tablets and smart phones. Some of the new features for developers are:
•           Open Accessory API for rich interaction with peripherals
•           USB Host API
•           Input from mice , Joystick and game pad
•           Resizable home screen widgets
•           MTP(Media transfer protocol) ATI for integrating with external cameras
•           Real Time Transport – protocol (RTP) ATI for control over audio streaming sessions.

With all these new features Android 3.1 is making life more comfortable and advanced. Now with advanced browser, gallery, calendar, USB support, new hardwares supporting this OS are pretty convenient.

Cell phones have really evolved earlier features like camera and music player but now latest hardwares not only support such features but advanced use of such features as well as Bar code scanner, text scanner etc which has made life better and simpler and Android has played an instrumental role in this evolution with thousands of applications available in Android market and open chance for developers to make it more advanced and better. In a way Android has changed its users' life completely.





.NET INTERVIEW QUESTIONS AND ANSWERS


.NET INTERVIEW QUESTIONS AND ANSWERS

1. Advantages of Crystal Reports

Some of the major advantages of using Crystal Reports are: 

1. Rapid report development since the designer interface would ease the coding work for the programmer.

2. Can extend it to complicated reports with interactive charts and enhance the understanding of the business model

3. Exposes a report object model, can interact with other controls on the ASP.NET Web form

4. Can programmatically export the reports into widely used formats like .pdf, .doc, .xls, .html and .rtf

2. What is the Difference between Web.config and Machine.config?

Scope:
Web.config => For particular application in IIS.
Machine.config = > For All the applications in IIS
Created:
Web.config => Created when you create an application
Machine.config => Create when you install Visual Studio
Known as:
Web.config => is known as Application Level configuration file
Machine.config => is known as Machine level configuration file
Location:
Web.config => In your application Directory
Machine.config => …\Microsoft.NET\Framework\(Version)\ CONFIG



3. What is the Global.asax used for?


The Global.asax (including the Global.asax.cs file) is used to implement application and session level events.

4. What does the "EnableViewState" property do? Why would I want it on or off?


It allows the page to save the users input on a form across postbacks. It saves the server-side values for a given control into ViewState, which is stored as a hidden value on the page before sending the page to the clients browser. When the page is posted back to the server the server control is recreated with the state stored in viewstate.

5. What is GC in NET Framework?
  1. The .NET Framework's garbage collector manages the allocation and release of memory for your application. 
  2. Each time you use the new operator to create an object, the runtime allocates memory for the object from the managed heap.
  3. As long as address space is available in the managed heap, the runtime continues to allocate space for new objects. However, memory is not infinite. 
  4. Eventually the garbage collector must perform a collection in order to free some memory. 
  5. The garbage collector's optimizing engine determines the best time to perform a collection, based upon the allocations being made.
  6. When the garbage collector performs a collection, it checks for objects in the managed heap that are no longer being used by the application and performs the necessary operations to reclaim their memory.


6. What is the common language runtime (CLR)?

The common language runtime (CLR) is major component in the .NET Framework and it is the execution engine for .NET Framework applications.

It is responsible for proving the number of services, including the following:

1. Code management (loading and execution)

2. Verification of type safety

3. Conversion of Microsoft Intermediate Language (MSIL) to native code

4. Access to metadata (enhanced type information)

5. Managing memory for managed objects

6. Enforcement of code access security (See what is code access security?)

7. Exception handling, including cross-language exceptions

8. Interoperation between managed code, COM objects, and pre-existing DLLs (unmanaged code and data)

9. Automation of object layout

10. Support for developer services (profiling, debugging, and so on)

7. What is the common type system (CTS)?

The common type system (CTS) is a rich type system, built into the common language runtime (CLR) that supports the types and operations found in most of .NET programming languages. The common type system supports the complete implementation of a wide range of programming languages.

8. What is the Microsoft Intermediate Language (MSIL)?


MSIL is the Machine independent Code into which .NET Framework programs are compiled. It contains instructions for loading, storing, initializing, and calling methods on objects. Combined with metadata and the common type system, MSIL allows for true cross language integration. Prior to execution, MSIL is converted to machine code via CLR’s Just-in-Time (JIT) compiler.

9. What is managed code and managed data?


We can describe this Manage code like, if a code running under the control CLR, then we can call it as Managed Code.

Managed code is code that is written to target the services of the common language runtime (see what is CLR?). In order to target these services, the code must provide a minimum level of information (metadata) to the runtime.

10. What is portable executable (PE)?

The file format defining the structure that all executable files (EXE) and Dynamic Link Libraries (DLL) must use to allow them to be loaded and executed by Windows. PE is derived from the Microsoft Common Object File Format (COFF). The EXE and DLL files created using the .NET Framework obey the PE/COFF formats and also add additional header and data sections to the files that are only used by the CLR.
11. What is Code Access Security (CAS)?

CAS is the part of the .NET security model that determines whether or not a piece of code is allowed to run, and what resources it can use when it is running. For example, it is CAS that will prevent a .NET web applet from formatting your hard disk.

12. Which namespace is the base class for .net Class library?


system.object

13. What is serialization in .NET?


Serialization is the process of converting an object into a stream of bytes.

14. What is Deserialization in .NET?


Deserialization is the opposite process of serialization, creating an object from a stream of bytes.

15. What is exception handling?

Exception handling is the process of responding to the occurrence, during computation, of exceptions – anomalous or exceptional events requiring special processing – often changing the normal flow of program execution. It is provided by specialized programming language constructs or computer hardware mechanisms.
Exceptions that occur during destructor execution are worth special mention. If an exception occurs during destructor execution, and that exception is not caught, then the execution of that destructor is terminated and the destructor of the base class (if any) is called. If there is no base class (as in the case of the object type) or if there is no base class destructor, then the exception is discarded.




16. What are the contents of assembly?

In general, a static assembly can consist of four elements:

• The assembly manifest, which contains assembly metadata.
• Type metadata.
• Microsoft intermediate language (MSIL) code that implements the types.
• A set of resources.

17. What are the different types of assemblies?


Private, Public/Shared, Satellite

18. What is the difference between a private assembly and a shared assembly?


1. Location and visibility: A private assembly is normally used by a single application, and is stored in the application's directory, or a sub-directory beneath. A shared assembly is normally stored in the global assembly cache, which is a repository of assemblies maintained by the .NET runtime. Shared assemblies are usually libraries of code which many applications will find useful, e.g. the .NET framework classes.

2. Versioning: The runtime enforces versioning constraints only on shared assemblies, not on private assemblies

19. What is the difference between ref & out parameters?


An argument passed to a ref parameter must first be initialized. Compare this to an out parameter, whose argument does not have to be explicitly initialized before being passed to an out parameter.

20. What is the difference between Array and Arraylist?


As elements are added to an ArrayList, the capacity is automatically increased as required through reallocation. The capacity can be decreased by calling TrimToSize or by setting the Capacity property explicitly.

21. What is Jagged Arrays?


A jagged array is an array whose elements are arrays. The elements of a jagged array can be of different dimensions and sizes. A jagged array is sometimes called an "array-of-arrays."


22. What are indexers?


Indexers are similar to properties, except that the get and set accessors of indexers take parameters, while property accessors do not.

23. What is Interop Services?


The common language runtime(CLR) provides two mechanisms for interoperating with unmanaged code:

• Platform invoke, which enables managed code to call functions exported from an unmanaged library.

• COM interop, which enables managed code to interact with COM objects through interfaces.

Both platform invoke and COM interop use interop marshaling to accurately move method arguments between caller and callee and back, if required.

24. What is RCW?

RCW Means Runtime Callable Wrappers, The common language runtime(CLR) exposes COM objects through a proxy called the runtime callable wrapper (RCW). Although the RCW appears to be an ordinary object to .NET clients, its primary function is to marshal calls between a .NET client and a COM object.

25. What is CCW?


CCW Means COM Callable Wrapper, A proxy object generated by the common language runtime (CLR). so that existing COM applications can use managed classes, including .NET Framework classes, transparently.

IP Address


IP Address
What is IP Address? 

  • Internet Protocol Address (or IP Address) is an unique address that computing devices use to identify itself and communicate with other devices in the Internet Protocol network. 
  • Any device connected to the IP network must have an unique IP address within its network.
  •  An IP address is analogous to a street address or telephone number in that it is used to uniquely identify a network device to deliver mail message, or call ("view") a website.
  • An IP address is a fascinating product of modern computer technology designed to allow one computer (or other digital device) to communicate with another via the Internet.
  •  IP addresses allow the location of literally billions of digital devices that are connected to the Internet to be pinpointed and differentiated from other devices. 
  • In the same sense that someone needs your mailing address to send you a letter, a remote computer needs your IP address to communicate with your computer.
  • An Internet Protocol is a set of rules that govern Internet activity and facilitate completion of a variety of actions on the World Wide Web.
  • Therefore an Internet Protocol address is part of the systematically laid out interconnected grid that governs online communication by identifying both initiating devices and various Internet destinations, thereby making two-way communication possible.
  • An IP address consists of four numbers, each of which contains one to three digits, with a single dot (.) separating each number or set of digits. 
  • Each of the four numbers can range from 0 to 255. Here's an example of what an IP address might look like: 78.125.0.209. 
  • This innocuous-looking group of four numbers is the key that empowers you and me to send and retrieve data over our Internet connections, ensuring that our messages, as well as our requests for data and the data we've requested, will reach their correct Internet destinations. 
  • Without this numeric protocol, sending and receiving data over the World Wide Web would be impossible.
  • IP addresses can be either static or dynamic. 
  • Static IP addresses never change. They serve as a permanent Internet address and provide a simple and reliable way for remote computers to contact you.
  •  Static IP addresses reveal such information as the continent, country, region, and city in which a computer is located; the ISP (Internet Service Provider) that services that particular computer; and such technical information as the precise latitude and longitude of the country, as well as the locale, of the computer. 
  • Many websites provide IP address look-up services to their visitors, free of charge. 

Dynamic IP addresses
  • Dynamic IP addresses are temporary and are assigned each time a computer accesses the Internet. 
  • They are, in effect, borrowed from a pool of IP addresses that are shared among various computers. 
  • Since a limited number of static IP addresses are available, many ISPs reserve a portion of their assigned addresses for sharing among their subscribers in this way. 
  • This lowers costs and allows them to service far more subscribers than they otherwise could.

Static IP addresses

  • Static IP addresses are generally preferable for such uses as VOIP (Voice over Internet Protocol), online gaming, or any other purpose where users need to make it easy for other computers to locate and connect to them. 
  • Easy access can also be facilitated when using a dynamic IP address through the use of a dynamic DNS service, which enables other computers to find you even though you may be using a temporary, one-time IP address.
  •  This often entails an extra charge, however, so check with your ISP.
  • Static IP addresses are considered somewhat less secure than dynamic IP addresses, since they are easier to track for data mining purposes. 
  • However, following safe Internet practices can help mitigate this potential problem and keep your computer secure no matter what type of IP address you use.


Dotted Decimals

  1. The traditional IP Addresses (IPv4) uses a 32-bit number to represent an IP address, and it defines both network and host address. 
  2. Due to IPv4 addresses running out, a new version of the IP protocol (IPv6) has been invented to offer virtually limitless number of unique addresses. 
  3. An IP address is written in "dotted decimal" notation, which is 4 sets of numbers separated by period each set representing 8-bit number ranging from (0-255). 
  4. An example of IPv4 address is 216.3.128.12, which is the IP address assigned to topwebhosts.org.
  5. An IPv4 address is divided into two parts: network and host address. 


Network address &  host address

The network address determines how many of the 32 bits are used for the network address, and remaining bits for the host address. 
The host address can further divided into subnetwork and host number.

Class A, B, C and CIDR networks

Traditionally IP network is classified as A, B or C network. The computers identified the class by the first 3 bits (A=000, B=100, C=110), while humans identify the class by first octet(8-bit) number. With scarcity of IP addresses, the class-based system has been replaced by Classless Inter-Domain Routing (CIDR) to more efficiently allocate IP addresses.
Class
Network Address
Number of Hosts
Netmask
CIDR
/4
240,435,456
240.0.0.0
CIDR
/5
134,217,728
248.0.0.0
CIDR
/6
67,108,864
252.0.0.0
CIDR
/7
33,554,432
254.0.0.0
A
/8 (1-126)
16,777,216
255.0.0.0
CIDR
/9
8,388,608
255.128.0.0
CIDR
/10
4,194,304
255.192.0.0
CIDR
/11
2,097,152
255.224.0.0
CIDR
/12
1,048,576
255.240.0.0
CIDR
/13
524,288
255.248.0.0
CIDR
/14
262,144
255.252.0.0
CIDR
/15
131,072
255.254.0.0
B
/16 (128-191)
65,534
255.255.0.0
CIDR
/17
32,768
255.255.128.0
CIDR
/18
16,384
255.255.192.0
CIDR
/19
8,192
255.255.224.0
CIDR
/20
4,096
255.255.240.0
CIDR
/21
2,048
255.255.248.0
CIDR
/22
1,024
255.255.252.0
CIDR
/23
512
255.255.254.0
C
/24 (192-223)
256
255.255.255.0
CIDR
/25
128
255.255.255.128
CIDR
/26
64
255.255.255.192
CIDR
/27
32
255.255.255.224
CIDR
/28
16
255.255.255.240
CIDR
/29
8
255.255.255.248
CIDR
/30
4
255.255.255.252
Note: (1) 127 Network Address reserved for loopback test. (2) Class D (224-247, Multicast) and Class E (248-255, Experimental) are not intended to be used in public operation. 

Public and Private IP Addresses 
In order to maintain uniqueness within global namespace, the IP addresses are publicly registered with the NetworkInformation Center (NIC) to avoid address conflicts. Devices that need to be publicly identified such as web or mail servers must have a globally unique IP address, and they are assigned a public IP address. Devices that do not require public access may be assigned a private IP address, and make it uniquely identifiable within one organization. For example, a network printer may be assigned a private IP address to prevent the world from printing from it. To allow organizations to freely assign private IP addresses, the NIC has reserved certain address blocks for private use. A private network is a network that uses RFC 1918 IP address space. The following IP blocks are reserved for private IP addresses.
Class
Starting IP Address
Ending IP Address
A
10.0.0.0
10.255.255.255
B
172.16.0.0
172.31.255.255
C
192.168.0.0
192.168.255.255
In addition to above classful private addresses, 169.254.0.0 through 169.254.255.255 addresses are reserved for Zeroconf (or APIPA, Automatic Private IP Addressing) to automatically create the usable IP network without configuration.

What is loopback IP address? 
  1. The loopback IP address is the address used to access itself. The IPv4 designated 127.0.0.1 as the loopback address with the 255.0.0.0 subnet mask
  2. A loopback interface is also known as a virtual IP, which does not associate with hardware interface. 
  3. On Linux systems, the loopback interface is commonly called lo or lo0. The corresponding hostname for this interface is called localhost.
  4. The loopback address is used to test network software without physically installing a Network Interface Card (NIC), and without having to physically connect the machine to a TCP/IP network. 
  5. A good example of this is to access the web server running on itself by using http://127.0.0.1 or http://localhost.