Service:一直在后臺運行,它沒有用戶界面,所以絕不會到前臺來。
如果某個程序需要在運行時向用戶呈現(xiàn)某種界面,或者該程序需要與用戶交互,就需要使用Activity,否則就應(yīng)該考慮使用Service了。
開發(fā)Service的步驟和開發(fā)Activity非常相似,開發(fā)Service的組件需要先開發(fā)一個Service子類,然后在androidManifest.xml文件配置,可通過配置<intent-filter.../>元素指定它可被那些Intent啟動。

Service
Service的框架組件有onCreate()、onStartCommand()、onDestroy()、onBind()等方法,重寫這些方法只是簡單地輸出了一條字符串,如果希望Service組件做某些事情,那么只要在onCreate()或onStartCommand()方法中定義相關(guān)的功能代碼即可。

Bound

Bound與Started
BroadcastReceiver

BroadcastReceiver有兩種注冊方式,分別是靜態(tài)注冊和動態(tài)注冊

靜態(tài)注冊

動態(tài)注冊
WebView
其下有三種方法實現(xiàn)

WebViewClient

WebChromeClient

WebSettings



只有設(shè)置了這項才會很快的從一個頁面跳轉(zhuǎn)到網(wǎng)絡(luò)的頁面

JS調(diào)用原生APP,原生APP調(diào)用JS

WebView導(dǎo)航與歷史紀(jì)錄
widget的注冊:

Widget的特殊XML

如何調(diào)試:
第一步:首先要開始調(diào)試狀態(tài)。

調(diào)試
第二步:輸入網(wǎng)址chrome://inspect,找到相應(yīng)的USB(要打開你的模擬器),點擊inspect。

調(diào)試
更深入的使用:

總結(jié)WebView:

Widget:

如何創(chuàng)建一個Widget呢,首先我們要先寫一個TestWidget的類,這個類繼承于AppWidgetProvider。

然后我們在Mainfest里面定義,定義一個action,一個meta-data,在resource定義一個layout,layout是一個xml。

創(chuàng)建一個xml,在xml定義一個layout,還有它的一些配置。

Widget的onReceive和onUpdate。

交互方法

交互方法