Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 第五篇 Android 的基本組件,第五篇android組件

第五篇 Android 的基本組件,第五篇android組件

編輯:關於android開發

第五篇 Android 的基本組件,第五篇android組件


Android是一個為組件化而搭建的平台,它的應用是由一些零散的有聯系的組件組成,並通過AndroidManifest.xml文件 把它們綁定起來。

Android常用的組件有: Activity(活動)  , Service (服務),Broadcast Receiver(廣播接收器) ,Intent (意圖),Content Provide (內容提供器)和Notification(通知) 。

 

一、 Activity 

 

1. Activity 介紹 

Activity是最常用的組件,實現應用程序的用戶界面顯示。

應用程序可以定義一個或多個Activity。

Activity的顯示內容由View對象提供。

每個視圖(視圖組)對象都有它們自己的多種xml屬性。

每個視圖(視圖組)對象都有一個ID屬性。

 

2、Activity 實例

例:在HelloWorld 的activity_main.xml中的 TextView對象:

 

  <!-- 添加了一個textView 控件,其顯示的內容是 string.xml 文件定義的內容   -->
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

 

 

3、ID定義的方式 

ID屬性有時被定義為字符串,編譯後為整型值。可以查看R.java文件。


ID的定義:

方式一、 
Android:id=“@+id/my_button1”

“@”告訴xml解析器,解析並展開id後的其余部分作為ID資源。
@後使用“+”表示定義一個新資源。

 

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="34dp"
        android:text="@+id/testword" />

 

方式二、

Android:id=“@android:id/my_button1”

@後不使用“+”表示引用Android的一個資源。
此時要加上Android包名字空間,通過它可以從android.R資源類中引用ID。

 

<TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

 

 

4. 啟動Activity方式

在onCreate()方法內調用setContentView()方法,用來指定將要啟動的res/layout目錄下的布局文件,例如

第一種:setContentView(R.layout.main)。
第二種方法是調用startActivity(),用於啟動一個新的Activity。
第三種方法是調用startActivityforResult(),用於啟動一個Activity,並在該Activity結束時會返回信息。

 

5. 關閉Activity方式

 

通常調用finish()方法來關閉一個Activity。
調用setResult()方法,則可以返回數據給上一級的Activity。
使用startActivityforResult()啟動的Activity時,則需要調用finishActivity()方法,來關閉其父Activity。

 

 

二 、Service

 

1. Service簡介


沒有用戶界面顯示。
具有較長的生命周期。
常用於播放背景音樂的應用設計。
一般由Activity啟動,但不依賴於Activity 。

 


2. 啟動(結束)方式

startService方法:啟動,會依次調用onCreate和onStart方法;
stopService方法:結束,會調用onDestroy方法。

bindService方法:啟動,會依次調用onCreate和onBind方法;
unbindService方法:結束,會依次調用onUnbind和onDestroy方法。

 

 

三、 BroadcastReceiver

 

1.作用:接收廣播消息,並做相應處理。

 

2.使用過程:

將需要廣播的消息封裝到Intent中。

然後通三種發送方法中的一種將Intent廣播出去 。
通過IntentFilter對象來過濾所發送的實體Intent。
實現一個重寫了onReceive方法的BroadcastReceiver。

 

3.注冊方式

在AndroidManifest.xml中,放在<receiver> </receiver>中,通過<intent-filter>設置過濾條件。
在java代碼中,先創建IntentFilter對象,在IntentFilter對象內設置Intent過濾條件。

 

 

 

四、Intent

 

1. Intent簡介 

是一種運行時的綁定機制,運行時連接兩個不同的組件。
Activity、Service、BroadcastReceiver之間的通信由Intent協助完成。
不同類型的組件有不同的 Intent傳送方法。

2. Intent組成:組件名稱, Action, Data,Category等。

 

3. Intent過濾器(IntentFilter )

當Intent沒有指定組件名(隱性)時,使用IntentFilter 來找與Intent最合適的組件。
工作機制:通過Intent向Android發出請求,然後查詢各組件聲明的IntentFilter,找到需要的組件並運行它。
用<Intent-filter>標簽聲明指定組件支持的 Intent值。
IntentFilter可以設置多個過濾值(即元素值)。

 

 

五 、ContentProvider


實現應用程序之間數據共享的類。

ContentProvider為所有需要共享的數據創建一個數據表。

ContentProvider會對外提供一個公開的URI來標識數據集。

URI:通用資源標識符(Uniform Resource Identifier)

URI主要分三個部分:scheme, authority 和 path。其中authority又分為host和port。

 


六 、Notification


Notification用來在不需要焦點或不中斷它們當前Activity的情況下提示用戶。
它們是Service或Broadcast Receiver獲得用戶注意的首選方式。
例如:當設備收到文本信息或外部來電時,它通過閃光,發聲,顯示圖標或顯示對話框信息來提醒你。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved