We are going to discuss with you about the world of Android apps development. We are going to start off with the Android platform and the necessary tools to start Android development.
Android Software Stack:
Android software stack that can be described as a Linux Kernel and C/C++ libraries exposed through an application framework that provides services for and management of runtime and applications.
The elements of the Android software stack are:
Linux Kernel: provides abstraction between the hardware and the rest of the stack, responsible for device drivers (Camera , Wi Fi, etc) resources management, power management, security and net working.
C/C++ Libraries: such as SQL lite, Graphics libraries OpenGL ES, media framework and webkit layout engine.
The Android Runtime: includes Core libraries and the Dalvik Virtual Machine. The Core libraries provide most of java libraries + additional Android libraries. The Dalvik Virtual Machine provides (Just In Time) JIT compilation. the Vitual Machine is optimized to run multiple instances of Vitual Machines. As Java applications access the core libraries each application has its own Virtual Machine.
The Android Application Framework: Provides classes required to develop an Android application and abstraction between hardware access. the Android Java API’s main library include telephony, content providers (data), resources, locations and UI.
Application Layer: all Android applications(native or third party) are built on the application layer using the same API. So Android applications are written in Java, but remember it is not Java Mobile Edition. It is just Most of J2SE libraries + Android’s own Java libraries.
The Android Application structure:
Android architecture encourages component reuse allowing you to publish and share activities, services and data between applications with security restrictions defined by you. This enables developers to include out of the box components such as the phone dialer or contact manager to their applications, or add new functionalities to them.
The bases of the Android apps are:
• Activity Manager: which controls the life cycle of the activities, activities can be compared to the windows or web forms they carry the controls (views) that construct the interface, an activity represents a single screen.
• Views: the User Interface components that construct the interface. They can be compared to the swing or windows forms controls.
• Notification Manger: provides a consistent mechanism to notify or alert users.
• Content Providers: lets applications to share data between them.
• Resources Manager: much like the ASP.NET resources concept. It enables the developer to store resources such as strings or images.
Getting started with Android development tools:
Android applications can be developed on Windows, Mac or Linux platforms. To start developing Android apps you need:
• Download and install the Java Development Kit (JDK).
• The Android SDK
• Eclipse IDE
• Follow the installation links from this link
After you’re done you will be ready to start android apps development, But you have to be careful while using this app for your projects. Not all projects are same. So, you need to understand the necessity and criteria of those projects while using Android apps.