Android初級(jí)第三次小結(jié)

    Service

創(chuàng)新互聯(lián)公司致力于成都網(wǎng)站制作、網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計(jì),集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過(guò)標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場(chǎng)競(jìng)爭(zhēng)中脫穎而出。 選擇創(chuàng)新互聯(lián)公司,就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!

       服務(wù)

       四大組件之一     沒(méi)有界面,運(yùn)行在后臺(tái)

    要素:

      1、繼承Service

      2、在清單文件里面注冊(cè)

               <name = 包名 + 類(lèi)名>

    生命周期:

      

    打開(kāi)服務(wù):

       startService(Intent intent)

    生命周期:

       onCreat()  onStartConmmand()

    關(guān)閉服務(wù):

       stopService(Intent intent);

    注意:1、通過(guò)startService打開(kāi)的服務(wù)跟Activity之間的聯(lián)系比較松散(activity關(guān)閉服務(wù)不會(huì)死掉)

              2、Service打開(kāi)之后繼續(xù)調(diào)用startService只會(huì)調(diào)用 onStartConmmand()

              3、通過(guò)startService打開(kāi)的Service只能通過(guò)stopservice關(guān)閉

    ServiceConnection conn = new ServiceConnection() {

     

      @Override

      public void onServiceDisconnected(ComponentName name) {

        //綁定異常調(diào)用

      }

     

      @Override

      public void onServiceConnected(ComponentName name, IBinder service) {

        //綁定成功,并返回一個(gè)非空的Ibinder類(lèi)型對(duì)象時(shí)調(diào)用

      }

     };

    綁定服務(wù)

         綁定服務(wù)的時(shí)候,界面關(guān)閉掉,服務(wù)隨之關(guān)閉。綁定成功的時(shí)候可以得到服務(wù)返回的數(shù)據(jù)。

       Intent service = new Intent(this, MyService.class);

      //綁定服務(wù)

      bindService(service , conn, Context.BIND_AUTO_CREATE);

      //Context.BIND_AUTO_CREATE  當(dāng)服務(wù)不存在,默認(rèn)去創(chuàng)建服務(wù)

    解除綁定:

      unbindService(conn);

    綁定Service獲取服務(wù)返回的消息

      1、綁定成功  

             onBinder()會(huì)返回IBinder類(lèi)型的對(duì)象

      2、聲明一個(gè)類(lèi)去接觸Binder(implement IBinder)

      3、在聲明的類(lèi)中聲明一個(gè)方法

      4、在 onBinder返回聲明的類(lèi)的對(duì)象

     5、在Activity中的ServiceConnection 類(lèi)型的對(duì)象中的onServiceConnected()中接收返回的對(duì)象

    

    

    starService  + binderService

    廣播接受者

       BroadcastReceiver

    廣播機(jī)制

        單向,群發(fā)。

    創(chuàng)建:

       1、繼承BroadcastReceiver

       2、在清單文件中注冊(cè)

    

    

    注冊(cè):

     1、清單文件中注冊(cè)

      2、代碼中注冊(cè)      

    

    

      例子:

            接收短信

            1、權(quán)限:

                   <uses-permission android:name="android.permission.RECEIVE_SMS"/>

            2、設(shè)置廣播接收者的過(guò)濾條件

                   a、在清單文件中注冊(cè)

                   <intent-filter >

                    <action android:name="android.provider.Telephony.SMS_RECEIVED"/>

                </intent-filter>

    

                 b、在代碼中注冊(cè)

                 receiver = new MyReceiver();

                     IntentFilter filter = new IntentFilter();

                      filter.addAction("android.provider.Telephony.SMS_RECEIVED");

                      /     /注冊(cè)廣播接受者

                      registerReceiver(receiver , filter );

         

                     //注銷(xiāo)廣播接收者

                      unregisterReceiver(receiver);

    

      

    清單文件中注冊(cè)與代碼中注冊(cè)的區(qū)別

           1、 清單文件中注冊(cè) 進(jìn)程不存在 只要過(guò)濾條件匹配就能接收廣播

           2、代碼中注冊(cè)  使用靈活  進(jìn)程不存在則接收不了

    

    

    應(yīng)用本身也可以發(fā)廣播 

         可以被應(yīng)用本身的廣播接收者接收,也可以被其他應(yīng)用的廣播接收者接收

    //發(fā)送廣播

    Intent intent = new Intent();

         intent.putExtra("key", "ssssss");

         intent.setAction("com.xinbo.mysms");

      sendBroadcast(intent );

    Intent

          1、顯式意圖   (指定要打開(kāi)的目標(biāo))

          2、隱式意圖

                  

    通過(guò)隱式意圖打開(kāi)界面:

       1、在清單文件為Activty設(shè)置過(guò)濾條件

            <intent-filter >

                    <action android:name="com.yinan"/>

                   

                    <category android:name="android.intent.category.DEFAULT"/>

                </intent-filter>

     2、Intent intent = new Intent();

         intent.setAction("com.yinan");

      startActivity(intent );

      1、顯式意圖  只能打開(kāi)本應(yīng)用的界面    只能打開(kāi)一個(gè)

      2、隱式意圖   可以打開(kāi)本應(yīng)用也可以打開(kāi)其他應(yīng)用的界面    可以開(kāi)啟多個(gè)以供選擇

    

文章題目:Android初級(jí)第三次小結(jié)
當(dāng)前URL:http://muchs.cn/article26/jcjcjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、外貿(mào)網(wǎng)站建設(shè)服務(wù)器托管、建站公司、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站