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

學(xué)習(xí)Android程序時(shí)總結(jié)之談

移動(dòng)開發(fā) Android
學(xué)習(xí)Android程序時(shí)需要注意很多事情,比如什么是Android程序,以及Android程序的構(gòu)成是什么?

希望我學(xué)習(xí)Android程序時(shí)的一點(diǎn)經(jīng)驗(yàn)?zāi)芙o大家?guī)韼椭瑢?dǎo)致WebDeployment出錯(cuò)的原因也許還有很多,不過在你遇到錯(cuò)誤時(shí),可以先檢查一下你程序中的字符串,暫時(shí)把他們置為””,試試看。沒準(zhǔn)就是他引起的問題啊。

1. onUnsolicite(主動(dòng)上報(bào)響應(yīng))
static void onUnsolicited (const char *s, const char *sms_pdu);短信的AT設(shè)計(jì)真是麻煩的主,以致這個(gè)函數(shù)的第二個(gè)參數(shù)完全就是為它準(zhǔn)備的。

response 的主要的解析過程,由at_tok.c中的函數(shù)完成,其實(shí)就是字符串按塊解析,具體的解析方式由每條命令或上報(bào)信息自行決定。這里不再詳述,onUnsolicited只解析出頭部(一般是+XXXX的形式),然后按類型決定下一步操作,操作為 RIL_onUnsolicitedResponse和RIL_requestTimedCallback兩種。

a)RIL_onUnsolicitedResponse:將 unsolicited的信息直接返回給上層。通過Parcel傳遞,將 RESPONSE_UNSOLICITED,unsolResponse(request號(hào))寫入Parcel先,然后通過 s_unsolResponses數(shù)組,查找到對應(yīng)的responseFunction完成進(jìn)一步的的解析,存入Parcel中。最終通過 sendResponse將其傳遞回原進(jìn)程。

流程:
sendResponse-->sendResponseRaw-->blockingWrite-->write to s_fdCommand(前面建立起來的和上層框架的socket連接)這些步驟之后有一些喚醒系統(tǒng)等其他操作。不再詳述。通過event機(jī)制(參考文章二)實(shí)現(xiàn)的timer機(jī)制,回調(diào)對應(yīng)的內(nèi)部處理函數(shù)。

通過internalRequestTimedCallback將回調(diào)添加到event循環(huán),最終完成callback上掛的函數(shù)的回調(diào)。比如pollSIMState,onPDPContextListChanged等回調(diào), 不用返回上層, 內(nèi)部處理就可以。

2. switch s_type(命令的具體響應(yīng))及handleFinalResponse(標(biāo)準(zhǔn)響應(yīng))命令的類型(s_type)在send command的時(shí)候設(shè)置(參考文章二)。

有NO_RESULT,NUMERIC,SINGLELINE,MULTILINE幾種,供不同的AT使用。比如AT+CSQ是singleline, 返回at+csq=xx,xx,再加一行OK,比如一些設(shè)置命令,就是no_result, 只有一行OK或ERROR。

這幾個(gè)類型的解析都很相仿,通過一定的判斷(比較AT頭標(biāo)記等),如果是對應(yīng)的響應(yīng),就通過 addIntermediate掛到一個(gè)臨時(shí)結(jié)果sp_response->p_intermediates隊(duì)列里。如果不是對應(yīng)響應(yīng),那它其實(shí)應(yīng)該是穿插其中的自動(dòng)上報(bào),用onUnsolicite來處理。

具體響應(yīng),只起一個(gè)獲取響應(yīng)信息到臨時(shí)結(jié)果,等待具體分析的作用。無論有無具體響應(yīng),最終都得以標(biāo)準(zhǔn)響應(yīng)handleFinalResponse來完成,也就是接受到OK,ERROR等標(biāo)準(zhǔn)response來結(jié)束,這是大多數(shù)AT命令的規(guī)范。

Android會(huì)設(shè)置s_commandcond這一object,學(xué)習(xí)Android程序也就是at_send_command_full_nolock等待的對象。到這里,響應(yīng)的完整信息已經(jīng)完全獲得,send command可以進(jìn)一步處理返回的信息了(臨時(shí)結(jié)果,以及標(biāo)準(zhǔn)返回的成功或失敗,都在sp_response中)。

