Sunday, March 24, 2013

Android Versions







API Level

What is API Level?

API Level is an integer value that uniquely identifies the framework API revision offered by a version of the Android platform.
The Android platform provides a framework API that applications can use to interact with the underlying Android system.

The framework API consists of:

A core set of packages and classes
A set of XML elements and attributes for declaring a manifest file
A set of XML elements and attributes for declaring and accessing resources
A set of Intents

A set of permissions that applications can request, as well as permission enforcements included in the system
Each successive version of the Android platform can include updates to the Android application framework API that it delivers.Updates to the framework API are designed so that the new API remains compatible with earlier versions of the API. That is, most changes in the API are additive and introduce new or replacement functionality. As parts of the API are upgraded, the older replaced parts are deprecated but are not removed, so that existing applications can still use them. In a very small number of cases, parts of the API may be modified or removed, although typically such changes are only needed to ensure API robustness and application or system security. All other API parts from earlier revisions are carried forward
without modification.

The framework API that an Android platform delivers is specified using an integer identifier called "API Level". Each Android

platform version supports exactly one API Level, although support is implicit for all earlier API Levels (down to API Level 1).

The initial release of the Android platform provided API Level 1 and subsequent releases have incremented the API Level.

The following table specifies the API Level supported by each version of the Android platform.

Android 2012

Android 2012


After Google Zeitgeist and YouTube looked back on 2012 it’s time to do the same for Android.

January
The year 2011 has just ended and the Galaxy Nexus is the current flagship phone. 12 days later on January 12th the Android Design website launched. Followed by the Android developers Google+ page on January 30th.

February

The first numbers of the year are published. 850,000 Android phones are activated every day. 300 million devices have been activated so far.

March

On March 5th expansion files are introduced and Android apps break the 50MB barrier expanding the size limit to 4GB. The Android market retires and is reborn as Google play on March 6th. The same month on March 21st the SDK tools and ADT revision 17 are released, adding an emulator that supports running x86 system images on Windows and Mac OS X. An update to the Android Developer Console on March 29th allows multiple users to manage published Android apps.

April

The emulator gets even more faster on April 9th by adding GPU support. On April 20th the first episode of Friday App Review airs and is later called The app clinic.

May

On May 4th Wolfram Rittmeyer publishes the first posting on his blog Grokking Android. Followed by the first article published on Android Zeitgeist on May 27th. 3 days before on May 24th In-app Subscriptions are launched on Google Play.

June

The Google I/O takes place for three days from June 27th to 29th. There are now 900,000 Android devices activated every day and 400 million devices have been activated up to now. Android 4.1 (Jelly Bean) is publicly shown for the first time on June 27th. The same day the Android 4.1 SDK is released. In addition to that the first tablet by Google is unveiled: The Nexus 7. On the second day of the Google I/O the Android SDK tools are updated to revision 20. At the end of the Google I/O there have been 3.5 million live streams seen from 170 countries.

July

On July 3rd the Ouya, an Android based console, is unveiled and a Kickstarter campaign is started on July 10th. On July 9th the Android 4.1 source code is published as part of the Android Open Source Project (AOSP).

August

The funding phase for the Ouya is completed. The campaign collected $8,596,475. That’s 904% more than the initial campaign goal.

September

New numbers are released. There are now 1.3 million devices activated every a day. About 70,000 of these devices are tablets. 480 million devices have been activated up to now. On September 9th the first episode of This week in Android development airs. A day later the first episode of Android Design in Action is uploaded to YouTube.

October

Till mid October 3 million Nexus 7 units have been sold. Starting from October 15th the new Google Play Developer Console is available to everyone. Google planned a launch event on October 29th in New York but it has been cancelled due to Hurricane Sandy. Nevertheless the Nexus 4 and Nexus 10 are introduced online this day. These are the first devices to run Android 4.2.

November

The first episode of (╯°□°)╯︵ ┻━┻ airs on November 8th. On November 13th the Nexus 4 and Nexus 10 went on sale and are sold out in minutes. Later that day the Android 4.2 SDK platform is released. Another day later the Android SDK tools revision 21 are released.

December

