.:: Jasa Membuat Aplikasi Website,Desktop,Android Order Now..!! | | Order Now..!! Jasa Membuat Project Arduino,Robotic,Print 3D ::.

Service LifeCycle

0 komentar


بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم
bismillaahirrahmaanirrahiim

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
Assalamu'alaikum warahmatullahi wabarakatuh

A service is an application component that can run some long running task in the background without the need for a user interface. Some other application component can start the service and this service will then keep on running even if the user switches to another application.

A service can essentially take two forms:


Unbounded
A service is "started" when an application component (such as an activity) starts it by calling startService(). Once started, a service can run in the background indefinitely (unbounded), even if the component that started it is destroyed. Usually, a started service performs a single operation and does not return a result to the caller. For example, it might download or upload a file over the network. When the operation is done, the service should stop itself.


Bound
A service is "bound" when an application component binds to it by calling bindService(). A bound service offers a client-server interface that allows components to interact with the service, send requests, get results, and even do so across processes with interprocess communication (IPC). A bound service runs only as long as another application component is bound to it. Multiple components can bind to the service at once, but when all of them unbind, the service is destroyed.



As you can see in diagram there some method in  Unbounded service class for life cycle :


startService(Intent Service)
This you must call to start un-bounded serviec

onCreate()
This method is Called when the service is first created

onStartCommand(Intent intent, int flags, int startId)
This method is called when service is started

onBind(Intent intent)
This method you must call if you want to bind with activity

onUnbind(Intent intent)
This method is Called when the service will un-binded from activity

onRebind(Intent intent)
This method is called when you want to Re-bind service after calling un-bind method

onDestroy()
This method is called when The service is no longer used and is being destroyed


Let's create a small app to understand this..

-------------------------------------------
App Name: ServiceLifeCycle
Package Name: com.sunil
Android SDK: Android SDK 2.3.3 / API 10
Default Activity Name: MyActivity
-------------------------------------------

MyActivity.java

  1. package com.sunil;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.util.Log;  
  7. import android.view.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.widget.Button;  
  10.   
  11. public class MyActivity extends Activity   
  12.                     implements OnClickListener {  
  13.     private final static String TAG = "In this method: ";  
  14.     private Button startSerivce = null;  
  15.     private Button stopSerivce = null;  
  16.   
  17.     @Override  
  18.     public void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.         setContentView(R.layout.main);  
  21.   
  22.         startSerivce = (Button) findViewById(R.id.buttonStart);  
  23.         startSerivce.setOnClickListener(this);  
  24.         stopSerivce = (Button) findViewById(R.id.buttonStop);  
  25.         stopSerivce.setOnClickListener(this);  
  26.     }  
  27.   
  28.     @Override  
  29.     public void onClick(View v) {  
  30.         if (startSerivce == v) {  
  31.             Log.i(TAG, "Activity starting service..");  
  32.             Intent serviceIntent = new Intent(this, MyService.class);  
  33.             startService(serviceIntent);  
  34.         } else {  
  35.             Intent in = new Intent(this, MyService.class);  
  36.             in.setAction("stop");  
  37.             stopService(in);  
  38.         }  
  39.     }  
  40. }  

MyService
  1. package com.sunil;
  2. import android.app.Service;  
  3. import android.content.Intent;  
  4. import android.os.IBinder;  
  5. import android.util.Log;  
  6. import android.widget.Toast;  
  7.   
  8. public class MyService extends Service {  
  9.   
  10.     private final static String TAG = "In this method: ";  
  11.     int mStartMode; // indicates how to behave if the service is killed  
  12.     IBinder mBinder; // interface for clients that bind  
  13.     boolean mAllowRebind; // indicates whether onRebind should be used  
  14.   
  15.     @Override  
  16.     public void onCreate() {  
  17.         Log.i(TAG, "Service created");  
  18.         // The service is being created  
  19.     }  
  20.   
  21.     @Override  
  22.     public int onStartCommand(Intent intent, int flags, int startId) {  
  23.         Log.i(TAG, "Service started");  
  24.           
  25.         Toast.makeText(getBaseContext(), "Service has been started..",  
  26.                 Toast.LENGTH_SHORT).show();  
  27.         return mStartMode;  
  28.     }  
  29.   
  30.     @Override  
  31.     public IBinder onBind(Intent intent) {  
  32.         // A client is binding to the service with bindService()  
  33.         Log.i(TAG, "Service binded");  
  34.         return mBinder;  
  35.     }  
  36.   
  37.     @Override  
  38.     public boolean onUnbind(Intent intent) {  
  39.         // All clients have unbound with unbindService()  
  40.         Log.i(TAG, "Service un-binded");  
  41.         return mAllowRebind;  
  42.     }  
  43.   
  44.     @Override  
  45.     public void onRebind(Intent intent) {  
  46.         // A client is binding to the service with Re-bindService(),  
  47.         // after onUnbind() has already been called  
  48.         Log.i(TAG, "Service re-binded");  
  49.     }  
  50.   
  51.     @Override  
  52.     public void onDestroy() {  
  53.         // The service is no longer used and is being destroyed  
  54.         Log.i(TAG, "Service destroyed");  
  55.   
  56.     }  
  57.   
  58. }  

