91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android初級第三次小結

發布時間:2020-06-22 23:09:00 來源:網絡 閱讀:382 作者:牧云風羽 欄目:移動開發

    Service

       服務

       四大組件之一     沒有界面,運行在后臺

    要素:

      1、繼承Service

      2、在清單文件里面注冊

               <name = 包名 + 類名>

    生命周期:

      

    打開服務:

       startService(Intent intent)

    生命周期:

       onCreat()  onStartConmmand()

    關閉服務:

       stopService(Intent intent);

    注意:1、通過startService打開的服務跟Activity之間的聯系比較松散(activity關閉服務不會死掉)

              2、Service打開之后繼續調用startService只會調用 onStartConmmand()

              3、通過startService打開的Service只能通過stopservice關閉

    ServiceConnection conn = new ServiceConnection() {

     

      @Override

      public void onServiceDisconnected(ComponentName name) {

        //綁定異常調用

      }

     

      @Override

      public void onServiceConnected(ComponentName name, IBinder service) {

        //綁定成功,并返回一個非空的Ibinder類型對象時調用

      }

     };

    綁定服務

         綁定服務的時候,界面關閉掉,服務隨之關閉。綁定成功的時候可以得到服務返回的數據。

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

      //綁定服務

      bindService(service , conn, Context.BIND_AUTO_CREATE);

      //Context.BIND_AUTO_CREATE  當服務不存在,默認去創建服務

    解除綁定:

      unbindService(conn);

    綁定Service獲取服務返回的消息

      1、綁定成功  

             onBinder()會返回IBinder類型的對象

      2、聲明一個類去接觸Binder(implement IBinder)

      3、在聲明的類中聲明一個方法

      4、在 onBinder返回聲明的類的對象

     5、在Activity中的ServiceConnection 類型的對象中的onServiceConnected()中接收返回的對象

    

    

    starService  + binderService

    廣播接受者

       BroadcastReceiver

    廣播機制

        單向,群發。

    創建:

       1、繼承BroadcastReceiver

       2、在清單文件中注冊

    

    

    注冊:

     1、清單文件中注冊

      2、代碼中注冊      

    

    

      例子:

            接收短信

            1、權限:

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

            2、設置廣播接收者的過濾條件

                   a、在清單文件中注冊

                   <intent-filter >

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

                </intent-filter>

    

                 b、在代碼中注冊

                 receiver = new MyReceiver();

                     IntentFilter filter = new IntentFilter();

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

                      /     /注冊廣播接受者

                      registerReceiver(receiver , filter );

         

                     //注銷廣播接收者

                      unregisterReceiver(receiver);

    

      

    清單文件中注冊與代碼中注冊的區別

           1、 清單文件中注冊 進程不存在 只要過濾條件匹配就能接收廣播

           2、代碼中注冊  使用靈活  進程不存在則接收不了

    

    

    應用本身也可以發廣播 

         可以被應用本身的廣播接收者接收,也可以被其他應用的廣播接收者接收

    //發送廣播

    Intent intent = new Intent();

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

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

      sendBroadcast(intent );

    Intent

          1、顯式意圖   (指定要打開的目標)

          2、隱式意圖

                  

    通過隱式意圖打開界面:

       1、在清單文件為Activty設置過濾條件

            <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、顯式意圖  只能打開本應用的界面    只能打開一個

      2、隱式意圖   可以打開本應用也可以打開其他應用的界面    可以開啟多個以供選擇

    

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东方市| 宣武区| 泰州市| 甘泉县| 合山市| 新丰县| 仁化县| 耒阳市| 依兰县| 临泽县| 修文县| 铜陵市| 花莲县| 邵武市| 焉耆| 舒兰市| 巴青县| 临江市| 昭觉县| 山阴县| 盱眙县| 浦县| 化隆| 光山县| 芦山县| 博乐市| 尼勒克县| 沙湾县| 健康| 朝阳市| 遂昌县| 元氏县| 浮山县| 八宿县| 星子县| 土默特左旗| 家居| 哈密市| 佛山市| 阜城县| 册亨县|