成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

有關Android 配置問題進行講析

移動開發 Android
下面著重介紹說明Android 配置問題,要了解什么是Android ?所謂的Android:是基于Linux內核的軟件平臺和操作系統。

對于每一個IT行業的從業人員,無論是開發人員、項目經理、還是測試人員,掌握了Android 配置問題這個很難理解的難題會使我們的下一階段的工作更加輕松。

比如,在Symbian中,你要等待一個來電消息,顯示歸屬地之類的,必須讓自己的應用忍辱負重偷偷摸摸的開機啟動,消隱圖標隱藏任務項,潛伏在后臺,監控著相關事件,等待轉瞬即逝的出手機會。這是一件很發指的事情,不但白白耗費了系統資源,還留了個流氓軟件的罵名,這真是賣力不討好的正面典型。

Android 配置問題中,充分考慮了廣泛的這類需求,于是就有了Broadcast Receiver這樣的一個組件。每個Broadcast Receiver都可以接收一種或若干種Intent作為觸發事件(有不知道Intent的么,后面會知道了...)。

當發生這樣事件的時候,系統會負責喚醒或傳遞消息到該Broadcast Receiver,任其處置。在此之前和這以后,Broadcast Receiver是否在運行都變得不重要了,及其綠色環保。這個實現機制,顯然是基于一種注冊方式的,Broadcast Receiver將其特征描述并注冊在系統中,根據注冊時機,可以分為兩類,被我冠名為冷熱插拔。

所謂冷插拔,就是Broadcast Receiver的相關信息寫在配置文件中(求配置文件詳情?稍安,后續奉上...),系統會負責在相關事件發生的時候及時通知到該Broadcast Receiver,這種模式適合于這樣的場景。某事件方式 -> 通知Broadcast -> 啟動相關處理應用。

比如,監聽來電、郵件、短信之類的,都隸屬于這種模式。而熱插拔,顧名思義,插拔這樣的事情,都是由應用自己來處理的,通常是在OnResume事件中通過registerReceiver進行注冊,在OnPause等事件中反注冊,通過這種方式使其能夠在運行期間保持對相關事件的關注。

比如,一款優秀的詞典軟件(比如,有道詞典...),可能會有在運行期間關注網絡狀況變化的需求,使其可以在有廉價網絡的時候優先使用網絡查詢詞匯,在其他情況下,首先通過本地詞庫來查詞,從而兼顧腰包和體驗。

一舉兩得一石二鳥一箭雙雕(注,真實在有道詞典中有這樣的能力,但不是通過Broadcast Receiver實現的,僅以為例...)。而這樣的監聽,只需要在其工作狀態下保持就好,不運行的時候,管你是天大的網路變化,與我何干。其模式可以歸結為:啟動應用 -> 監聽事件 -> 發生時進行處理。

除了接受消息的一方有多種模式,發送者也有很重要的選擇權。通常,發送這有兩類,一個就是系統本身,我們稱之為系統Broadcast消息,在reference/android/content/Intent.html的Standard Broadcast Actions。

可以求到相關消息的詳情。除了系統,自定義的應用可以放出Broadcast消息,通過的接口可以是Context.sendBroadcast,抑或是Context.sendOrderedBroadcast。前者發出的稱為Normal broadcast,所有關注該消息的Receiver,都有機會獲得并進行處理;后者放出的稱作Ordered broadcasts,顧名思義,接受者需要按資排輩,排在后面的只能吃前面吃剩下的。

前面的心情不好私吞了,后面的只能喝西北風了。當Broadcast Receiver接收到相關的消息,它們通常做一些簡單的處理,然后轉化稱為一條Notification,一次振鈴。一次震動,抑或是啟動一個Activity進行進一步的交互和處理。所以,雖然Broadcast整個邏輯不復雜,卻是足夠有用和好用,它統一了Android 配置問題的事件廣播模型,讓很多平臺都相形見絀了。

