SlideShare a Scribd company logo
1 of 44
 
Android  SDK introduction ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Activity, Services and Broadcast  Receivers Activities  –  The entry class into Android application, responsible for loading the first screen and take user inputs -onCreate() -onDestroy(); -onPause(); -onStart(); Services  –  The class used to create programs that run in background, and have no UI Broadcast receiver  –  The android component responsible to receive responses from system wide processes and send the event notification to the registered processes
Views  View   –  Responsible for the UI in the application. A view is put on a layout and then as per programming directives a layout is laid
Intents, Adapters, AlertDialogue and Notifications  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Content Providers and Data storage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Data storage methods in brief ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SQLite Database Android provides full support for SQLite databases. Any databases you create will be accessible by name to any class in the application, but not outside the application. To create a new SQLite database is to create a subclass of  SQLiteOpenHelper  and override the  onCreate()  method, in which you can execute a SQLite command to create tables in the database. getWritableDatabase() and getReadableDatabase() To write and read from database, their return type is SQLiteDatabase class that provides methods for database operations . SQLiteDatabase query()  methods – to execute queries, these methods takes various parameters, for various quires. Cursor   It’s the return type of any SQLite query and  the mechanism with which you can navigate results from a database query and read rows and columns .
Maps and GeoCoding ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Android App Widgets App Widgets are miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates. AppWidgetProviderInfo   object Describes the metadata for an App Widget. AppWidgetProvider   class implementation Defines the basic methods that allow you to programmatically interface with the App Widget, based on broadcast events.  onUpdate() onDeleted(Context, int[]) onEnabled(Context) onReceive(Context, Intent) View   class to draw the widget layout
Multimedia content Multimedia playback in Android is handled by the  MediaPlayer  class. You can play media stored in application resources, local files, Content Providers, or streamed from a network URL create(appContext, R.raw.my_audio); setDataSource("/sdcard/test2.3gp"); prepare(); For playing Video, we have to use a VideoView to act a surface to display the video MediaRecorder   class and associated methods are used for recording video Using Intents Actions we can use camera and audio recording features
Telephony and SMS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bluetooth and WiFi ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Android Booting Sequence Stages In Booting of Android OS from power on Stage 1   : Power on and boot ROM code execution Stage 2 :  The boot loader loading Stage 3 : Starting of Linux kernel Stage 4 :  The init process  Stage 5 :  Zygote and Dalvik Stage 6 : The system server initiation
Android Booting Sequence Stage 1 Power on and boot ROM code execution ,[object Object],[object Object],[object Object]
Android Booting Sequence  Stage 2 The boot loader loading ,[object Object],[object Object],[object Object],[object Object],[object Object]
Android Booting Sequence Stage 3 Starting of Linux kernel ,[object Object],[object Object],[object Object]
Android Booting Sequence Stage 4 The init process ,[object Object],[object Object]
Android Booting Sequence Stage 5 Zygote and Dalvik ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Android Booting Sequence Stage 6 The system server initiation The system server is the first java component to run in the system. It will start all the Android services such as telephony manager and bluetooth. Start up of each service is currently written directly into the run method of the system server. source can be found in the file frameworks/base/services/java/com/android/server/SystemServer.java in the open source project. Once the System Server is up and running and the system boot has completed there is a standard broadcast action called ACTION_BOOT_COMPLETED. To start your own service, register an alarm or otherwise make your application perform some action after boot you should register to receive this broadcast intent .
Steps for setting up Android application development environment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
3.  Now in the work with tab, click on Add button, and then follow the instructions given in the ADT(Android Development Tool) installation link - The ADT URL is - follow the instructions in the installation, and then you must see the following screen. Then click on next, and then let the installation finish.
4 . Once the IDE has restarted, go to Window -> Preferences. Then click on the "Android" tab on the screen coming on the left hand side
Then, again go to Windows -> Android Device and AVD manager, then click on Available packages tab, in the list coming on the left hand side of the screen, in the main window, a list of currently available Android version and other extensions for development of Samsung Galaxy Tab device application development will be shown
Set up AVD An Android Virtual Device (AVD) is an emulator configuration that lets you model an actual device by defining hardware and software options to be emulated by the Android Emulator
[object Object],[object Object],[object Object],[object Object],Features of AVD
[object Object],[object Object],Steps to setup AVD
What you can do with AVD ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Debugging Android applications The main components that comprise a typical Android debugging environment are: adb   adb acts as a middleman between a device and your development system. It provides various device management capabilities, including moving and syncing files to the emulator, running a UNIX shell on the device or emulator, and providing a general means to communicate with connected emulators and devices. Dalvik Debug Monitor Server  DDMS is a graphical program that communicates with your devices through adb. DDMS can capture screenshots, gather thread and stack information, spoof incoming calls and SMS messages, and has many other features.  Device or Android Virtual Device  Your application must run in a device or in an AVD so that it can be debugged. An adb device daemon runs on the device or emulator and provides a means for the adb host daemon to communicate with the device or emulator.
ADB : Android Debugger bridge ,[object Object],[object Object],[object Object],[object Object],[object Object]
Emulator 1, console: 5554 Emulator 1, adb: 5555 Emulator 2, console: 5556 Emulator 2, adb: 5557 ... Install Application on ADB  -  adb install <path_to_apk> Port forwarding  -  You can use the forward command to set up arbitrary port forwarding adb forward tcp:6100 tcp:7100 adb forward tcp:6100 local:logd  File transfer across system and ADB   -  You can use the adb commands pull and push to copy files to and from an emulator/device instance's data file. adb pull <remote> <local> adb push <local> <remote>
Dalvik Debug Monitor Server : DDMS Android ships with a debugging tool called the Dalvik Debug Monitor Server (DDMS), which provides port-forwarding services, screen capture on the device, thread and heap information on the device, logcat, process, and radio state information, incoming call and SMS spoofing, location data spoofing, and more.  Running DDMS DDMS is integrated into Eclipse and is also shipped in the tools/ directory of the SDK. DDMS works with both the emulator and a connected device. If both are connected and running simultaneously, DDMS defaults to the emulator. From Eclipse: Click  Window > Open Perspective > Other... > DDMS . From the command line: Type ddms (or ./ddms on Mac/Linux) from the  tools/ directory.
[object Object],[object Object],[object Object],ADB - DDMS
 
