Android應用開發(fā)案例教程課件_第1頁
Android應用開發(fā)案例教程課件_第2頁
Android應用開發(fā)案例教程課件_第3頁
Android應用開發(fā)案例教程課件_第4頁
Android應用開發(fā)案例教程課件_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

張霞深圳職業(yè)技術(shù)學院Android應用開發(fā)案例教程(AndroidStudio第二版)

0103020405AndroidUI設計圖像和動畫數(shù)據(jù)存儲廣播Broadcast與服務Service媒體播放與錄制Activity與多個用戶界面07網(wǎng)絡編程技術(shù)書目錄06第4章

廣播與服務Android應用開發(fā)案例教程(AndroidStudio第二版)4.1消息廣播4.2系統(tǒng)服務4.3后臺服務章目錄4.1消息廣播-÷×+在Android中,有一些操作完成以后,會發(fā)送廣播,比如說發(fā)出一條短信,或打出一個電話,如果某個程序接收了這個廣播,就會做相應的處理。這個廣播跟我們傳統(tǒng)意義中的電臺廣播有些相似之處。之所以叫做廣播,就是因為它只負責“說”,而不管你“聽不聽”,也就是不管你接收方如何處理。廣播可以被一個以上的應用程序所接收,也可能不被任何應用程序所接收。4.1消息廣播01Android廣播機制三要素廣播(Broadcast):用于發(fā)送廣播,是一種運用在應用程序之間的傳遞消息的機制。廣播接收器(BroadcastReceiver):用于接收廣播,是對發(fā)出來的廣播進行過濾、接收、響應的組件。意圖內(nèi)容(Intent):用于保存廣播相關(guān)信息。4.1消息廣播02實現(xiàn)廣播和接收機制有以下5個步驟12創(chuàng)建Intent對象,設置Intent對象的action屬性。Intentintent=newIntent();intent.setAction("abc");編寫需要廣播的信息內(nèi)容,將需要廣播的信息封裝到Intent中,通過Context的sendBroadcast()方法,將Intent廣播出去。intent.putExtra(“hello”,“你好,這是一條廣播信息")sendBroadcast(intent);4.1消息廣播34編寫一個繼承BroadcastReceiver的廣播接收器classTestReceiverextendsBroadcastReceiver

{

@Override

publicvoidonReceive(Contextcontext,Intentintent)

{

/*接收到廣播后做出的響應*/

}在配置文件AndroidManifest.xml中注冊廣播接收類。5銷毀。執(zhí)行onReceive()方法時系統(tǒng)啟動一個程序計時器,在很短時間內(nèi)廣播接收器會被銷毀,因此廣播不適合傳遞數(shù)據(jù)量大的信息。4.1消息廣播【例4-1】一個簡單的消息廣播程序示例設計一個廣播的發(fā)送程序,單擊“發(fā)送廣播”按鈕后,程序把消息廣播出去;設計一個廣播接收器,一旦收到消息,廣播接收器就把消息顯示到指定的界面。簡單的消息廣播程序運行效果4.1消息廣播4.2系統(tǒng)服務(系統(tǒng)管理和系統(tǒng)功能)4.3后臺服務章目錄4.2系統(tǒng)服務Android有許多標準系統(tǒng)服務,如窗口管理服務WindowManager、通知管理服務NotificationManager、振動管理服務Vibrator、電池管理服務BatteryManager等。系統(tǒng)服務實際上可以看作一個對象,通過Activity的getSystemService()方法可以獲得指定對象(系統(tǒng)服務)。4.2系統(tǒng)服務系統(tǒng)服務實際上可以看作一個對象,通過Activity的getSystemService()方法可以獲得指定對象(系統(tǒng)服務)。Android有許多標準系統(tǒng)服務(SystemService),如窗口管理服務WindowManager,通知管理服務NotificationManager、振動管理服務Vibrator、電池管理服務BatteryManager等。接下來介紹兩個常見的系統(tǒng)管理服務:系統(tǒng)通知服務Notification系統(tǒng)定時服務AlarmManager4.2.1Android的系統(tǒng)服務介紹01系統(tǒng)通知服務NotificationNotification是一種具有全局效果的通知,在手機的通知欄顯示。當應用程序向系統(tǒng)發(fā)出通知時,它先以圖標的形式顯示在通知欄中,用戶下拉通知欄可以查看通知的詳細信息。Notification提供了文字、聲音、振動等屬性。Notification主要涉及NotificationCompat.Builder類和NotificationManager類。調(diào)用NotificationManager對象的notify()方法,把通知發(fā)送到狀態(tài)欄。4.2.1Android的系統(tǒng)服務介紹完成一個系統(tǒng)通知服務,涉及到的知識點:通知服務Notification通知服務的創(chuàng)建NotificationCompat.Builder通知服務管理類NotificationManager服務名稱NOTIFICATION_SERVICE我們創(chuàng)建的Notification實例最終以什么樣的方式發(fā)送給系統(tǒng)?系統(tǒng)是如何接收并顯示?4.2.1Android的系統(tǒng)服務介紹【例4-2】系統(tǒng)通知服務示例系統(tǒng)通知服務的示例4.2.1Android的系統(tǒng)服務介紹02系統(tǒng)定時服務AlarmManager一個定時任務管理器,又稱為系統(tǒng)鬧鐘服務、系統(tǒng)時鐘服務。是一種系統(tǒng)級別的提示服務,可以在約定的時間發(fā)送廣播、啟動服務、啟動Activity等。例如,我們設定一個時間,然后在該時間到來時,AlarmManager為我們廣播一個我們設定的Intent延時意圖(PendingIntent)可以協(xié)助完成定時服務。系統(tǒng)定時服務AlarmManager的特點Pending表示的是待定、等待、即將發(fā)生。PendingIntent是一種處于pending狀態(tài)的意圖,有一個Intent將在某個待定的時刻發(fā)生。可以指定單次執(zhí)行的定時任務,也可以指定重復運行的周期性任務。PendingIntent延時意圖4.2.1Android的系統(tǒng)服務介紹系統(tǒng)定時服務AlarmManager調(diào)用步驟如下:步驟123創(chuàng)建ALarmManager對象ALarmManageram

=

(ALarmManager)getSystemService(ALARM_SERVICE);定義一個延時意圖PendingIntent發(fā)出廣播調(diào)用ALarmManager的set方法,設置定時或重復提醒?!纠?-3】AlarmManager時鐘服務示例AlarmManager服務主要有下面兩種應用:【例4-3】AlarmManager時鐘服務示例在指定時長執(zhí)行某項操作周期性地執(zhí)行某項操作4.2.2系統(tǒng)功能的調(diào)用Android系統(tǒng)功能有很多,例如瀏覽網(wǎng)頁、從Google搜索內(nèi)容、顯示地圖、路徑規(guī)劃、撥打電話、發(fā)送短信、發(fā)送Email、打開錄音……Android系統(tǒng)功能需要通過Intent來調(diào)用,Intent是Android非常重要的組件,回顧2.3節(jié),根據(jù)開啟目標組件的方式不同,Intent被分為兩種類型:顯式意圖和隱式意圖。Intent調(diào)用系統(tǒng)功能,可以顯式調(diào)用或隱式調(diào)用,隱式調(diào)用需要Action屬性。4.2.2系統(tǒng)功能的調(diào)用Intent調(diào)用系統(tǒng)功能,可以顯式調(diào)用或隱式調(diào)用,隱式調(diào)用需要設置Action的屬性。setAction()舉例:呼叫電話號碼的Action屬性值為Intent.ACTION_CALL

或Intent.ACTION_DIAL在活動程序中調(diào)用setAction方法:intent.setAction(Intent.ACTION_CALL);或intent.setAction(ent.action.DIAL);4.2.2系統(tǒng)功能的調(diào)用調(diào)用系統(tǒng)功能示例312//打電話

Uriuri=Uri.parse("tel:138189001");

Intentit=newIntent(Intent.ACTION_DIAL,uri);

startActivity(it);//看網(wǎng)頁

Uriuri=Uri.parse("");

Intentit=newIntent(Intent.ACTION_VIEW,uri);

startActivity(it);//發(fā)短信

Uriuri=Uri.parse("smsto:1391001001");

Intentit=newIntent(Intent.ACTION_SENDTO,uri);

it.putExtra("sms_body","helloworld!");

startActivity(it);4.2.2系統(tǒng)功能的調(diào)用【例4-4】調(diào)用系統(tǒng)功能示例調(diào)用“撥打電話”系統(tǒng)功能4.1消息廣播4.2系統(tǒng)服務4.3后臺服務Service章目錄Service

和Activity都是Context的子類。后臺服務(Service)是一種類似于Activity的組件,但Service沒有用戶操作界面,也不能自己啟動,其主要作用是提供后臺服務調(diào)用。Service不像Activity那樣當用戶關(guān)閉應用界面時就停止運行,Service會一直在后臺運行,除非明確命令其停止。4.3后臺服務通常使用Service為應用程序提供一些只需在后臺運行的服務或不需要界面的功能,例如從Internet下載文件、音樂播放等。Service的生命周期只有三個階段,即onCreate、onStartCommand、onDestroy。設計一個后臺服務程序,有以下三個步驟:4.3后臺服務1創(chuàng)建Service的子類重寫onCreate()方法,創(chuàng)建后臺服務;重寫onStartCommand()方法,啟動后臺服務;重寫onDestroy()方法,終止后臺服務,并刪除所有調(diào)用。通常后臺服務的啟動,是放在一個Activity。Service的生命周期只有三個階段,即onCreate、onStartCommand、onDestroy。4.3后臺服務2創(chuàng)建Activity的子類新建Intent對象,建立Activity與Service的關(guān)聯(lián)。調(diào)用Activity的startSevice(Intent)方法啟動Service后臺服務;調(diào)用Activity的stopService(lntent)方法關(guān)閉Service后臺服務。3檢查配置文件AndroidManifest.xml在<application>標簽中查看

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論