Android開發(fā)筆記五

一、Service學(xué)習(xí)

Service

? ? ? ? ? Service(服務(wù))是一個沒有用戶界面的在后臺運行執(zhí)行耗時操作的應(yīng)用組件祖屏。其他應(yīng)用組件能夠啟動Service助赞,并且當(dāng)用戶切換到另外的應(yīng)用場景,Service將持續(xù)在后臺運行袁勺。另外雹食,一個組件能夠綁定到一個service與之交互(IPC機制),例如期丰,一個service可能會處理網(wǎng)絡(luò)操作群叶,播放音樂,操作文件I/O或者與內(nèi)容提供者(content provider)交互钝荡,所有這些活動都是在后臺進行街立。

Service有兩種狀態(tài),“啟動的”和“綁定”:

? ? ? ?通過startService()啟動的服務(wù)處于“啟動的”狀態(tài)埠通,一旦啟動赎离,service就在后臺運行,即使啟動它的應(yīng)用組件已經(jīng)被銷毀了端辱。通常started狀態(tài)的service執(zhí)行單任務(wù)并且不返回任何結(jié)果給啟動者梁剔。比如當(dāng)下載或上傳一個文件,當(dāng)這項操作完成時舞蔽,service應(yīng)該停止它本身荣病。

? ? ? ?還有一種“綁定”狀態(tài)的service,通過調(diào)用bindService()來啟動渗柿,一個綁定的service提供一個允許組件與service交互的接口个盆,可以發(fā)送請求、獲取返回結(jié)果,還可以通過夸進程通信來交互(IPC)砾省。綁定的service只有當(dāng)應(yīng)用組件綁定后才能運行鸡岗,多個組件可以綁定一個service,當(dāng)調(diào)用unbind()方法時编兄,這個service就會被銷毀了。

另外声登,在官方的說明文檔中還有一個警告:

? ? ? service與activity一樣都存在與當(dāng)前進程的主線程中狠鸳,所以,一些阻塞UI的操作悯嗓,比如耗時操作不能放在service里進行件舵,比如另外開啟一個線程來處理諸如網(wǎng)絡(luò)請求的耗時操作。如果在service里進行一些耗CPU和耗時操作脯厨,可能會引發(fā)ANR警告铅祸,這時應(yīng)用會彈出是強制關(guān)閉還是等待的對話框。所以合武,對service的理解就是和activity平級的临梗,只不過是看不見的,在后臺運行的一個組件稼跳,這也是為什么和activity同被說為Android的基本組件盟庞。

Service生命周期中的一些方法:


Service生命周期

在新建Service類后需要在Mainfest中注冊


注冊

IntendService(異步處理服務(wù))

IntentService繼承自Service,Service不是一個單獨的進程 汤善,它和應(yīng)用程序在同一個進程中什猖。

Service也不是一個線程,所以我們應(yīng)該避免在Service里面進行耗時的操作红淡。

把耗時的操作直接放在Service的onStart方法中不狮,這樣會出現(xiàn)(ANR)Application Not Responding!

如果有耗時操作在Service里在旱,就必須開啟一個單獨的線程來處理摇零。

IntentService使用隊列的方式將請求的Intent加入隊列,然后開啟一個worker thread(線程)來處理隊列中的Intent颈渊,對于異步的startService請求遂黍,IntentService會處理完成一個之后再處理第二個,每一個請求都會在一個單獨的worker thread中處理俊嗽,不會阻塞應(yīng)用程序的主線程雾家,這里就給我們提供了一個思路,如果有耗時的操作與其在Service里面開啟新線程還不如使用IntentService來處理耗時操作绍豁。

二芯咧、BroadcastReceiver學(xué)習(xí)

四大組件之一:廣播接收器,沒有用戶界面【挫可以分為順序廣播和普通廣播還有LocalBroadcastManager(本應(yīng)用的廣播)邪铲。廣播有適用范圍不能濫用。

兩種注冊形式:靜態(tài)注冊 ?動態(tài)注冊

Context.sendBroadcast接口發(fā)送廣播无拗,接收者通過Context.registerReceiver()動態(tài)注冊

在AndroidManifest.xml文件中通過標(biāo)簽靜態(tài)注冊


動態(tài)注冊


發(fā)送廣播

接收廣播

三带到、webview學(xué)習(xí)

訪問網(wǎng)頁(注冊網(wǎng)絡(luò)權(quán)限):

webView = (WebView) findViewById(R.id.webView);

webView.loadUrl(“http://www.baidu.com“);

webView.setWebViewClient(newWebViewClient(){

@Override

//重新加載

public boolean shouldOverrideUrlLoading(WebView view, String url) {

//在這里加載

urlview.loadUrl(url);?

return ? super.shouldOverrideUrlLoading(view, url);}

});

四、widget學(xué)習(xí)

? ? ? ? App Widget是應(yīng)用程序窗口小部件(Widget)是微型的應(yīng)用程序視圖英染,它可以被嵌入到其它應(yīng)用程序中(比如桌面)并接收周期性的更新揽惹。你可以通過一個App Widget Provider來發(fā)布一個Widget。

1四康、注冊App Widget


2搪搏、初始化xml文件


3、繼承AppWidgetProvider

4闪金、AppWidgetProvider繼承自 BroadcastReceiver疯溺,它能接收 widget 相關(guān)的廣播,例如 widget 的更新哎垦、刪除囱嫩、開啟和禁用等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末撼泛,一起剝皮案震驚了整個濱河市挠说,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌愿题,老刑警劉巖损俭,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異潘酗,居然都是意外死亡杆兵,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門仔夺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來琐脏,“玉大人,你說我怎么就攤上這事缸兔∪杖梗” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵惰蜜,是天一觀的道長昂拂。 經(jīng)常有香客問我,道長抛猖,這世上最難降的妖魔是什么格侯? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任鼻听,我火速辦了婚禮,結(jié)果婚禮上联四,老公的妹妹穿的比我還像新娘撑碴。我一直安慰自己,他們只是感情好朝墩,可當(dāng)我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布醉拓。 她就那樣靜靜地躺著,像睡著了一般收苏。 火紅的嫁衣襯著肌膚如雪廉嚼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天倒戏,我揣著相機與錄音,去河邊找鬼恐似。 笑死杜跷,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的矫夷。 我是一名探鬼主播葛闷,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼双藕!你這毒婦竟也來了淑趾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤忧陪,失蹤者是張志新(化名)和其女友劉穎扣泊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嘶摊,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡延蟹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了叶堆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阱飘。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖虱颗,靈堂內(nèi)的尸體忽然破棺而出沥匈,到底是詐尸還是另有隱情,我是刑警寧澤忘渔,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布高帖,位于F島的核電站,受9級特大地震影響辨萍,放射性物質(zhì)發(fā)生泄漏棋恼。R本人自食惡果不足惜返弹,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望爪飘。 院中可真熱鬧义起,春花似錦、人聲如沸师崎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽犁罩。三九已至齐蔽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間床估,已是汗流浹背含滴。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留丐巫,地道東北人谈况。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像递胧,于是被迫代替她去往敵國和親碑韵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容