版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
張霞深圳職業(yè)技術(shù)學(xué)院Android應(yīng)用開發(fā)案例教程(AndroidStudio第二版)
0103020405AndroidUI設(shè)計(jì)圖像和動畫數(shù)據(jù)存儲廣播Broadcast與服務(wù)Service媒體播放與錄制Activity與多個(gè)用戶界面07網(wǎng)絡(luò)編程技術(shù)書目錄06第4章
廣播與服務(wù)Android應(yīng)用開發(fā)案例教程(AndroidStudio第二版)4.1消息廣播4.2系統(tǒng)服務(wù)4.3后臺服務(wù)章目錄4.1消息廣播-÷×+在Android中,有一些操作完成以后,會發(fā)送廣播,比如說發(fā)出一條短信,或打出一個(gè)電話,如果某個(gè)程序接收了這個(gè)廣播,就會做相應(yīng)的處理。這個(gè)廣播跟我們傳統(tǒng)意義中的電臺廣播有些相似之處。之所以叫做廣播,就是因?yàn)樗回?fù)責(zé)“說”,而不管你“聽不聽”,也就是不管你接收方如何處理。廣播可以被一個(gè)以上的應(yīng)用程序所接收,也可能不被任何應(yīng)用程序所接收。4.1消息廣播01Android廣播機(jī)制三要素廣播(Broadcast):用于發(fā)送廣播,是一種運(yùn)用在應(yīng)用程序之間的傳遞消息的機(jī)制。廣播接收器(BroadcastReceiver):用于接收廣播,是對發(fā)出來的廣播進(jìn)行過濾、接收、響應(yīng)的組件。意圖內(nèi)容(Intent):用于保存廣播相關(guān)信息。4.1消息廣播02實(shí)現(xiàn)廣播和接收機(jī)制有以下5個(gè)步驟12創(chuàng)建Intent對象,設(shè)置Intent對象的action屬性。Intentintent=newIntent();intent.setAction("abc");編寫需要廣播的信息內(nèi)容,將需要廣播的信息封裝到Intent中,通過Context的sendBroadcast()方法,將Intent廣播出去。intent.putExtra(“hello”,“你好,這是一條廣播信息")sendBroadcast(intent);4.1消息廣播34編寫一個(gè)繼承BroadcastReceiver的廣播接收器classTestReceiverextendsBroadcastReceiver
{
@Override
publicvoidonReceive(Contextcontext,Intentintent)
{
/*接收到廣播后做出的響應(yīng)*/
}在配置文件AndroidManifest.xml中注冊廣播接收類。5銷毀。執(zhí)行onReceive()方法時(shí)系統(tǒng)啟動一個(gè)程序計(jì)時(shí)器,在很短時(shí)間內(nèi)廣播接收器會被銷毀,因此廣播不適合傳遞數(shù)據(jù)量大的信息。4.1消息廣播【例4-1】一個(gè)簡單的消息廣播程序示例設(shè)計(jì)一個(gè)廣播的發(fā)送程序,單擊“發(fā)送廣播”按鈕后,程序把消息廣播出去;設(shè)計(jì)一個(gè)廣播接收器,一旦收到消息,廣播接收器就把消息顯示到指定的界面。簡單的消息廣播程序運(yùn)行效果4.1消息廣播4.2系統(tǒng)服務(wù)(系統(tǒng)管理和系統(tǒng)功能)4.3后臺服務(wù)章目錄4.2系統(tǒng)服務(wù)Android有許多標(biāo)準(zhǔn)系統(tǒng)服務(wù),如窗口管理服務(wù)WindowManager、通知管理服務(wù)NotificationManager、振動管理服務(wù)Vibrator、電池管理服務(wù)BatteryManager等。系統(tǒng)服務(wù)實(shí)際上可以看作一個(gè)對象,通過Activity的getSystemService()方法可以獲得指定對象(系統(tǒng)服務(wù))。4.2系統(tǒng)服務(wù)系統(tǒng)服務(wù)實(shí)際上可以看作一個(gè)對象,通過Activity的getSystemService()方法可以獲得指定對象(系統(tǒng)服務(wù))。Android有許多標(biāo)準(zhǔn)系統(tǒng)服務(wù)(SystemService),如窗口管理服務(wù)WindowManager,通知管理服務(wù)NotificationManager、振動管理服務(wù)Vibrator、電池管理服務(wù)BatteryManager等。接下來介紹兩個(gè)常見的系統(tǒng)管理服務(wù):系統(tǒng)通知服務(wù)Notification系統(tǒng)定時(shí)服務(wù)AlarmManager4.2.1Android的系統(tǒng)服務(wù)介紹01系統(tǒng)通知服務(wù)NotificationNotification是一種具有全局效果的通知,在手機(jī)的通知欄顯示。當(dāng)應(yīng)用程序向系統(tǒng)發(fā)出通知時(shí),它先以圖標(biāo)的形式顯示在通知欄中,用戶下拉通知欄可以查看通知的詳細(xì)信息。Notification提供了文字、聲音、振動等屬性。Notification主要涉及NotificationCompat.Builder類和NotificationManager類。調(diào)用NotificationManager對象的notify()方法,把通知發(fā)送到狀態(tài)欄。4.2.1Android的系統(tǒng)服務(wù)介紹完成一個(gè)系統(tǒng)通知服務(wù),涉及到的知識點(diǎn):通知服務(wù)Notification通知服務(wù)的創(chuàng)建NotificationCompat.Builder通知服務(wù)管理類NotificationManager服務(wù)名稱NOTIFICATION_SERVICE我們創(chuàng)建的Notification實(shí)例最終以什么樣的方式發(fā)送給系統(tǒng)?系統(tǒng)是如何接收并顯示?4.2.1Android的系統(tǒng)服務(wù)介紹【例4-2】系統(tǒng)通知服務(wù)示例系統(tǒng)通知服務(wù)的示例4.2.1Android的系統(tǒng)服務(wù)介紹02系統(tǒng)定時(shí)服務(wù)AlarmManager一個(gè)定時(shí)任務(wù)管理器,又稱為系統(tǒng)鬧鐘服務(wù)、系統(tǒng)時(shí)鐘服務(wù)。是一種系統(tǒng)級別的提示服務(wù),可以在約定的時(shí)間發(fā)送廣播、啟動服務(wù)、啟動Activity等。例如,我們設(shè)定一個(gè)時(shí)間,然后在該時(shí)間到來時(shí),AlarmManager為我們廣播一個(gè)我們設(shè)定的Intent延時(shí)意圖(PendingIntent)可以協(xié)助完成定時(shí)服務(wù)。系統(tǒng)定時(shí)服務(wù)AlarmManager的特點(diǎn)Pending表示的是待定、等待、即將發(fā)生。PendingIntent是一種處于pending狀態(tài)的意圖,有一個(gè)Intent將在某個(gè)待定的時(shí)刻發(fā)生??梢灾付▎未螆?zhí)行的定時(shí)任務(wù),也可以指定重復(fù)運(yùn)行的周期性任務(wù)。PendingIntent延時(shí)意圖4.2.1Android的系統(tǒng)服務(wù)介紹系統(tǒng)定時(shí)服務(wù)AlarmManager調(diào)用步驟如下:步驟123創(chuàng)建ALarmManager對象ALarmManageram
=
(ALarmManager)getSystemService(ALARM_SERVICE);定義一個(gè)延時(shí)意圖PendingIntent發(fā)出廣播調(diào)用ALarmManager的set方法,設(shè)置定時(shí)或重復(fù)提醒。【例4-3】AlarmManager時(shí)鐘服務(wù)示例AlarmManager服務(wù)主要有下面兩種應(yīng)用:【例4-3】AlarmManager時(shí)鐘服務(wù)示例在指定時(shí)長執(zhí)行某項(xiàng)操作周期性地執(zhí)行某項(xiàng)操作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ù)開啟目標(biāo)組件的方式不同,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)用需要設(shè)置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)服務(wù)4.3后臺服務(wù)Service章目錄Service
和Activity都是Context的子類。后臺服務(wù)(Service)是一種類似于Activity的組件,但Service沒有用戶操作界面,也不能自己啟動,其主要作用是提供后臺服務(wù)調(diào)用。Service不像Activity那樣當(dāng)用戶關(guān)閉應(yīng)用界面時(shí)就停止運(yùn)行,Service會一直在后臺運(yùn)行,除非明確命令其停止。4.3后臺服務(wù)通常使用Service為應(yīng)用程序提供一些只需在后臺運(yùn)行的服務(wù)或不需要界面的功能,例如從Internet下載文件、音樂播放等。Service的生命周期只有三個(gè)階段,即onCreate、onStartCommand、onDestroy。設(shè)計(jì)一個(gè)后臺服務(wù)程序,有以下三個(gè)步驟:4.3后臺服務(wù)1創(chuàng)建Service的子類重寫onCreate()方法,創(chuàng)建后臺服務(wù);重寫onStartCommand()方法,啟動后臺服務(wù);重寫onDestroy()方法,終止后臺服務(wù),并刪除所有調(diào)用。通常后臺服務(wù)的啟動,是放在一個(gè)Activity。Service的生命周期只有三個(gè)階段,即onCreate、onStartCommand、onDestroy。4.3后臺服務(wù)2創(chuàng)建Activity的子類新建Intent對象,建立Activity與Service的關(guān)聯(lián)。調(diào)用Activity的startSevice(Intent)方法啟動Service后臺服務(wù);調(diào)用Activity的stopService(lntent)方法關(guān)閉Service后臺服務(wù)。3檢查配置文件AndroidManifest.xml在<application>標(biāo)簽中查看
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新創(chuàng)業(yè)實(shí)戰(zhàn)品牌建設(shè)與推廣
- 創(chuàng)新教育背景下的人才培養(yǎng)模式探索
- 與伴侶保持精神上的默契和和諧溝通能力的重要性
- 從規(guī)范設(shè)計(jì)到嚴(yán)格管理學(xué)校實(shí)驗(yàn)室安全的全方位保障措施研究
- 創(chuàng)新驅(qū)動下個(gè)人投資如何緊跟宏觀經(jīng)濟(jì)步伐
- 戶外公益廣告牌日常維護(hù)項(xiàng)目招標(biāo)文件
- 創(chuàng)新教學(xué)下的學(xué)生情緒調(diào)適方法
- 教科版二年級上冊科學(xué)期末測試卷帶答案(模擬題)
- 傳統(tǒng)與現(xiàn)代的融合小微餐飲企業(yè)發(fā)展趨勢
- 護(hù)理技能讓生活更美好
- DWI高信號常見疾病的鑒別診斷課件-2
- 福建省三明市三元區(qū)2022-2023學(xué)年八年級上學(xué)期期末物理試卷(滬科版)
- 2024年廣東高校招收中職畢業(yè)生考試數(shù)學(xué)試卷真題(含答案解析)
- 公共外交智慧樹知到期末考試答案章節(jié)答案2024年外交學(xué)院
- 家庭教育教師培訓(xùn)會(3篇模板)
- 2024年焊工(初級)證考試題庫及答案(900題)
- 關(guān)于菜鳥驛站轉(zhuǎn)讓合同范本
- 部編版六年級上冊道德與法治期末測試卷及一套完整答案
- 2024年江西生物科技職業(yè)學(xué)院單招職業(yè)技能測試題庫帶解析答案
- 軍事理論-國家安全環(huán)境強(qiáng)化版智慧樹知到期末考試答案章節(jié)答案2024年國防大學(xué)
- 2024年北京房屋租賃合同電子版(3篇)
評論
0/150
提交評論