Using DDMS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Examining thread information The Threads tab in DDMS shows you the currently running threads for a selected process. In the Devices tab, select the process that you want to examine the threads for. Click the  Update Threads  button. In the Threads tab, you can view the thread information for the selected process.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Changing network state, speed, and latency Voice - unregistered, home, roaming, searching, denied Data - unregistered, home, roaming, searching, denied Speed - Full, GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA Latency - GPRS, EDGE, UMTS Spoofing calls or SMS text messages Voice - Enter a number in the Incoming number field and click Call to send a simulated call to the emulator or phone. Click the Hang up button to terminate the call. SMS - Enter a number in the Incoming number field and a message in the  Message :  field and click the Send button to send the message. Setting the location of the phone Manual - set the location by manually specifying decimal or sexagesimal longitude and latitude values. GPX - GPS eXchange file KML - Keyhole Markup Language file
References http://www.developer.android.com  What is Android?   Android Developers   Debugging  Managing Virtual Devices  Android Debug Bridge   App Widgets  Data Storage   Content Providers   Bluetooth  Activity   ActivityManager   Service   SharedPreferences  Geocoder  LocationManager  WifiManager  SmsManager  android.telephony Topics from Android developer website
 

More Related Content

What's hot

Android Boot Time Optimization
Android Boot Time OptimizationAndroid Boot Time Optimization
Android Boot Time Optimization
Kan-Ru Chen
 

What's hot (20)

"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System Server
 
Android Boot Time Optimization
Android Boot Time OptimizationAndroid Boot Time Optimization
Android Boot Time Optimization
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
Android Binder: Deep Dive
Android Binder: Deep DiveAndroid Binder: Deep Dive
Android Binder: Deep Dive
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
Android Booting Sequence
Android Booting SequenceAndroid Booting Sequence
Android Booting Sequence
 
Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - Vold
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
Android internals By Rajesh Khetan
Android internals By Rajesh KhetanAndroid internals By Rajesh Khetan
Android internals By Rajesh Khetan
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introduction
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)
 
Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)
 