Google releases a new Google Maps API for Android on December 3rd. On December 10th a new version of the In-App billing API is released.

Wednesday, March 20, 2013

XML

XML stands for eXtensible Markup Language.
XML is designed to transport and store data.
XML is important to know, and very easy to learn.
  • XML is a markup language much like HTML
  • XML was designed to carry data, not to display data
  • XML tags are not predefined. You must define your own tags
  • XML is designed to be self-descriptive



Extensible Markup Language (XML) is a simple, very flexible text format derived from SGML (ISO 8879). Originally designed to meet the challenges of large-scale electronic publishing, XML is also playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere.

Extensible Markup Language (XML) is a set of rules for encoding documents in machine-readable form. XML is a popular format for sharing data on the internet. Websites that frequently update their content, such as news sites or blogs, often provide an XML feed so that external programs can keep abreast of content changes. Uploading and parsing XML data is a common task for network-connected apps.

Monday, March 11, 2013

Dalvik Virtual Machine


            Dalvik is the process virtual machine (VM) in Google's Android operating system. It is the software that runs the apps on Android devices. Dalvik is thus an integral part of Android, which is typically used on mobile devices such as mobile phones and tablet computers as well as more recently on embedded devices such as smart TVs and media streamers. Programs are commonly written in Java and compiled to bytecode. They are then converted from Java Virtual Machine-compatible .class files to Dalvik-compatible .dex (Dalvik Executable) files before installation on a device. The compact Dalvik Executable format is designed to be suitable for systems that are constrained in terms of memory and processor speed.



      Dalvik is open-source software. It was originally written by Dan Bornstein, who named it after the fishing village of Dalvík in Eyjafjörður, Iceland, where some of his ancestors lived.



Dalvik
Original author(s)Dan Bornstein
Operating systemLinux kernel
PlatformAndroid
TypeVirtual machine
LicenseApache License 2.0
Websitecode.google.com/p/dalvik
Dalvik Executable
Filename extension.dex

Saturday, March 9, 2013

Which Java concepts required to learn android?

To develop android applications you should be having some knowledge in java i.e., OOPS concepts.If You know those concepts its gonna do well further. So, Be sure that you are comfortable with java concepts listed below.
  • Understand what is class and object?
  • What are the Methods available (No need to read all the methods. You just read whatever the methods we are regularly using in java)?
  • Understand and do some basic examples on Inheritance(Write atleast 1 Program)
  • Understand and do some basic examples on polymorphism(Write atleast 1 Program)
  • Know What is Encapsulation?
  • Understand and do some basic examples on abstraction(Write atleast 1 Program)
  • What is Constructor and how many types of constructors?
  • Understand overloading and overriding(Write atleast 1 Program for each)
  • Read all String manipulations (do some examples on each on it).
  • Do practice on Interfaces this is imp concept.
  • Read and do some basic examples on ArrayList.
  • You should have knowledge about Event Handling.(Write atleast 1 Program)
  • Short introduction of  AWT, Swing and Applet.

Friday, March 8, 2013

Static Modifier

Static modifier

Schedule for first session

On sat 9 th march.

Schedule:
               at 1 p.m  we r going to discuss abt java basics using eclipse IDE......
               1.class and objects
               2.constructor
               3.static modifier
               4.instance block
               5.static block
               6.inner class
               7.this keyword
                8. Inheritance
                9. Polymorphism
 

Access Specifier in Java


Class

             The class is at the core of Java. It is the logical construct upon which the entire Java language is built because it defines the shape and nature of an object. As such, the class forms the basis for object-oriented programming in Java. Any concept you wish to implement in a Java program must be encapsulated within a class. Because the class is so fundamental to Java.
           A class is a template for an object, and an object is an instance of a class.

The General Form of a Class

       When you define a class, you declare its exact form and nature. You do this by specifying
the data that it contains and the code that operates on that data. While very simple classes may contain only code or only data, most real-world classes contain both. As you will see, a class’ code defines the interface to its data.
          A class is declared by use of the class keyword. The classes that have been used up
