Skip to main content

Android Services

  • Services are always running in the background, which performs long operation.
  • They don't have any UI(User Interface) Components.
  • By default, Services and Activities both are runs in same application.
  • An example of a service is, music player that plays music in background.
  • Two states of Services are,
    1. Started : A service starts by calling startService() method and runs in background until it destroyed.
    2. Bounded An application component can interact with the service using bounded service. The bindService() method used to bind the component with service. The bounded service should be Unbind before destroying that service.


In Layout file(mainActivity.xml):
      <Button android:id="@+id/btn1"
              android:onClick="service_start"/>
      <Button android:id="@+id/btn2"
              android:onClick="service_stop"/>


In subclass of Activity(MainActivity.java):
// To start the service
      public void service_start(View v)
        {
             startService(new Intent(getBaseContext(), CustomService.class));
         }
// To stop the service
       public void service_stop(View v)
        {
             stopService(new Intent(getBaseContext(), CustomService.class));
        }

Create subclass of Service named CustomService.class file,
       public class CustomService extends Service {
           @Override
             public IBinder onBind(Intent i) {
                return null;   // null represents No components are bind to service
              }
           @Override
            public int onStartCommand(Intent i, int flag, int startId) {
                Toast.makeText(this, "Service Successfully Started", Toast.LENGTH_LONG).show();
                 return 1;
              }
            @Override
           public void onDestroy() {
               super.onDestroy();
               Toast.makeText(this, "Service Successfully Destroyed", Toast.LENGTH_LONG).show();
              }
           }
In order to use service, register it to AndroidManifest.xml
      <application>
            <service android:name = ".CustomService" />
      </application>

Comments

Top Research

Make Custom Android Launcher

There are thousands of Android Launcher available in Play Store. Each and every Android mobile user loves to customize their mobile with different Android Launcher. If you want to develop your own launcher, this post helps you to fulfill your wish. In this post, you will find a demo launcher with layout and code which include many features like Drag & Drop , rearrange the installed application, change the background wallpaper etc. Here is an example of demo launcher which display all the installed applications in 3*3 Grid View format compatible to all devices. First of all we need to find all the installed applications from device so we should implement a subclass of AsyncTaskLoader that loads the currently installed applications from the package manager. If you want to display all the installed applications in  List View you can use official Android Developer reference .

Introduction to Android

In Android, visual components are called Views . The resources for an Android project are stored in the /res folder of your project hierarchy, which includes layout, values, and a series of drawable sub-folders. The ADT plug-in interprets these resources to provide design-time access to them through the R variable. Dalvik Debug Monitoring Service (DDMS) :  Use to monitor and control the  services or processes of emulators. Android Debug Bridge (ADB) : A driver which provides link to virtual to physical devices. Logcat : Used to view the processes  of android logging system. Android Asset Packaging Tool (AAPT) : Used to generate .apk file.

Layouts for Fragment

Fragments are use to develop dynamic and flexible or consistent User Interface(UI) design that can be supported by all screen sizes from small to large. In short, we can build Multi-pane UI using Fragments. We can divide the Activities into different reusable components which are known as Fragments. Fragments can be reused within multiple activities. Each Fragment has its own lifecycle and Layout and they are independent to each other that are embedded into an Activity. There are two class, Fragment and FragmentActivity that must be extended by the subclass of it. To know more about Fragment VS FragmentActivity. We can define a static or dynamic layout using Fragment.