版權(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ì)圖像和動(dòng)畫數(shù)據(jù)存儲(chǔ)廣播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后臺(tái)服務(wù)章目錄4.1消息廣播-÷×+在Android中,有一些操作完成以后,會(huì)發(fā)送廣播,比如說發(fā)出一條短信,或打出一個(gè)電話,如果某個(gè)程序接收了這個(gè)廣播,就會(huì)做相應(yīng)的處理。這個(gè)廣播跟我們傳統(tǒng)意義中的電臺(tái)廣播有些相似之處。之所以叫做廣播,就是因?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)啟動(dòng)一個(gè)程序計(jì)時(shí)器,在很短時(shí)間內(nèi)廣播接收器會(huì)被銷毀,因此廣播不適合傳遞數(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后臺(tái)服務(wù)章目錄4.2系統(tǒng)服務(wù)Android有許多標(biāo)準(zhǔn)系統(tǒng)服務(wù),如窗口管理服務(wù)WindowManager、通知管理服務(wù)NotificationManager、振動(dòng)管理服務(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、振動(dòng)管理服務(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提供了文字、聲音、振動(dòng)等屬性。Notification主要涉及NotificationCompat.Builder類和NotificationManager類。調(diào)用NotificationManager對象的notify()方法,把通知發(fā)送到狀態(tài)欄。4.2.1Android的系統(tǒng)服務(wù)介紹完成一個(gè)系統(tǒng)通知服務(wù),涉及到的知識(shí)點(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)級(jí)別的提示服務(wù),可以在約定的時(shí)間發(fā)送廣播、啟動(dòng)服務(wù)、啟動(dòng)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ù)提醒?!纠?-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()舉例:呼叫電話號(hào)碼的Action屬性值為Intent.ACTION_CALL
或Intent.ACTION_DIAL在活動(dòng)程序中調(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后臺(tái)服務(wù)Service章目錄Service
和Activity都是Context的子類。后臺(tái)服務(wù)(Service)是一種類似于Activity的組件,但Service沒有用戶操作界面,也不能自己啟動(dòng),其主要作用是提供后臺(tái)服務(wù)調(diào)用。Service不像Activity那樣當(dāng)用戶關(guān)閉應(yīng)用界面時(shí)就停止運(yùn)行,Service會(huì)一直在后臺(tái)運(yùn)行,除非明確命令其停止。4.3后臺(tái)服務(wù)通常使用Service為應(yīng)用程序提供一些只需在后臺(tái)運(yùn)行的服務(wù)或不需要界面的功能,例如從Internet下載文件、音樂播放等。Service的生命周期只有三個(gè)階段,即onCreate、onStartCommand、onDestroy。設(shè)計(jì)一個(gè)后臺(tái)服務(wù)程序,有以下三個(gè)步驟:4.3后臺(tái)服務(wù)1創(chuàng)建Service的子類重寫onCreate()方法,創(chuàng)建后臺(tái)服務(wù);重寫onStartCommand()方法,啟動(dòng)后臺(tái)服務(wù);重寫onDestroy()方法,終止后臺(tái)服務(wù),并刪除所有調(diào)用。通常后臺(tái)服務(wù)的啟動(dòng),是放在一個(gè)Activity。Service的生命周期只有三個(gè)階段,即onCreate、onStartCommand、onDestroy。4.3后臺(tái)服務(wù)2創(chuàng)建Activity的子類新建Intent對象,建立Activity與Service的關(guān)聯(lián)。調(diào)用Activity的startSevice(Intent)方法啟動(dòng)Service后臺(tái)服務(wù);調(diào)用Activity的stopService(lntent)方法關(guān)閉Service后臺(tái)服務(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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度大棚蔬菜種植與農(nóng)業(yè)休閑農(nóng)業(yè)項(xiàng)目合作協(xié)議2篇
- 二零二五年度南京市房地產(chǎn)經(jīng)紀(jì)行業(yè)勞務(wù)派遣及銷售服務(wù)合同
- 2025年度豬場生物安全防護(hù)與防疫物資供應(yīng)合同4篇
- 二手房地產(chǎn)交易安全保障與監(jiān)管合同
- 2025年水果采摘與農(nóng)家樂特色農(nóng)產(chǎn)品銷售合同3篇
- 二零二五年度企業(yè)股權(quán)激勵(lì)計(jì)劃轉(zhuǎn)讓合同
- 2025年大數(shù)據(jù)處理與分析軟件服務(wù)采購協(xié)議3篇
- 二零二五年建筑資質(zhì)掛靠與工程進(jìn)度調(diào)整服務(wù)協(xié)議3篇
- 2025年度二手房買賣合同附加物業(yè)管理費(fèi)結(jié)算協(xié)議3篇
- 二零二五年度大型商業(yè)綜合體工程分包管理協(xié)議2篇
- 四川省高職單招電氣技術(shù)類《電子基礎(chǔ)》歷年考試真題試題庫(含答案)
- 中級(jí)半導(dǎo)體分立器件和集成電路裝調(diào)工技能鑒定考試題庫(含答案)
- 2024年江西生物科技職業(yè)學(xué)院單招職業(yè)技能測試題庫帶解析答案
- 橋本甲狀腺炎-90天治療方案
- (2024年)安全注射培訓(xùn)課件
- 2024版《建設(shè)工程開工、停工、復(fù)工安全管理臺(tái)賬表格(流程圖、申請表、報(bào)審表、考核表、通知單等)》模版
- 部編版《道德與法治》六年級(jí)下冊教材分析萬永霞
- 酒店人防管理制度
- 油田酸化工藝技術(shù)
- 上海高考英語詞匯手冊列表
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)五 其他內(nèi)容類型的生產(chǎn)
評論
0/150
提交評論