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

溫馨提示×

溫馨提示×

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

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

Android學習筆記—第二章 Android四大組件

發布時間:2020-06-08 21:10:57 來源:網絡 閱讀:162 作者:lyklykkk 欄目:移動開發

第二章 Android四大組件

  1. Activity(活動窗口):

    Android程序中最基本的模塊,為用戶操作而展示的可視化用戶界面。一個Android應用程序可以只有一個Activity,也可以包含多個Activity,數量及每個Activity的作用取決于應用程序及其設計。

    (1)Activity的生命周期

    創建→運行   onCreate   onStart   onResume

    運行→銷毀   onPause    onStop    onDestory

    運行→停止(不可見  不可操作)  onPause   onStop

    停止→恢復   onRestart  onStart  onResume

    運行→暫停(可見  不可操作) onPause

    暫停→恢復 onResume

    備注:當Activity處于暫停或停止狀態的時候,如果有更高優先級的應用需要內存時,該Activity所在應用可能被銷毀。

    (2)應用舉例:數據持久化

    存:onPause  onStop  onDestory

    取:onCreate  onStart  onResume

    (3)創建一個Activity

    在eclipse項目中,“新建”→“other”→“Android”→“Android Activity”

    (4)啟動Activity

    Intent intent = new Intent(Activity1.this,Activity2.class);

    startActivity(intent);

    (5)關閉Activity

    finish();

  2. Service(服務):沒有界面,運行在后臺

    (1)Service的創建:

    a. 創建一個類繼承Service

    b. 重寫onbind()方法

    c. 清單文件中注冊  android:name="包名.類名"

    (2)啟動服務

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

    startService(serviceIntent);

    備注:第一次啟動,會觸發Service的onCreate和onStartCommand方法;如果服務已經存在,則多次點擊啟動服務,只會調用onStartCommand方法。

    (3)停止服務

    stopService(serviceIntent);

    (4)綁定服務

    bindService(serviceIntent,xxx,xxx);

    a. serviceIntent:表示一個Intent對象;

    b. 第二個參數:表示一個ServiceConnection對象,例如:

    ServiceConnection conn =new ServiceConnection;

    c. 第三個參數:Context.BIND_AUTO_CREATE 表示如果服務不存在,會自動創建一個服務。

     (5)解綁服務

    unbindService(conn);

    (5)通過綁定調用Service中的方法

    a. 創建一個類MyBinder繼承Binder

    b. 在該類中添加所需要調用的Service中的方法

    c. 在onBinder()方法中,返回一個MyBinder類型的對象

    d. 在Activity的onServiceConnected()方法中,得到IBinder類型對象

    e. 將IBinder類型對象強轉為MyBinder類型

  3. BroadcastReceiver(廣播接收器)

    (1)廣播:單項、群發,作為Android內部信息傳輸的機制。

    (2)廣播接收器的創建:

    a. 創建一個類MyReceiver繼承BroadcastReceiver;

    b. 重寫onReceive()方法;

    c. 清單文件中注冊

    android:name="包名.類名"

    (3)應用自己發送廣播

    //創建Intent對象

    Intent intent = new Intent();

    //設置過濾條件

    intent.setAction("xxx");

    //發送廣播

    sendBroadcast(intent);

    (4)接收廣播

    a. 在清單文件中注冊廣播

    <intent-filter>

        <action android:name="xxx"/>

    </intent-filter>

    只要條件匹配,就能接收廣播

    b. 在代碼中注冊廣播

    //創建IntentFilter對象

    IntentFilter filter = new IntentFilter();

    //添加過濾條件

    filter.addAction("xxx");

    //創建MyReceiver對象

    MyReceiver receiver = new MyReceiver();

    //注冊廣播

    registerReceiver(filter,receiver);

    //注銷廣播

    unregisterReceiver(receiver);

  4. ContentProvider(數據共享)

    一個用來提供數據共享的組件,主要將一些特定的應用程序數據提供給其他應用程序使用,這些應用程序數據可以存儲于文件系統或者SQLite數據庫中。在Android程序中,共享數據的實現需要繼承自ContentProvider基類,該基類為其他應用程序使用和存儲數據實現了一套標準方法。然而,應用程序并不直接調用這些方法,而是使用一個ContentResolver對象,并通過調用它的方法作為替代。ContentResolver對象提供了query、insert及update等方法,可以對共享數據執行各種操作。

    (1)ContentResolver(內容解析者)示例:讀取系統聯系人

    //創建ContentResolver對象

    ContentResolver resolver = getContentResolver();

    //使用query方法獲取聯系人信息

    Cusor cusor = resolver.query(Phones.CONTENT_URI, null, null, null, null);

    //遍歷聯系人信息

    while(cursor.moveToNext()){

    //根據字段名獲取該字段的索引位置

    int nameIndex = cursor.getColumnIndex(Phones.NAME);

    int numberIndex = cursor.getColumnIndex(Phones.NUMBER);

    //根據索引獲取聯系人信息

    String name = cursor.getString(nameIndex);

    String number = cursor.getString(numberIndex);

    }

    //關閉cursor對象

    cursor.close();

向AI問一下細節

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

AI

景泰县| 西盟| 桐庐县| 叶城县| 太白县| 合阳县| 平陆县| 互助| 靖州| 镇原县| 浪卡子县| 正蓝旗| 道真| 通许县| 常山县| 忻城县| 崇礼县| 玉林市| 赞皇县| 福建省| 扶绥县| 湛江市| 平果县| 东方市| 射洪县| 大港区| 商都县| 宝清县| 南靖县| 寿阳县| 肥乡县| 喀喇| 丹江口市| 黄山市| 常山县| 微博| 开平市| 上高县| 浦东新区| 新民市| 龙州县|