Software Stack Currently Developed Computer Science
Nowadays, Android handsets design comes in different shapes, sizes, and feature sets compare to iPhone, some also have hardware keyboards, and dual SIM system.
The home screens for the android are standard layout, which able contain the shortcuts to launch apps and contain widgets, which are the programs that server a single function, such as manage the setting of the theme launcher, displaying twitter and Facebook updates. Important distinction of the Android Handset is that it is not tied to a specific hardware manufacturer. In recent years, the popular Android handsets are the Samsung's Galaxy series, Sony's Xperia series, and HTC series.
As of November 12, 2012, the most powerful android handset is Samsung's galaxy note 2.
Android OS is a Linux-based operating system that is written in the C language. On the other hand, Android runs applications that are written primarily in the Java language. Google provides major updates to Android every six to nine months, typically incremental in nature, which most devices are capable of receiving over the air. The latest major update is Android 4.2 Jelly Bean.
Android OS runs multiple applications at the same time in the background, making multitasking easier. This makes the functionality of the phone more fluid than some competing platforms, although the extent of this capability depends on the hardware of the individual phone. Some handsets use multicore processors, which are more useful who need their handsets to run multiple simultaneous operations.
The applications are available for download through Google Play or third-party sites. In October 2012, there were close to 700,000 apps available for Android, and the reckoned number of applications downloaded from Google Play (Android Apps Store) was 25 billion.
Any manufacturer in the world who are interested in producing its own version of an Android Handset is welcome to use the OS. The result is that many competing Handset companies now use this platform to power their Handset and to market their devicesSystem Architecture
There are 4 levels of android architecture: Linux Kernel, Native Libraries & Android Runtime, Application Framework, Applications and Widgets.
Level 1: Linux Kernel: Android uses Linux as a hardware abstraction layer and the wide range of hardware drivers it supports and uses the Linux kernel. Android uses Linux for memory management, Networking, managing processes, however the programs will not make Linux calls directly, it's use the Dalvik(Android Virtual Machine). Dalvik is Android Virtual machine , you compile your code on machine independent then you will have what we call bytecode , but here bytecode is a little different , Dalvik is essentially a Java Virtual Machine , optimized for low memory usages and it allows multiple VM instances to run at once , it takes advantage of Linux OS for Security and Process Isolation. The difference between Dalvik and traditional Java is Dalvik VM runs .dex files which are converted at compile time from standard .class and .jar files, dex files are more efficient than class files considering low memory and battery powered devices. The core java libraries that comes with android are different from Java SE (Standard Edition) and ME (Mobile Edition).
Level 2: Native Libraries & Android Runtime: Native Libraries are written in C/C++ which already compiled and preinstalled by vendor for particular hardware abstraction, there is a lot of important native libraries such as: Surface Manager, 2d and 3d graphics, Media Codecs, SQL Database, Browser Engine, Android Runtime.
Level 3: Application Framework: Application Framework layer provides high level building blocks, developer will use it to create their applications, it comes preinstalled with android. The most important parts of this framework are: Activity Manager is the application consists of many events and it is actually controls the application life cycle. Content providers: These objects encapsulate data that needs to be shared between applications, such as contacts. There is also Resource manager, Location manager and Notification manager.
Level 4: Applications and Widgets: Applications and Widgets is the highest level on Android Architecture Diagram, it is the programs that develop, or application that already comes with android such as phone Dialler, email, contact, web browser. The Applications is programs that covers full screen and interacts with user. On the other hand, Widgets (Gadget) is operating only in a small rectangle of the Home screen application.
Androidâ„¢ offers a Software Development Kit (SDK) to help developers create functional applications. While some parts of the Androidâ„¢ operating system are protected under the Apacheâ„¢ License to guard against applications that could compromise the phones' basic functionality, much of it is released under the General Public License, which invites developers to freely make modifications. The SDK includes extensive resources and tools to facilitate this sort of development. It is updated regularly, together with the operating system itself, and a priority is placed upon supporting work on both newer and older versions of Androidâ„¢.
Google releases the Android code as open source, under the Apache License.
Google releases the Android code as open source and it's under the Apache License. The Android Open Source Project (AOSP), led by Google, is tasked with the maintenance and further development of Android. Furthermore, Android has a large community of developers writing applications that extend the functionality of devices, written primarily in a customized version of Java.
Article name: Software Stack Currently Developed Computer Science essay, research paper, dissertation