可以看到確實(shí)是通過at_send_command_singleline來進(jìn)行的操作,response在p_response中。p_response如果返回失敗(也就是標(biāo)準(zhǔn)響應(yīng)的ERROR等造成),則通過RIL_onRequestComplete發(fā)送返回?cái)?shù)據(jù)給上層,結(jié)束命令。如果成功,則進(jìn)一步分析p_response->p_intermediates, 同樣是通過at_tok.c里的函數(shù)進(jìn)行分析。并同樣將結(jié)果通過RIL_onRequestComplete返回。

RIL_onRequestComplete:
RIL_onRequestComplete和RIL_onUnsolicitedResponse很相仿,功能也一致。

通過Parcel來傳遞回上層,同樣是先寫入RESPONSE_SOLICITED(區(qū)別于 RESPONSE_UNSOLICITED),pRI->token(上層傳下的request號(hào)),錯(cuò)誤碼(send command的錯(cuò)誤,不是AT響應(yīng))。

學(xué)習(xí)Android程序如果有AT響應(yīng),通過訪問pRI->pCI->responseFunction來完成具體 response的解析,并寫入Parcel。然后通過同樣的途徑:完成最終的響應(yīng)傳遞。到這里,我們分析了自動(dòng)上報(bào)與命令響應(yīng),其實(shí)response部分,也就告一段落了。三篇分析RIL的文章也到此結(jié)束。

【編輯推薦】

  1. Android應(yīng)用程序組建原理深入剖析
  2. Android SMS短信服務(wù)相關(guān)概念簡述
  3. PythonAndroid數(shù)據(jù)庫相關(guān)代碼解讀
  4. PythonAndroid安裝卸載程序具體操作方法解析
  5. Android應(yīng)用程序的四個(gè)關(guān)鍵點(diǎn)
責(zé)任編輯:chenqingxiang 來源: 計(jì)世網(wǎng)
相關(guān)推薦

2010-02-07 15:12:24

學(xué)習(xí)Android

2010-02-02 13:37:12

如何學(xué)習(xí)Python

2010-02-22 09:43:42

學(xué)習(xí)Python語言

2010-02-05 17:10:01

Android Ado

2010-01-18 10:53:26

2010-01-21 18:00:59

C++語言

2010-02-03 15:52:02

Python學(xué)習(xí)研究

2010-02-05 15:47:00

Android JDK

2010-03-02 14:37:05

Android開源語言

2010-01-27 15:54:49

C++實(shí)現(xiàn)程序

2010-01-27 16:52:31

C++語言學(xué)習(xí)

2010-01-26 17:53:05

C++入門學(xué)習(xí)

2010-03-02 16:50:31

Android操作系統(tǒng)

2010-01-25 11:21:01

C++語法

2011-07-04 13:49:17

2009-12-23 10:07:57

學(xué)習(xí)WPF

2009-11-16 15:32:05

PHP數(shù)組函數(shù)

2010-01-21 17:22:21

VC++

2010-04-30 14:31:58

Unix系統(tǒng)

2010-02-24 09:39:25

Python交互式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 人人种亚洲 | 欧美日日| 欧美日韩一区二区在线播放 | 色在线看| 一区二区三区国产 | 久久久久国产视频 | 国产精品18hdxxxⅹ在线 | 99精品免费视频 | 久久综合一区二区三区 | 免费av播放 | 日韩一区二区三区在线播放 | 国产乱码精品一区二区三区五月婷 | 黄色大片视频 | a亚洲精品 | 一区二区精品在线 | 精品国产一区二区三区性色av | 91亚洲国产精品 | 久久狠狠| 影音先锋亚洲资源 | 亚洲成人精品一区二区 | 欧美亚洲成人网 | 日韩一区二区在线视频 | 日本二区 | 亚洲欧洲激情 | 国产一区二区黑人欧美xxxx | 亚洲综合成人网 | 色在线免费视频 | 色网在线看 | 日韩久草| 91国产在线播放 | 日韩中文字幕视频在线观看 | 久草精品在线 | 自拍 亚洲 欧美 老师 丝袜 | 色桃网| 超碰在线网站 | 国产成人精品久久二区二区 | 日韩在线免费 | 一区二区三区在线电影 | 国产亚洲精品美女久久久久久久久久 | www.日本三级| 久久新 |