main.xml
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout  
  3.     xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     android:orientation="vertical"  
  5.     android:layout_width="fill_parent"  
  6.     android:layout_height="fill_parent"  
  7.     android:gravity="center">  
  8.     <LinearLayout  
  9.         android:layout_height="wrap_content"  
  10.         android:layout_width="match_parent"  
  11.         android:id="@+id/linearLayout1"  
  12.         android:gravity="center">  
  13.         <Button  
  14.             android:layout_height="wrap_content"  
  15.             android:layout_width="wrap_content"  
  16.             android:id="@+id/buttonStart"  
  17.             android:text="Start Service"></Button>  
  18.         <Button  
  19.             android:layout_height="wrap_content"  
  20.             android:layout_width="wrap_content"  
  21.             android:id="@+id/buttonStop"  
  22.             android:text="Stop Serivce"></Button>  
  23.     </LinearLayout>  
  24. </LinearLayout>  

AndroidManifest.xml
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest  
  3.     xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     package="com.sunil"  
  5.     android:versionCode="1"  
  6.     android:versionName="1.0">  
  7.     <uses-sdk android:minSdkVersion="8" />  
  8.   
  9.     <application  
  10.         android:icon="@drawable/icon"  
  11.         android:label="@string/app_name">  
  12.         <activity  
  13.             android:name=".MyActivity"  
  14.             android:label="@string/app_name">  
  15.             <intent-filter>  
  16.             <action android:name="android.intent.action.MAIN" />  
  17.             <category android:name="android.intent.category.LAUNCHER" />  
  18.             </intent-filter>  
  19.         </activity>  
  20.   
  21.         <service  
  22.             android:enabled="true"  
  23.             android:name=".MyService">  
  24.             <intent-filter>  
  25.             <action android:name="com.sunil.MyService">  
  26.             </action>  
  27.             </intent-filter>  
  28.         </service>  
  29.   
  30.     </application>  
  31. </manifest>  

The output Screen will be like this..



You can download the complete source code zip file here : ServiceLifeCycle

Cheers!!

I'd love to hear your thoughts!

Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
NB :: Bila Sobat tertarik Ingin membuat software, membeli software, membeli source code, membeli hardware elektronika untuk kepentingan Perusahaan maupun Tugas Akhir (TA/SKRIPSI), Insyaallah Saya siap membantu, untuk Respon Cepat dapat menghubungi kami, melalui :

No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com


atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :

ٱلْحَمْدُ لِلَّهِ رَبِّ ٱلْعَٰلَمِين
Alhamdulilah hirobil alamin

وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
wassalamualaikum warahmatullahi wabarakatuh


Artikel Service LifeCycle , Diterbitkan oleh scodeaplikasi pada Minggu, 23 Desember 2012. Semoga artikel ini dapat menambah wawasan Anda. Website ini dipost dari beberapa sumber, bisa cek disini sumber, Sobat diperbolehkan mengcopy paste / menyebar luaskan artikel ini, karena segala yang dipost di public adalah milik public. Bila Sobat tertarik Ingin membuat software, membeli software, membeli source code ,Dengan Cara menghubungi saya Ke Email: Fajarudinsidik@gmail.com, atau No Hp/WA : (fajar) : 085369237896, (puat) : 085267792168.

Tawk.to