Android Booting Scenarios
Android Booting ScenariosAndroid Booting Scenarios
Android Booting Scenarios
 
Android's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALAndroid's HIDL: Treble in the HAL
Android's HIDL: Treble in the HAL
 
Low Level View of Android System Architecture
Low Level View of Android System ArchitectureLow Level View of Android System Architecture
Low Level View of Android System Architecture
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 

Viewers also liked

Development of national sanitation monitoring system in Indonesia
Development of national sanitation monitoring system in IndonesiaDevelopment of national sanitation monitoring system in Indonesia
Development of national sanitation monitoring system in Indonesia
IRC
 
Sample Literature Review
Sample   Literature ReviewSample   Literature Review
Sample Literature Review
MatthewNLW
 

Viewers also liked (20)

How To Build Android for ARM Chip boards
How To Build Android for ARM Chip boardsHow To Build Android for ARM Chip boards
How To Build Android for ARM Chip boards
 
Hacking Android OS
Hacking Android OSHacking Android OS
Hacking Android OS
 
Android Custom Kernel/ROM design
Android Custom Kernel/ROM designAndroid Custom Kernel/ROM design
Android Custom Kernel/ROM design
 
Android OTA updates
Android OTA updatesAndroid OTA updates
Android OTA updates
 
Hardware Abstraction Layer
Hardware Abstraction LayerHardware Abstraction Layer
Hardware Abstraction Layer
 
Diving inside Android Wifi
Diving inside Android WifiDiving inside Android Wifi
Diving inside Android Wifi
 
Android HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyAndroid HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacy
 
Accessing Hardware on Android
Accessing Hardware on AndroidAccessing Hardware on Android
Accessing Hardware on Android
 
nl80211 and libnl
nl80211 and libnlnl80211 and libnl
nl80211 and libnl
 
MMC Booklet
MMC BookletMMC Booklet
MMC Booklet
 
Development of national sanitation monitoring system in Indonesia
Development of national sanitation monitoring system in IndonesiaDevelopment of national sanitation monitoring system in Indonesia
Development of national sanitation monitoring system in Indonesia
 
Wetland Monitoring Statergies
Wetland Monitoring StatergiesWetland Monitoring Statergies
Wetland Monitoring Statergies
 
Debian & the BeagleBone Black
Debian & the BeagleBone BlackDebian & the BeagleBone Black
Debian & the BeagleBone Black
 
Sample Literature Review
Sample   Literature ReviewSample   Literature Review
Sample Literature Review
 
Linux-without-a-bootloader
Linux-without-a-bootloaderLinux-without-a-bootloader
Linux-without-a-bootloader
 
Connecting Hardware to the Web with the BeagleBone
Connecting Hardware to the Web with the BeagleBoneConnecting Hardware to the Web with the BeagleBone
Connecting Hardware to the Web with the BeagleBone
 
COS: A Configurable OS for Embedded SoC Systems
COS: A Configurable OS for Embedded SoC SystemsCOS: A Configurable OS for Embedded SoC Systems
COS: A Configurable OS for Embedded SoC Systems
 
BeagleBone Workshop
BeagleBone WorkshopBeagleBone Workshop
BeagleBone Workshop
 
Aosp+
Aosp+Aosp+
Aosp+
 
HKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case studyHKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case study
 

Similar to Android booting sequece and setup and debugging

Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsManish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
Positive Hack Days
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paper
Sravan Reddy
 
android training_material ravy ramio
android training_material ravy ramioandroid training_material ravy ramio
android training_material ravy ramio
slesulvy
 

Similar to Android booting sequece and setup and debugging (20)

Android training course
Android training courseAndroid training course
Android training course
 
"Android" mobilių programėlių kūrimo įvadas #3
"Android" mobilių programėlių kūrimo įvadas #3"Android" mobilių programėlių kūrimo įvadas #3
"Android" mobilių programėlių kūrimo įvadas #3
 
