• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Day 15: Working in Background
 

Day 15: Working in Background

on

  • 5,093 views

 

Statistics

Views

Total Views
5,093
Views on SlideShare
734
Embed Views
4,359

Actions

Likes
1
Downloads
73
Comments
0

3 Embeds 4,359

http://droidtraining.wordpress.com 4308
http://droidtraining.wordpress.com. 48
http://webcache.googleusercontent.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Day 15: Working in Background Day 15: Working in Background Presentation Transcript

    • Android Application DevelopmentServiceAhsanul Karimahsanul.karim@sentinelbd.comSentinel Solutions Ltd.http://www.sentinelbd.com
    • Application Building Blocks• UI Component TypicallyCorresponding to one screen.Activity• Responds to notifications or statuschanges. Can wake up your process.IntentReceiver• Faceless task that runs in thebackground.Service• Enable applications to share data.ContentProvider
    • Android Application AnatomyActivities1. Provides User Interface2. Usually represents a Single Screen3. Can contain one/more Views4. Extends the Activity Base classServices1. No User Interface2. Runs in Background3. Extends the Service Base ClassApplication= Set of Android ComponentsContent Provider1. Makes application data availableto other apps2. Data stored in SQLite database3. Extends the ContentProviderBase classIntent/Broadcast Receiver1. Receives and Reacts to broadcastIntents2. No UI but can start an Activity3. Extends the BroadcastReceiverBase Class
    • ServiceWhat is Service?1. Services are codes that run in the background2. They can be started and stopped3. Services doesn’t have UIAudio ServicestartService()stopService()Audio Player UIPlays Audio
    • ServiceWhat a Service is NOT?There are some confusions:1. A Service is not a separate process. The Service object itself does not imply it isrunning in its own process; unless otherwise specified, it runs in the sameprocess as the application it is part of.2. A Service is not a thread. It is not a means itself to do work off of the mainthread (to avoid Application Not Responding errors).Main Features of Service1. to tell the system about something it wants to be doing in the background (even whenthe user is not directly interacting with the application)2. to calls to Context.startService(), which ask the system to schedule work for the service,to be run until the service or someone else explicitly stop it.
    • ServiceService ExampleWe’ll create a simple ServiceDemo application which runs in background and showsnotification in the upper Notification Bar with a period of specified time1. We create a project with following:Project Name: ServiceDemoBuild Target: 1.6Application name: ServiceDemoPackage name:com.basistraining.servicedemoCreate Activity:ServiceDemoActivityMin SDK Version: 4
    • ServiceService Example (Contd.)2. We’ll add a new class MyService that extends Service. We get the following.3. We’ll also need to add the Service in AndroidMenifest.xml4. Now we add other lifecycle methods of the MyService:1. onCreate()2. onStart()3. onDestroy()
    • ServiceService Example (Contd.)
    • ServiceService Example (Contd.)
    • ServiceService Example (Contd.)Now let’s make the Layout res/layout/main.xml to have 2 buttons to start and stop theServiceThere are only 2 buttons with id “@+id/btnStart” and “@+id/btnStop”
    • ServiceService Example (Contd.)Now we add action to our Buttons to Start or Stop the MyService and the Application in ouronCreate() method of the Activity
    • ServiceService Example (Contd.)If we run the app and test we’ll see our buttons are starting and stopping the service in LogCat
    • ServiceService Example (Contd.)Now to do something on Starting of our Service, we do following:Now to stop the timer, we do following:
    • ServiceService Example (Contd.)If we run the app and test we’ll see our buttons are starting and stopping the service in LogCat
    • ServiceService Example (Contd.)Now, Let we want to show a notification in the Notification Bar instead of just LogCat
    • ServiceService Example (Contd.)If we run the app and test we’ll see our buttons are starting and stopping the service inNotification