to this point are actually very limited examples of its complete form. Classes can (and
usually do) get much more complex. The general form of a class definition is shown here:
class classname {
type instance-variable1;
type instance-variable2;
// ...
type instance-variableN;
type methodname1(parameter-list) {
// body of method
}
type methodname2(parameter-list) {
// body of method
}
// ...
type methodnameN(parameter-list) {
// body of method
}
}


         The data, or variables, defined within a class are called instance variables. The code is contained within methods. Collectively, the methods and variables defined within a class are called members of the class. In most classes, the instance variables are acted upon and accessed by the methods defined for that class. Thus, it is the methods that determine how a class’ data can be used.
     
        Variables defined within a class are called instance variables because each instance of the class (that is, each object of the class) contains its own copy of these variables. Thus, the data for one object is separate and unique from the data for another.


All methods have the same general form as main( ), which we have been using thus far. However, most methods will not be specified as static or public. Notice that the general form of a class does not specify a main( ) method. Java classes do not need to have a main( ) method. You only specify one if that class is the starting point for your program. Further, applets don’t require a main( ) method at all.

Java Keywords

Total Keywords = 48




The keywords const and goto are reserved but not used.

Eclipse IDE

       
        Eclipse is a multi-language software development environment comprising a base workspace and an extensible plug-in system for customizing the environment. It is written mostly in Java. It can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Fortran, Haskell, Perl, PHP, Python, R, Ruby (including Ruby on Rails framework), Scala, Clojure, Groovy, Scheme, and Erlang. It can also be used to develop packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++ and Eclipse PDT for PHP, among others.
          The initial codebase originated from IBM VisualAgeThe Eclipse software development kit (SDK), which includes the Java development tools, is meant for Java developers. Users can extend its abilities by installing plug-ins written for the Eclipse Platform, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules.
Released under the terms of the Eclipse Public License, Eclipse SDK is free and open source software (although it is incompatible with the GNU General Public License. It was one of the first IDEs to run under GNU Classpath and it runs without problems under IcedTea.

Developer(s) Free and open source software community
Stable release 4.2 (Juno) SR2 / 1 March 2013; 4 days ago
Development status Active
Written in Java[1]
Operating system Cross-platform: Linux, Mac OS X, Solaris, Windows
Platform Java SE, Standard Widget Toolkit
Available in Multilingual
Type Software development
License Eclipse Public License
Website www.eclipse.org

Java’s Magic: The Bytecode

The key that allows Java to solve both the security and the portability problems just described is that the output of a Java compiler is not executable code. Rather, it is bytecode. Bytecode is a highly optimized set of instructions designed to be executed by the Java run-time system, which is called the Java Virtual Machine (JVM). That is, in its standard form, the JVM is an interpreter for bytecode. This may come as a bit of a surprise.

Translating a Java program into bytecode helps makes it much easier to run a program in a wide variety of environments. The reason is straightforward: only the JVM needs to be implemented for each platform. Once the run-time package exists for a given system, any Java program can run on it. Remember, although the details of the JVM will differ from platform to platform, all interpret the same Java bytecode.

If a Java program were compiled to native code, then different versions of the same program would have to exist for each type of CPU connected to the Internet. The use of bytecode enables the Java run-time system to execute programs much faster than you might expect.

The key considerations were summed up by the Java team in the following list of buzzwords:
  • Simple
  • Secure
  • Portable
  • Object-oriented
  • Robust
  • Multithreaded
  • Architecture-neutral
  • Interpreted
  • High performance
  • Distributed
  • Dynamic

History of Java

James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time. The language was initially called 'Oak' after an oak tree that stood outside Gosling's office; it went by the name 'Green' later, and was later renamed 'Java', from Java coffee, said to be consumed in large quantities by the language's creators. Gosling aimed to implement a virtual machine and a language that had a familiar C/C++ style of notation.

Major release versions of Java, along with their release dates:

  • JDK 1.0 (January 21, 1996)
  • JDK 1.1 (February 19, 1997)
  • J2SE 1.2 (December 8, 1998)
  • J2SE 1.3 (May 8, 2000)
  • J2SE 1.4 (February 6, 2002)
  • J2SE 5.0 (September 30, 2004)
  • Java SE 6 (December 11, 2006)
  • Java SE 7 (July 28, 2011)