欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android Service控件用法實(shí)例分析

 更新時(shí)間:2016年06月23日 11:57:23   作者:hbiao68  
這篇文章主要介紹了Android Service控件用法,較為詳細(xì)的分析了Service控件的功能、定義、使用方法與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Android Service控件用法。分享給大家供大家參考,具體如下:

1、Service是一個(gè)應(yīng)用程序的組件
2、Service沒有圖形化界面
3、用來(lái)處理耗時(shí)比較長(zhǎng)的功能(下載、播放MP3)
4、更新ContentProvider、Intent以及系統(tǒng)的啟動(dòng)

Servcie不是一個(gè)單獨(dú)的進(jìn)程,不是一個(gè)線程

定義一個(gè)Service比較簡(jiǎn)單,只要繼承Service類,實(shí)現(xiàn)其生命周期的方法即可。一個(gè)定義好的Service必須在AndroidManifest.xml文件中通過(guò)<service>聲明才能使用

<service android:name="MyService">
  <intent-filter>
    <action android:name="hb.com.MYSERVICE"/>
  </intent-filter>
</service>

備注:MyService一定要是繼承了Service類的,并且名稱和類名是一致的

action的名稱是自定義的,只要在bindService或者操作Intent的時(shí)候就能夠被捕獲

public class MyService extends Service {
  public class MyBinder extends Binder{
    public MyService getMyService(){
      return MyService.this;
    }
  }
  public void test(){
    System.out.println("test");
  }
  @Override
  public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    System.out.println("onBind");
    return new MyBinder();
  }
  @Override
  public void onCreate() {
    // TODO Auto-generated method stub
    System.out.println("onCreate");
    super.onCreate();
  }
  @Override
  public boolean onUnbind(Intent intent) {
    System.out.println("I am unbind");
    return super.onUnbind(intent);
  }
}

public class MainActivity extends Activity {
  private static final String MYSERVICE = "hb.com.MYSERVICE";
  private boolean flag = false;
  //bindService()方法需要ServiceConnection接口作為參數(shù),所以定義了這個(gè)變量,目的是為了實(shí)現(xiàn)里面的兩個(gè)方法
  ServiceConnection conn = new ServiceConnection() {
    @Override
    public void onServiceDisconnected(ComponentName name) {
      System.out.println("onServiceDisconnected");
    }
    @Override
    public void onServiceConnected(ComponentName name, IBinder service) {
      System.out.println("onServiceConnected");
      MyBinder myBinder = (MyBinder)service;
      MyService myService = myBinder.getMyService();
      myService.test();
    }
  };
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    findViewById(R.id.start).setOnClickListener(new Button.OnClickListener(){
      @Override
      public void onClick(View v) {
        Intent intent = new Intent();
        intent.setAction(MYSERVICE);
        //先調(diào)用MyService的onCreate()方法,然后調(diào)用onBind()方法,最后調(diào)用onServiceConnected()方法
        //因此IBinder返回的值就是通過(guò)onBind()方法返回的對(duì)象,定義getMyService()方法是為了得到MyService對(duì)象,用戶在這個(gè)類中添加自己需要的一些方法,這樣可以做一些邏輯處理
        bindService(intent, conn, Service.BIND_AUTO_CREATE);
        flag = true;
      }
    });
    findViewById(R.id.stop).setOnClickListener(new Button.OnClickListener(){
      @Override
      public void onClick(View v) {
        if(flag){
          //取消綁定事件,會(huì)調(diào)用MyService的onUnbind()方法,但是不會(huì)調(diào)用onServiceDisconnected()這個(gè)方法,原因不明
          unbindService(conn);
          flag = false;
        }
      }
    });
  }
}

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android文件操作技巧匯總》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Android清空應(yīng)用內(nèi)部文件緩存

    Android清空應(yīng)用內(nèi)部文件緩存

    這篇文章主要介紹了Android清空應(yīng)用內(nèi)部文件緩存的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Android學(xué)習(xí)筆記45之gson解析json

    Android學(xué)習(xí)筆記45之gson解析json

    JSON即JavaScript Object Natation,是一種輕量級(jí)的數(shù)據(jù)交換格式,采用完全獨(dú)立于語(yǔ)言的文本格式,為Web開發(fā)提供了一種理想的數(shù)據(jù)交換格式。通過(guò)本篇文章給大家介紹Android學(xué)習(xí)筆記45之gson解析json的相關(guān)內(nèi)容,對(duì)android gson解析json相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • Android實(shí)現(xiàn) EditText輸入手機(jī)號(hào)空格功能

    Android實(shí)現(xiàn) EditText輸入手機(jī)號(hào)空格功能

    這篇文章主要介紹了Android實(shí)現(xiàn) EditText輸入手機(jī)號(hào)空格功能,實(shí)現(xiàn)思路是要重寫TextWatcher,每次EditText內(nèi)容變化,都判斷內(nèi)容是否符合要求,具體實(shí)例代碼大家參考下本文
    2018-02-02
  • 獲取Android界面性能數(shù)據(jù)的快捷方法

    獲取Android界面性能數(shù)據(jù)的快捷方法

    這篇文章主要介紹了獲取Android界面性能數(shù)據(jù)的快捷方法,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下
    2021-04-04
  • Android實(shí)現(xiàn)歡迎界面停留3秒效果

    Android實(shí)現(xiàn)歡迎界面停留3秒效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)歡迎界面停留3秒效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Android Easeui 3.0 即時(shí)通訊的問(wèn)題匯總

    Android Easeui 3.0 即時(shí)通訊的問(wèn)題匯總

    這篇文章主要介紹了Android Easeui 3.0 即時(shí)通訊的問(wèn)題匯總的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Android 實(shí)例開發(fā)一個(gè)學(xué)生管理系統(tǒng)流程詳解

    Android 實(shí)例開發(fā)一個(gè)學(xué)生管理系統(tǒng)流程詳解

    讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實(shí)現(xiàn)一個(gè)學(xué)生管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • Android用Canvas繪制貝塞爾曲線

    Android用Canvas繪制貝塞爾曲線

    這篇文章主要為大家詳細(xì)介紹了Android用Canvas繪制貝塞爾曲線,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • android實(shí)現(xiàn)自動(dòng)發(fā)送郵件

    android實(shí)現(xiàn)自動(dòng)發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)自動(dòng)發(fā)送郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 如何利用Android仿微博正文鏈接交互效果

    如何利用Android仿微博正文鏈接交互效果

    最近在開發(fā)中遇到了各種坑,所以分享一下,希望能給大家貢獻(xiàn)點(diǎn)經(jīng)驗(yàn),下面這篇文章主要給大家介紹了關(guān)于如何利用Android仿微博正文鏈接交互效果的相關(guān)資料,需要的朋友可以參考下
    2022-04-04

最新評(píng)論