編輯:關於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獲得用戶注意的首選方式。
例如:當設備收到文本信息或外部來電時,它通過閃光,發聲,顯示圖標或顯示對話框信息來提醒你。
安卓DJ113舞曲網應用客戶端 項目源碼(服務器+客戶端),安卓dj113Android DJ113舞曲網app客戶端 播放器源碼 項目源碼(服務器
ELF Format 筆記(十四)—— 段內容,elfformatilocker:關注 Android 安全(新手) QQ: 2597294287 一個段 (segmen
自定義控件——旋轉動畫,自定義控件旋轉
使用Chrome遠程調試GenyMotion上的WebView程序,genymotionwebviewWebView讓我們方便的使用熟悉的Html/JS/Css來開發AP