Mobile App Security Testing
Mobile App Security TestingMobile App Security Testing
Mobile App Security Testing
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
 
Synapseindia android application development tutorial
Synapseindia android application development tutorialSynapseindia android application development tutorial
Synapseindia android application development tutorial
 
Synapseindia android apps development tutorial
Synapseindia android apps  development tutorialSynapseindia android apps  development tutorial
Synapseindia android apps development tutorial
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
 
Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsManish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
 
Hello android world
Hello android worldHello android world
Hello android world
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paper
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]
 
android training_material ravy ramio
android training_material ravy ramioandroid training_material ravy ramio
android training_material ravy ramio
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 
Android tutorial for beginners-traininginbangalore.com
Android tutorial for beginners-traininginbangalore.comAndroid tutorial for beginners-traininginbangalore.com
Android tutorial for beginners-traininginbangalore.com
 
Android task manager project presentation
Android task manager project presentationAndroid task manager project presentation
Android task manager project presentation
 
01 what is android
01 what is android01 what is android
01 what is android
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android beginners David
Android beginners DavidAndroid beginners David
Android beginners David
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Android booting sequece and setup and debugging

  • 1.  
  • 2.
  • 3. Activity, Services and Broadcast Receivers Activities – The entry class into Android application, responsible for loading the first screen and take user inputs -onCreate() -onDestroy(); -onPause(); -onStart(); Services – The class used to create programs that run in background, and have no UI Broadcast receiver – The android component responsible to receive responses from system wide processes and send the event notification to the registered processes
  • 4. Views View – Responsible for the UI in the application. A view is put on a layout and then as per programming directives a layout is laid
  • 5.
  • 6.
  • 7.
  • 8. SQLite Database Android provides full support for SQLite databases. Any databases you create will be accessible by name to any class in the application, but not outside the application. To create a new SQLite database is to create a subclass of SQLiteOpenHelper and override the onCreate() method, in which you can execute a SQLite command to create tables in the database. getWritableDatabase() and getReadableDatabase() To write and read from database, their return type is SQLiteDatabase class that provides methods for database operations . SQLiteDatabase query() methods – to execute queries, these methods takes various parameters, for various quires. Cursor It’s the return type of any SQLite query and the mechanism with which you can navigate results from a database query and read rows and columns .
  • 9.
  • 10. Android App Widgets App Widgets are miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates. AppWidgetProviderInfo object Describes the metadata for an App Widget. AppWidgetProvider class implementation Defines the basic methods that allow you to programmatically interface with the App Widget, based on broadcast events. onUpdate() onDeleted(Context, int[]) onEnabled(Context) onReceive(Context, Intent) View class to draw the widget layout
  • 11. Multimedia content Multimedia playback in Android is handled by the MediaPlayer class. You can play media stored in application resources, local files, Content Providers, or streamed from a network URL create(appContext, R.raw.my_audio); setDataSource(&quot;/sdcard/test2.3gp&quot;); prepare(); For playing Video, we have to use a VideoView to act a surface to display the video MediaRecorder class and associated methods are used for recording video Using Intents Actions we can use camera and audio recording features
  • 12.
  • 13.
  • 14. Android Booting Sequence Stages In Booting of Android OS from power on Stage 1 : Power on and boot ROM code execution Stage 2 : The boot loader loading Stage 3 : Starting of Linux kernel Stage 4 : The init process Stage 5 : Zygote and Dalvik Stage 6 : The system server initiation
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Android Booting Sequence Stage 6 The system server initiation The system server is the first java component to run in the system. It will start all the Android services such as telephony manager and bluetooth. Start up of each service is currently written directly into the run method of the system server. source can be found in the file frameworks/base/services/java/com/android/server/SystemServer.java in the open source project. Once the System Server is up and running and the system boot has completed there is a standard broadcast action called ACTION_BOOT_COMPLETED. To start your own service, register an alarm or otherwise make your application perform some action after boot you should register to receive this broadcast intent .
  • 21.
  • 22.
  • 23. 3. Now in the work with tab, click on Add button, and then follow the instructions given in the ADT(Android Development Tool) installation link - The ADT URL is - follow the instructions in the installation, and then you must see the following screen. Then click on next, and then let the installation finish.
  • 24. 4 . Once the IDE has restarted, go to Window -> Preferences. Then click on the &quot;Android&quot; tab on the screen coming on the left hand side
  • 25. Then, again go to Windows -> Android Device and AVD manager, then click on Available packages tab, in the list coming on the left hand side of the screen, in the main window, a list of currently available Android version and other extensions for development of Samsung Galaxy Tab device application development will be shown
  • 26. Set up AVD An Android Virtual Device (AVD) is an emulator configuration that lets you model an actual device by defining hardware and software options to be emulated by the Android Emulator
  • 27.
  • 28.
  • 29.
  • 30. Debugging Android applications The main components that comprise a typical Android debugging environment are: adb adb acts as a middleman between a device and your development system. It provides various device management capabilities, including moving and syncing files to the emulator, running a UNIX shell on the device or emulator, and providing a general means to communicate with connected emulators and devices. Dalvik Debug Monitor Server DDMS is a graphical program that communicates with your devices through adb. DDMS can capture screenshots, gather thread and stack information, spoof incoming calls and SMS messages, and has many other features. Device or Android Virtual Device Your application must run in a device or in an AVD so that it can be debugged. An adb device daemon runs on the device or emulator and provides a means for the adb host daemon to communicate with the device or emulator.
  • 31.
  • 32. Emulator 1, console: 5554 Emulator 1, adb: 5555 Emulator 2, console: 5556 Emulator 2, adb: 5557 ... Install Application on ADB - adb install <path_to_apk> Port forwarding - You can use the forward command to set up arbitrary port forwarding adb forward tcp:6100 tcp:7100 adb forward tcp:6100 local:logd File transfer across system and ADB - You can use the adb commands pull and push to copy files to and from an emulator/device instance's data file. adb pull <remote> <local> adb push <local> <remote>
  • 33. Dalvik Debug Monitor Server : DDMS Android ships with a debugging tool called the Dalvik Debug Monitor Server (DDMS), which provides port-forwarding services, screen capture on the device, thread and heap information on the device, logcat, process, and radio state information, incoming call and SMS spoofing, location data spoofing, and more. Running DDMS DDMS is integrated into Eclipse and is also shipped in the tools/ directory of the SDK. DDMS works with both the emulator and a connected device. If both are connected and running simultaneously, DDMS defaults to the emulator. From Eclipse: Click Window > Open Perspective > Other... > DDMS . From the command line: Type ddms (or ./ddms on Mac/Linux) from the tools/ directory.
  • 34.
  • 35.  
  • 36.
  • 37.
  • 38.
  • 39. Examining thread information The Threads tab in DDMS shows you the currently running threads for a selected process. In the Devices tab, select the process that you want to examine the threads for. Click the Update Threads button. In the Threads tab, you can view the thread information for the selected process.
  • 40.
  • 41.
  • 42. Changing network state, speed, and latency Voice - unregistered, home, roaming, searching, denied Data - unregistered, home, roaming, searching, denied Speed - Full, GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA Latency - GPRS, EDGE, UMTS Spoofing calls or SMS text messages Voice - Enter a number in the Incoming number field and click Call to send a simulated call to the emulator or phone. Click the Hang up button to terminate the call. SMS - Enter a number in the Incoming number field and a message in the Message : field and click the Send button to send the message. Setting the location of the phone Manual - set the location by manually specifying decimal or sexagesimal longitude and latitude values. GPX - GPS eXchange file KML - Keyhole Markup Language file
  • 43. References http://www.developer.android.com What is Android? Android Developers Debugging Managing Virtual Devices Android Debug Bridge App Widgets Data Storage Content Providers Bluetooth Activity ActivityManager Service SharedPreferences Geocoder LocationManager WifiManager SmsManager android.telephony Topics from Android developer website
  • 44.