Here in E2MATRIX , We provide the best coaching & training and IEEE projects. We provide professional courses like matlab, image processing, cloud computing,Android, electrical domain .NET, JAVA, WEKA, NS-2, MATLAB SIMULINK, and our main emphasis is thesis for MTECH , research projects, IEEE projects. Provide Research Help to all Engineering classes in all the fields of electrical , electronics, IT and Computers.
Contact us at:
E2MATRIX
s.c.f 66,Top floor ,phase-3b2 ,mohali(punjab)
Contact: +91 9056501501,9915525860
Web: www.e2matrix.com
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Android Training in Mohali
1. E2MATRIX
Android Training Mohali
6 Weeks/Months Training in
Android
E2Matrix
S.C.F 66,Top Floor – Punjab (INDIA). Web: www.e2matrix.com
Email: mohali.support@e2matrix.com
Contact : +91 9056501501
: + 91 9915525860
2. Schedule.
• Overview (10 min)
• Architecture (20)
• Developing application using Eclipse.(30 min)
• Other tools (how to access your phone, 5 min)
• How to publish app (5 min)
• Google app inventor (10 min).
• QA (10 min)
3. What is Android?
Android is a software stack for mobile devices
that includes an operating system, middleware
and key applications
4.
5. History
2005 Google buys Android, Inc.
Work on Dalvik starts
2007 OHA Announced
Early SDK
2008 G1 Announced
SDK 1.0 Released
2009 G2 Released
Cupcake, Donut, Eclair
Andy Rubin
August 2003, Palo Alto
2010
Froyo (USB/ Wifi tethering)
Ginger Bird (NFC, VOIP)
6. Android 3.0 Honeycomb
(Android for Tablets)
• New UI framework for creating great
tablet apps
New Developer Features
• Android 3.0 is now available for the
Android SDK.
• High-performance 2D and 3D
graphics
• Support for multicore processor
architectures
• Rich multimedia and connectivity
• Enhancements for enterprise
• Compatibility with existing apps
What’s new for Android?
In-app Billing Launched on Android Market
19. Content Providers
• Only way to share the data
between applications.
• Built-in Content providers for
contact, media.
• Write your own CP
• Or used the existing one with
permission.
27. The Java File
package com.ezdia.jugdemo
import android.app.Activity;
import android.os.Bundle;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
28. R.java
package com.jugdemo;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class id {
public static final int textview=0x7f050000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
30. Schedule.
• Overview (10 min)
• Architecture (20)
• Developing application using Eclipse.(30 min)
• Other tools (how to access your phone, 5 min)
• How to publish app (5 min)
• QA (10 min)
31. • Adb shell
• Logcat/Console
• Screen capture
• File system (push and pull)
• Heap /Thread monitoring
• On device debugging
DDMS
32. How to publish an app?
Before you consider your application ready for release:
• Test your application extensively on an actual device
• Consider adding an End User License Agreement in your application
• Specify an icon and label in the application's manifest
• Turn off logging and debugging and clean up data/files
Before you do the final compile of your application:
• Version your application
• Obtain a suitable cryptographic key
• Register for a Maps API Key, if your application is using MapView elements
• Compile your application
• Sign your application
• Test your compiled application
• Upload your .apk file on http://market.android.com/publish
Android is an open software development platform built upon Linux 2.6 kernel. And specially developed and tuned to run on resource constrain devices like mobile phone..
Android provide complete software stack starting from OS to middleware and all the way up to key applications..
Android also provide tools and API for we developers to develop and publish application.
It is an Open source under Apache license. Not GPL..
Android 3.0 is now available for the Android SDK. It offers a redesigned UI and all new developer APIs for an optimized experience on tablets and similar devices.
Rich multimedia and connectivity
HTTP Live streaming
Applications can now pass an M3U playlist URL to the media framework to begin an HTTP Live streaming session. The media framework supports most of the HTTP Live streaming specification, including adaptive bit rate.
Pluggable DRM framework
Android 3.0 includes an extensible DRM framework that lets applications manage protected content according to a variety of DRM mechanisms that may be available on the device. For application developers, the framework API offers an consistent, unified API that simplifies the management of protected content, regardless of the underlying DRM engines.
Digital media file transfer
The platform includes built-in support for Media/Picture Transfer Protocol (MTP/PTP) over USB, which lets users easily transfer any type of media files between devices and to a host computer. Developers can build on this support, creating applications that let users create or manage media files that they may want to transfer or share across devices.
More types of connectivity
The platform offers new connectivity that developers can build on. API support for Bluetooth A2DP and HSP profiles lets applications query Bluetooth profiles for connected devices, audio state, and more, then notify the user. For example, a music application can check connectivity and status and let the user know that music is playing through a stereo headset. Applications can also register to receive system broadcasts of pre-defined vendor-specific AT commands, such as Platronics Xevent. For example, an application could receive broadcasts that indicate a connected device's battery level and could notify the user or take other action as needed. Applications can also take advantage of the platform's new support for full keyboards connected by USB or Bluetooth.
Enhancements for enterprise
In Android 3.0, developers of device administration applications can support new types of policies, including policies for encrypted storage, password expiration, password history, and password complex characters required.
Compatibility with existing apps
Android 3.0 brings a new UI designed for tablets and other larger screen devices, but it also is fully compatible with applications developed for earlier versions of the platform, or for smaller screen sizes. Existing applications can seamlessly participate in the new holographic UI theme without code changes, by adding a single attribute in their manifest files. The platform emulates the Menu key, which is replaced by the overflow menu in the Action Bar in the new UI. Developers wanting to take fuller advantage of larger screen sizes can also create dedicated layouts and assets for larger screens and add them to their existing applications.
Cross device/platform support
Limited access to device capability and information.
Why to develop and application if we have rich browser.
Why would I development
1 reason : The user experience, interaction with other application. Intent can be offered.
Consistency in UI with other app on Andorid
2. Browser can not run in background
3. Work with limited connectivity.
4. Faster.
5. Retrieve only what is needed.
6. User interface
Content provider can be accessed.
Android is open software paltform and include operating system (which is linux krenel here).
This is the piece which Harware manufacturer generally worried about. This is the abstration layer between hardware and rest of the software stack..
So if you want to bring Android on new hardware you just need to implement the driver and rest of the features comes free for you.
Everthing in Green here you see is c/c++ implementation . And these all are c/c++ library. NDK I mentioned earlier comes gives you direct access at this layer.
Adrioid build upon Linux Kernal 2.6.X. So it started with 2.6.26 and now using 2.6.35.
Android reliase upon linux Kernel for core system services such as secrurity, Memory management, process management, network stack and driver model.
-Linux Kernel also work as abstraction layer between Harware and rest of the software.. So the equipment manufacturer only need to deal with this part. Rest is taken care by android.
Mostly user never see the linux..
But we would certainly see it today. In in Android developer kit and in real phone...
DALVIK Virtual machine, Dan Bornstine named it after Fishing village of Eyjafjörður Iceland. Dalvik icland (
- Every application in Android runs into it’s own process. With it’s own instace of Dalvik machine.
Dalvik has been written in such a way that a device can run multiple VM efficiently.
This efficiency is achived by process call Zygot.
Zygot is another Pre warmed VM service which is used in Android for reduce the startup time and memory footprint for an VM.
As soon as request comes from a user to start an activity Zygot quickly fork a new process with a new instance ot Dalvik VM and execute the dex code.
Dalvik rely upon the Linux Kernel for Memory, thread management.
About Core library. Java i/o, util, collection…
The Android operating system is a multi-user Linux system in which each application is a different user.
This is the layer which is most visible and useful for application developers.
Android gives a full fledged Java based application framework to access all underlying hardware, library and services.
This framework provide developers an the framework to
build the UI, way to run the serives in backgrouond, API for communication between different applciation or between component of same application.
Let me touch on verious componenets here.
Activity manager manage the lifecycle of an application. Which application to bring in the fornt which application to pause or Kill all controled by Activity Manage.
Window manager Manage your screen or display. It is an abstraction on Surface manager library.
View System is responsible for managing variuos views like Button, list, Maps, Text, images.
Packagemanger is responsible for keeping the track of your application on your device. So if you download the application from OTA or thru USB packange manager will keep track of it. Also responsible for installing application on your device hence knows what capability each of the application has
Telephony manager is abstraction for phone system and Application .
Localtion manager will give you access of Location from GPS or any other machenism device has like cell tower triangulation method or Wifi network ID.
Content provider is the one which lets your application share the data. As I said Linux keep each application as separate but Content provider is the secure mechanisim wher an application can provide the data to other application and use the data from other application
There are some application comes out of the box and they all are written using same App framework. So pretty much you can write any app on Android which is similar the app comes with Phone.
Activity is typically a piece of UI which is made of different view and represent one screen.
For example..
A Mail activity can be decompose in three activity.
Service run in the backgroud..The tipical example is music player..
How many of you like Pandora? .. It’s a service..
And they can be start and stop from other Actvity in the same application or other application using Intent.
Intent are message passing mechanism in Android between the application and within the application.
You can have explicit intent which can be sent explicitly to and application to perform an operation.
Or you can have implicit Intent which you sent to perform a task and let system decide who will do the Job. If you have more then one application registered for specific job system may ask user to decide which one to pick.
So in order to receive these implicit event application use broadcast receviers.
Example could be when you receive a phone call system broadcast and intent that phone is ringing and Pandora and other service will listen and do required operations.
Content provider is the one which lets your application share the data. As I said Linux keep each application as separate but Content provider is the only machenisim by which application can share the data.
Andoird ships number of content provider for comman data like contact, image, video, audio and so on..
To read these data application has to acquire certain permission..
If your application wants to provide the data you can do in two why. Either you can write your content provider of you can use the existing one with right persmission
Use to notifying user without interrupting his current activity.
So let’s start the real work and see how we can develop and android application.