Content Provider,聽著就和數據相關,沒錯,這就是Android提供的第三方應用數據的訪問方案。在Android 配置問題中,對數據的保護是很嚴密的。除了放在SD卡中的數據,一個應用所持有的數據庫、文件、等等內容。

都是不允許其他直接訪問的,但有時候,溝通是必要的,不僅對第三方很重要,對應用自己也很重要。比如,一個聯系人管理的應用。如果不允許第三方的應用對其聯系人數據庫進行增刪該查,整個應用就失去了可擴展力,必將被其他應用拋棄,然后另立門戶,自個玩自個的去了。

Andorid當然不會真的把每個應用都做成一座孤島,它為所有應用都準備了一扇窗,這就是Content Provider。應用想對外提供的數據。可以通過派生ContentProvider類,封裝成一枚Content Provider。

每個Content Provider都用一個uri作為獨立的標識,形如:content://com.xxxxx。所有東西看著像REST的樣子,但實際上,它比REST更為靈活。和REST類似,uri也可以有兩種類型,一種是帶id的,另一種是列表的。

但實現者不需要按照這個模式來做,給你id的uri你也可以返回列表類型的數據,只要調用者明白,就無妨,不用苛求所謂的REST。另外,Content Provider不和REST一樣只有uri可用,還可以接受Projection,Selection,OrderBy等參數,這樣,就可以像數據庫那樣進行投影,選擇和排序。查詢到的結果。

【編輯推薦】

  1. Android應用程序組建原理深入剖析
  2. Android SMS短信服務相關概念簡述
  3. PythonAndroid數據庫相關代碼解讀
  4. PythonAndroid安裝卸載程序具體操作方法解析
  5. Android應用程序的四個關鍵點
責任編輯:chenqingxiang 來源: CSDN
相關推薦

2009-12-25 16:46:48

ADO調用存儲過程

2010-02-22 11:02:55

Python功能

2010-02-05 18:04:36

Android程序框架

2010-01-20 11:02:42

C++開發環境

2010-03-01 13:19:21

Python線程內容

2010-01-05 15:48:51

JQuery緩存

2010-02-04 13:43:20

Android操作系統

2009-12-09 09:49:56

VS .NET 200

2010-03-18 15:57:07

太網交換機

2010-03-19 10:25:34

局域網交換機

2010-03-02 15:10:27

Android系統

2010-02-22 13:20:58

Python中文問題

2010-02-26 15:43:02

Python線程

2010-01-14 09:27:44

C++語言

2010-03-03 16:51:13

Android版本

2010-03-04 17:13:27

Android平臺

2010-03-02 13:51:05

Android開發平臺

2010-03-01 17:15:03

Python程序開發

2010-03-10 11:26:29

交換機配置

2010-02-06 09:45:49

Android屬性
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 人人爽人人爽 | 亚洲国产精品91 | 国产精品.xx视频.xxtv | 性色视频 | 国产精品高清一区二区三区 | 少妇性l交大片免费一 | 日本亚洲欧美 | av超碰 | 高清18麻豆 | 天天爽综合网 | 一区二区三区在线播放 | 国产一区二区免费 | 国产999精品久久久久久 | 天天爱av | www.青青草| 欧美性一区二区三区 | 亚洲精品国产成人 | 99亚洲综合| 久久久久se | 国产精品久久二区 | 成人a视频片观看免费 | 久久综合伊人 | 欧美成人高清视频 | 国产一区二区免费电影 | 成人一区二区三区 | 成人网在线 | 成年人的视频免费观看 | 91精品国产一区二区三区动漫 | 精品一区二区三区四区五区 | 国产精品一区久久久 | 亚洲国产欧美在线 | 国产精品久久久久久福利一牛影视 | 亚洲国产成人在线观看 | 成人国产精品免费观看视频 | 九九爱这里只有精品 | 亚洲激情第一页 | 色av一区 | 一级二级三级黄色 | 一区二区日韩 | 国产在线观看 | 一级片网址 |