久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

Android 學習總結1(范文)

時間:2019-05-12 16:38:36下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《Android 學習總結1(范文)》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《Android 學習總結1(范文)》。

第一篇:Android 學習總結1(范文)

1應用程序配置全屏

應用程序配置全屏:

android:theme=“@android:style/Theme.NoTitleBar.Fullscreen” />

【bug】

但是系統提示的是:

android:style/Theme_NoTitleBar_Fullscreen

——錯誤的配置 Android的bug。

去掉標題欄:

android:theme=“@android:style/Theme.NoTitleBar” 2 Dialog

Dialog dialog = new AlertDialog.Builder(LoginActivity.this)

.setTitle(“退出確認”)

.setMessage(“確定退出程序?”)

.setPositiveButton(“確定”,new DialogInterface.OnClickListener(){

@Override public void onClick(DialogInterface dialog,@Override int which){})new DialogInterface.OnClickListener(){ //事件處理} public void onClick(DialogInterface dialog,.setNeutralButton(“取消”,int which){//取消

} }).create();dialog.show();

3只有豎屏

4線程

new Thread(){public void run(){} try {} sleep(3000);// 等待三秒,自動進入軟件主窗口 Intent intent = new Intent(MainActivity.this,LoginActivity.class);intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(intent);finish();e.printStackTrace();} catch(Exception e){ }.start();

5Tabhost 總結

// 生成一個TabSpec對象,這個對象代表了一個頁

TabHost.TabSpec listSpec = tabHost.newTabSpec(“tabSpecTag”);

在listSpec添加其他屬性時 通過

// 設置該頁的indicator listSpec.setIndicator(bookTab);

此bookTab 是一個View對象 例如布局 布局里面可以套View 這樣實現自定義選項卡的效果

6獲取在layout布局中xxx.xml的實例

LayoutInflatermInflater =

(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

mInflater.inflate(R.layout.item1, null);

此處item1就是 一個布局文件

第二篇:Android學習總結

Android學習總結

零零碎碎的總結:

1.客戶端的功能邏輯不難,UI界面也不難,但寫UI花的時間是寫功能邏輯的兩倍.2.寫代碼前的思考過程非常重要,即使在簡單的功能,也需要在本子上把該功能的運行過程寫出來.3.要有自己的知識庫,可以是一個工具類,把寫過的,看過的好的代碼放進去,也可以是一個筆記本軟件.因為只有放在知識庫里的東西,才是你最重要的財富.4.如果你想做自由職業者,你需要學英語,因為在國外的盈利比國內多很多.如果你想進大公司,好公司,你需要學英語.你想深入學習android,但中文的android文章太少了,你查查百度,到處都是copy來copy去的hellword,所以,你需要學英語.如果你想出國,你需要學英語.5.Http協議要研究透徹.http的信息頭有什么信息,分別代表什么,信息體有什么信息,代表什么,都要搞的明明白白.scoket也是一樣.6.在eclipse里的layout文件都有graphical Layout.通過這個好好的把UI調整好.7.Android里的junit每次運行都會打包新的apk到設備上跑.效率非常慢.如果是跟android無關的測試,最好自己建立一個單純的java項目做測試.8.面試的時候不要覺得自己提的薪水太高,物以稀為貴明白嗎?不管你的期望薪資多少,都有可能實現,這只是時間問題.9.如果一家小公司通過獵頭找到你,即使公司在小,也比外面那些40,50人的公司還要好.不要覺得公司不行,擔心會倒閉.放心吧,至少活1年是沒問題的.10.不要把自己綁在android上,有空也研究下IOS(最近小弟就準備研究ios,剛買了6本書...).11.移動互聯網最少還有10年的快速增長.android最少還有兩年的快速增長.走android這條路是不會錯的.12.有空多學點開放平臺的SDK.比如新浪微博,騰訊微博,淘寶平臺,支付寶移動支付平臺,快錢移動支付平臺等等..這些都是不愁沒市場的.13.即使技術再差,也要發布一個應用到market上去.因為這樣你才了解做一個應用的邏輯.14.每個月拿到薪水省500-1000元出來.這些錢投在買學習資料,去培訓班上課...在培訓班,花再多的錢也是值得的.15.你真正的價值在項目經驗和對底層的認識上.不要忽略基礎知識.16.如果有空把Android的源代碼看一下.底層的東西很枯燥,但這些很值得學.17..程序員其實是藝術家.代碼重構和設計模式,是非常非常重要的東西,必須要學

18.不要去維護一個項目,要去做一個項目.19.一開始不要輕易去大公司,雖然大公司是可以讓你呆一輩子的.但你的起點低,以后成就也低.20:每天早上提前20分鐘上班,5分鐘把今天的工作計劃寫好.15分鐘用來看各大It論壇的新聞.21:如果以前沒做過java,那就把SSH看下,自己搭建一個小服務器.這是為了接私活用.22:PS一定要學,接私活用.23:多下載市面上好的應用,每天都用,只有這樣你才能了解市場.現在所有的APK都可以反編譯,看源代碼麻煩,但看layout和圖片很容易,所以....你懂的.24.要有羞恥心.25.老板僅僅要求你把東西做完,需求完成.但你必須對自己要更嚴格一點.寫一段代碼,從網上復制一份代碼,并不是可以用就行了,你還必須明白他的原理,為什么這樣就可以?這才是對你最有用的地方,這也是你今后薪資增長的保證.26.要懂得舍得.移動領域發展太快,必要時必須要用錢換時間.不然你會遠遠落后別人(我之前花了4000大洋去培訓班學IOS三天).27.要明白自己想要什么,什么才能最大性價比提高你的能力.對我來說,能讓我提高最大的,就是Android和IOS同時會,并且自己可以做架構設計.28.看android技術書籍最快的學習方法,先通讀一次.然后把書本上的demo一個一個寫出來.不要覺得太容易不去寫.很多東西都是這樣,看起來簡單,但做起來難.最后再對照自己寫出來的程序代碼去理解書本的意思.29.應用和游戲是2個方向,沒有一個公司會同時做游戲又做應用,即使是外包公司,大多也只做一塊.專精一個就可以了.30.每次做完一個項目,要強迫自己做總結,通過這個項目,我學到了什么新技術?犯了哪些

SB錯誤?

31.一家小公司,如果有正式財務部,那肯定是正規的,不要擔心欠薪問題.如果沒有,就說不準了.bbs.12580life.com

第三篇:Android學習總結 20110325專題

Android學習總結

在這段時間主要對Android平臺有了一定的了解,對一些簡單的設計也有了一定的掌握Android概念

Android是一個基于Linux核心的開放手持設備(主要是手機)平臺操作系統,與Windows Moble、Symbian等手機操作系統處于同一級別。“Android大獎賽“首頁上列出的可能設計方向

多媒體工具社交網絡新聞、資訊工具環保、慈善協作生產力工具Android Developer Challenge(ADC)游戲實時資訊服務嶄新的用戶界面您想到的應用程序項目構架

src/:源代碼(sourse)目錄

“src”目錄包含了“Android應用程序”各個程序源文件。對于上例 ”Bmi.java”是新 序項目中的主要程序塊。gen/:自動生成(Generate)目錄

gen目錄中存放所有自動生成的文件。最關鍵就是R.java,這個文件是自動產生的,與”res”目錄下的XML文件內容同步更新。

Android<版本號>/:參考函數目錄

此目錄的作用是將AndroidSDK里所有可呼叫的類、方法函數,分門別類的列出,好方便開發者來參考。

assert/:對此目錄目前還不是太懂 res/:資源(Resource)目錄

res目錄存放所有程序中用到的資源文件。在里邊還有兩個經常訪問的目錄,分別 “layout/:頁面布局(layout)目錄”和“values/:參數值(values)目錄”

“AndroidManifest.xml”是Android應用程序的功能列表,每個應用程序都在這個文件中,列出該程序所提供的功能。我完成的BMI程序

此程序是我參考書上的例子所完成的程序。

BMI,英文全稱:Body Mass Index,中文名稱:身高體重指數,是一個計算值,整個程序的思路是當我們在對應的文本框內輸入身高(cm)、體重(kg),輸入完成后按下“計算BMI”鍵,屏幕上就會顯示計算結果,并彈出“你應該節食”、或“你應該多吃點”等健康建議的信息框。

健康指標的計算方法是:身高(height)/(體重(weight)/100)只要BMI值超過25時就算偏胖、BMI值低于20就算偏瘦,介于這之間算正常。

下面是我完成的程序界面:

計算得到的BMI值是20.57,在20—25之間,體型正常。由于我對兩個文本框內輸入的內容進行了限制,因此只容許輸入數字

BMI值為25.56,信息框彈出“你該節食了”

在界面的下側有一個“健康小常識按鈕”,當點擊此按鈕時,會鏈接到一個有關健康生活小常識的網頁上:

在每次點擊“計算BMI值”按鈕后首先會彈出一個消息框,消息框中包括兩個按 鈕,當點擊確認按鈕時消息框消失;當點擊首頁按鈕時會連接到相應的網頁

下圖為點擊消息框確認按鈕后顯示的網頁:

總結

通過這段時間的學習,對于Android平臺的整個基本框架有了一定的了解,對程序整個運 及相互之間的調用流程也有了一定的掌握,但感覺自己java基本功比較薄弱,還得進一步學習。由于目前還沒有什么想法,我打算在后面的一段時間內主要還是繼續掌握這方面知識,做一個類似于計算器之類的小軟件,以鞏固我這方面的知識。在查閱資料方面我還有點欠缺,尤其比較怕讀英文資料,這方面還得加強。

第四篇:Android RIL&Call學習總結

Android RIL與Call代碼學習總結

前言

本文分五部分:Android電信業務系統、RIL、Telephony APP Framework、Phone APP、Android通話簡單流程。

1、Android電信業務系統主要敘述Android整個電信業務系統的軟件架構。

2、RIL主要敘述Android Radio Interface Layer相關要點,涉及的代碼主要放在hardwareril目錄下。

3、Telephony APP Framework主要簡述電信業務系統Framework部分代碼相關要點,涉及的代碼主要放在frameworksbasetelephony目錄下。

4、Phone APP主要敘述Android的電話業務模塊,涉及的代碼主要放在packagesappsPhone目錄下。

5、Android通話簡單流程主要敘述從上層Phone APP發起電話的函數調用流程。

一、Android電話業務系統

簡單的說由三部分組成:Telephony Application(Java)+ Telephony Frameworks(Java)+ RIL(C/C++)

二、RIL RIL(Radio Interface Layer),是Android電信業務系統和底層硬件之間的抽象層,Android提供該層方便用戶移植。手機每次請求相應的電信服務,如電話、短信、網絡連接等,都是通過AT指令與底層硬件進行交互的,拿電話來講,用戶請求撥打電話,需要向RIL發送相關的請求,接著RIL按照用戶的請求,調用相應的AT指令發送接口給底層發送AT指令,完成用戶撥打電話的流程。簡單的說,對RIL的移植,主要是針對不同的設備針對AT指令做相應的修改。

1、RIL移植層的三個組成部分

1)Vendor RIL 提供AT指令發送接口 2)RIL Daemon 加載RIL相關的庫同時初始化RIL,注冊RIL相關函數接口。同時,RILD也是上層和底層RIL的調用中轉站。3)RIL JNI Layer RIL JNI接口,提供上層Telephony APP Framework調用

2、RIL的初始化流程

加載ril.lib ? RIL_Init()? RIL_register(),詳細可見ridl.c中的main()函數。

3、RIL接口的調用方式

有兩種方式:主動請求(Solicited)和被動請求(Unsolicited)1)主動請求

2)被動請求

void(*OnUnsolicitedResponse)(int unsolResponse, const void *data,size_t datalen);

4、涉及的主要源代碼文件

1)reference-ril.c ? 本文件涉及的重要內部函數及功能 requestRadioPower

開啟通訊模塊 requestQueryNetworkSelectionMode 查詢網絡模式 requestGetCurrentCalls

獲取當前通話 requestDial

請求呼叫 requestWriteSmsToSim

寫入短信至SIM卡 requestHangup

掛斷電話 requestSignalStrength

獲取信號強度 requestRegistrationState

獲取卡注冊狀態 requestOperator

獲取運營商名稱 requestSendSMS

請求發送短信 requestSetupDataCall

撥號上網 requestSMSAcknowledge

短信回報

requestEnterSimPin

請求輸入SIM PIN碼 requestSendUSSD

請求USSD業務 ? 本文件提供給ril.cpp調用的外部接口 RIL_Init

RIL初始化 onRequest

AT請求指令接口(異步方式)

getVersion

獲取RIL版本號,當前為“android reference-ril 1.0” onUnsolicited

AT請求指令接口(同步方式)

2)ril.cpp 該文件主要提供ril.java調用接口,實現RIL的JNI調用方式、RIL Event管理機制 ? 實現了供上層調用的接口 typedef struct {

int requestNumber;

void(*dispatchFunction)(Parcel &p, struct RequestInfo *pRI);

int(*responseFunction)(Parcel &p, void *response, size_t responselen);} CommandInfo;具體執行的操作可以看頭文件ril_commands.h 舉一個例子:

撥打電話,對應的requestNumber為RIL_REQUEST_DIAL,對應的dispatchFunction為dispatchDial,對應的responseFunction為responseFunction。? RIL Event管理

與ril_event.cpp的Event接口配合實現RIL Event管理 RIL_startEventLoop rilEventAddWakeup eventLoop ril_event_init ril_event_set ril_event_add ril_event_del 4)rild.c rild的主要初始化工作都在main函數中進行。

5、RIL JNI上層對外接口

SetOnNITZTime

getIccCardStatus

supplyIccPin

supplyIccPuk

supplyIccPin2

supplyIccPuk2

changeIccPin

changeIccPin2

getCurrentCalls

getPDPContextList dial

getIMSI

getIMEI

getIMEISV

hangupConnection

acceptCall

rejectCall

getLastCallFailCause getLastPdpFailCause getLastDataCallFailCause setMute

getMute

getSignalStrength

getRegistrationState getGPRSRegistrationState getOperator

設置網絡身份和時區 獲取SIM卡狀態 輸入PIN碼 輸入PUK碼 輸入PIN2碼 輸入PUK2碼 修改PIN碼 修改PIN2碼 獲取當前通話 獲取PDP列表 撥號

獲取IMSI 獲取IMEI 獲取IMEISV 掛斷電話 接聽電話 電話拒接

獲取Call失敗錯誤碼 獲取PDP失敗錯誤碼 獲取撥號連接失敗錯誤碼

設置手機靜音模式(靜音/非靜音)獲取手機靜音模式(靜音/非靜音)獲取信號強度 獲取卡注冊狀態 獲取GPRS注冊狀態 獲取運營商 sendDtmf

startDtmf stopDtmf sendSMS deleteSmsOnSim writeSmsToSim

發送DTMF Start DTMF Stop DTMF 發送短信

刪除SIM卡短信 保存短信至SIM卡

6、RIL機制

RIL類有三個內部類:RILRequest、RILSender、RILReceiver,這三個內部類共同實現上層的電信業務操作請求。

RILRequest,電信服務請求,上層應用通過該類與RIL JNI層進行消息的交互,同時RIL JNI層也通過該類與RIL底層進行消息的交互; RILSender,實現上層請求的命令發送 RILReceiver,負責接收底層的Response ? 以下是dial的RIL調用序列 ?上層調用dial ?設置Request請求并發送至RILSender消息處理隊列

RILRequest rr = RILRequest.obtain(RIL_REQUEST_DIAL, result);…

send(rr);? RILSender消息處理隊列消息隊列收到EVENT_SEND后往mSocket里邊填寫相應請求 ?RILD從mSocket中讀取相應的請求為RIL_REQUEST_DIAL,并設置相應的event ?執行dispatchDial ? onRequest ? requestDial發送AT指令

?底層給予responseVoid的響應

?RILD向mSocket填寫相應的響應信息,并往RILReceiver消息隊列發送 ? processResponse ?processSolicited ?responseVoid(JNI)

三、Telephony APP Framework概述

電信業務Framework涉及Call、SMS、SIM卡、PDP等,代碼分為兩個部分,一個是SDK API,一個是平臺內部類,不對外開放。這部分簡單的說,就是上層電信業務與底層RIL的中間層。

1、Internal Class 1)ADN(Abbreviated Dialing Numbers,縮位撥號)相關的類 AdnRecord AdnRecordCache AdnRecordLoader 2)Call相關的類

Call:基類,GsmCall和CdmaCall都由該基類擴展實現 CdmaCal GsmCall

CallTracker:基類,GsmCallTracker和CdmaCallTracker都由這個基類進行擴展實現 GsmCallTracker: CdmaCallTracker PhoneBase:基類,CDMAPhone和GSMPhone都由這個基類擴展實現 CDMAPhone GSMPhone Phone:電話操作的一些接口 CallerInfo CallerInfoAsyncQuery CallForwardInfo:呼叫轉移

CallFailCause:GSM Call失敗錯誤碼 CallFailCause:CDMA Call失敗錯誤碼 3)數據連接相關類

DataConnection:基類,GsmDataConnection和CdmaDataConnection都基于該類擴展實現 GsmDataConnection CdmaDataConnection DataConnectionTracker:基類,CdmaDataConnectionTracker和GsmDataConnectionTracker都基于該類進行擴展實現 CdmaDataConnectionTracker GsmDataConnectionTracker 4)SIM卡相關類

IccCard:基類,RuimCard和SimCard都由該類進行擴展實現 RuimCard SimCard IccRecords:基類,RuimRecords和SIMRecords都基于該類進行擴展實現 RuimRecords SIMRecords IccProvider IccUtils 5)SMS相關類

SMSDispatcher:實現發送短信

SmsMessageBase:基類,SmsMessage由該類擴展實現 SmsMessage:短信PDU包解析

2、SDK API Class 實現SDK API接口,具體架構見SDK API文檔

四、Phone APP Android自帶一個Phone App,實現了GSM/CDMA的通話功能,這部分代碼放在packagesappsPhone目錄下。

Phone APP開機就運行了,可以從AndroidManifest.xml設置的應用權限看出來

。開機做如下初始化工作:

A、初始化Telephony Framework B、Power、Ringer、Keyboard、狀態欄、SIM卡的注冊工作 C、CallNotifier、PhoneUtils初始化工作 具體可以參見onCreate Phone APP有如下幾個重要的類

? PhoneApp requestWakeState:判斷手機是否可休眠 wakeUpScreen:喚醒手機

PhoneAppBroadcastReceiver:內部類,可以實時監測手機的狀態,飛行模式、藍牙耳機等。? PhoneUtils 電話基本組件接口,實現電話的一些基本操作,如Dial、Answer、Hangup、Hold等 placeCall:電話呼出 Hangup:掛斷電話 answerCall:接聽電話

setMute/ setMuteInternal:靜音 turnOnSpeaker:免提

showIncomingCallUi:顯示來電界面 ? InCallScreen 該類實現通話界面流程,主要如下:

case R.id.menuAnswerAndHold,保持當前通話并接聽: internalAnswerCall ? PhoneUtils.answerCall(mPhone)case R.id.menuAnswerAndEnd,結束當前通話并接聽:

internalAnswerAndEnd ? PhoneUtils.answerAndEndActive(mPhone)case R.id.menuAnswer,接聽:

internalAnswerCall ? PhoneUtils.answerCall(mPhone)case R.id.menuIgnore,忽略:

internalHangupRingingCall ? PhoneUtils.hangupRingingCall(mPhone)case R.id.menuSwapCalls,切換通話:

internalSwapCalls ? PhoneUtils.switchHoldingAndActive(mPhone)case R.id.menuMergeCalls,合并通話: PhoneUtils.mergeCalls(mPhone)case R.id.menuManageConference,管理電話會議:

setInCallScreenMode(InCallScreenMode.MANAGE_CONFERENCE)case R.id.menuShowDialpad,顯示撥號鍵盤: onShowHideDialpad ? mDialer.openDialer(true)case R.id.menuSpeaker,免提:

onSpeakerClick ? PhoneUtils.turnOnSpeaker case R.id.menuBluetooth,藍牙: onBluetoothClick case R.id.menuMute,靜音:

onMuteClick ? PhoneUtils.setMute case R.id.menuHold,通話保持: onHoldClick case R.id.menuAddCall,添加通話: PhoneUtils.startNewCall(mPhone)case R.id.menuEndCall,結束通話: internalHangup ? PhoneUtils.hangup(mPhone)? DTMFTwelveKeyDialer 該類實現DTMF processDtmf:發送DTMF clearDigits:清除DTMF鍵碼 startDtmfTone:播放DTMF Tone stopDtmfTone:停止播放DTMF Tone ? CallNotifier 繼承于Handler,用來實時監測通話狀態并通知Phone Application,如PHONE_NEW_RINGING_CONNECTION(來電),PHONE_INCOMING_RING(來電響鈴),PHONE_DISCONNECT(通話掛斷),PHONE_BATTERY_LOW(電池電量低),具體相對應的處理可參見handleMessage ? CallFeaturesSetting 實現通話設置,此外該類包含一個內部類VoiceMailProviderSettings用來實現語音信箱的設置

? CallCard/ InCallTouchUi 這兩個類都是繼承于FrameLayout,Phone用來實現通話自身的布局需求。

updatePhotoForCallState:更新替代圖片(如果通話號碼有設置特定代替圖片的)updateDisplayForConference:通話UI更新(用于電話會議)updateDisplayForPerson:通話UI更新

getCallFailedString:獲取通話失敗錯誤字符串 displayOnHoldCallStatus:顯示通話保持UI displayMainCallStatus:更新通話UI updateState:更新通話狀態(供外部類調用)? BluetoothHandsfree/BluetoothHeadsetService 實現通話藍牙耳機功能,其實現核心是BluetoothHeadsetService,在PhoneApp 創建的時候會啟動它。BluetoothHeadsetService 通過接收底層藍牙服務的狀態消息來改變自身狀態,同時它也會監聽通話的狀態變化。onBluetoothEnabled:開啟藍牙設備 onBluetoothDisabled:關閉藍牙設備 connectHeadset:連接藍牙設備 audioOn:開啟audio audioOff:關閉audio redial:通過藍牙設備重播電話 updateBatteryState:更新電池強度 updateSignalState:更新信號強度

五、Android通話簡單流程

1、撥打流程(以電話本入口為例)

?進入電話本,以某個聯系人發起呼叫,此時進入TwelveKeyDialer類的onClick函數case R.id.dialButton分支,啟動OutgoingCallBroadcaster Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//以新的TASK啟動 ?OutgoingCallBroadcaster發出Broadcast Announcement sendOrderedBroadcast(broadcastIntent, PERMISSION,new OutgoingCallReceiver(), null, Activity.RESULT_OK, number, null);?收到Broadcast后,進入OutgoingCallReceiver中的doReceive啟動InCallScreen ?進入internalResolveIntent mInCallInitialStatus = internalResolveIntent(getIntent());?placeCall ?PhoneUtils.placeCallVia/ PhoneUtils.placeCall ? Connection cn = phone.dial(number);Phone是Interface,所屬的dial接口是在PhoneBase的子類GSMPhone中實現 ?進入GsmCallTracker類中的dial函數 mCT.dial(newDialString);?調用CommandsInterface的dial接口

cm.dial(pendingMO.address, clirMode, obtainCompleteMessage());CommandsInterface的dial接口是在RIL.java中實現的 ?調用JNI接口dial ?……后續就是RIL JNI與libril的交互過程,見RIL機制

2、來電流程

?CallNotifier的消息處理隊列會收到PHONE_NEW_RINGING_CONNECTION ?onNewRingingConnection響鈴或震動(來電自動接聽也在里邊處理)?顯示來電界面InCallScreen PhoneUtils.showIncomingCallUi();

3、來電處理

? 接聽

?internalAnswerCall

?PhoneUtils.answerCall(mPhone)

?關閉來電鈴聲等,進入接聽流程phone.acceptCall()?調用GsmCallTracker的acceptCall mCT.acceptCall();?調用CommandsInterface acceptCall 接口 cm.acceptCall(obtainCompleteMessage())

?調用RIL JNI接口acceptCall向底層發送請求

?……后續就是RIL JNI與libril的交互過程,見RIL機制 ? 掛斷

? internalHangup ? PhoneUtils.hangup(mPhone)? 調用GsmCallTracker的handup ?調用CommandsInterface hangupConnection接口

cm.hangupConnection(conn.getGSMIndex(), obtainCompleteMessage());?調用RIL JNI接口hangupConnection向底層發送掛斷請求 ?……后續就是RIL JNI與libril的交互過程,見RIL機制 ? 通話保持恢復

PhoneUtils.switchHoldingAndActive(mPhone)? 添加一個新通話,實現多方通話 PhoneUtils.startNewCall(mPhone)

Android_Phone源代碼來電流程解讀

***************************CallNotifier***************************

本類extends Handler并且implements CallerInfoAsyncQuery.OnQueryCompleteListener

電話狀態改變之后本類會接到Message,然后本Handler通過Message的不同,進入不同的case:

然后調用不同的方法處理各種狀態改變。

同時實現了OnQueryCompleteListener接口,當來電的時候會幫助執行查詢操作,比如查詢并調用

Ringer設置響鈴方式。

當來電時,本類會接受到一個PHONE_NEW_RINGING_CONNECTION(Message.what),然后調用對應的方法

onNewRingingConnection(),該方法又會調用startIncomingCallQuery()方法,該方法就查詢用戶

設置的鈴聲(可能是系統的,也可能是用戶自定義的),如果查詢完成則直接調用onQueryComplete().假如執行超時的話,將會發送一個延時Message,延時后將默認調用系統的鈴聲。

假如在延時發送Message過程中Query已經完成,由于CallNotifier實現了OnQueryCopleteListener,就會自動調用onQueryComplete()方法,該方法將會首先把可能存在的延時Message給Remove,以防止

再次設置鈴聲。接著調用onCustomRingQueryComplete()方法。然后該方法里面會調用Ringer的ring()

方法啟動響鈴。

********************************Ringer*************************** Ringer的ring()方法會啟動相應的響鈴方式。

響鈴之后將會又Message發送,其內容為PHONE_STATE_CHANGED

*******************************InCallScreen**********************

InCallScreen將會接受到發送的PHONE_STATE_CHANGED消息,然后調用onPhoneStateChanged()方法

該方法將更新屏幕,CallNotifier的onCustomRingQueryComplete里也會通過PhoneUtils.showIncomingCallUi()

來啟動InCallScreen屏幕。然后由InCallScreen處理,處理方式與前面打電話的大體一致,不過該類第一次調用時執行了

onCreate()方法,但是以后執行都是從onNewIntent()開始.

第五篇:Android的學習總結

Android學習總結

Android的學習總結

現在對于Android的學習已有斗個學期了,但它對我來說其實還是一個大大的謎,還有待我去對它一一揭曉。

在還沒有學習Android這門課之前,當聽到別人談到它時,知道它離我們很近,但是它給我的感覺卻是那么的神奇,一直就是在聽說著關于Android系統怎么怎么的新聞,知道它就在我的生活中,離我很近,我也在用它,但還是總有一種很遙不可及的感覺,覺得它不在我的思想里,所以呢,對于這門課《Android系統開發與實踐》的學習很是期待的。

在上一個學期快要結束的時候,就聽到老師說了一下,說下一個學期我們可能會學習Android系統的開發,他還說這個Android系統的開發很值得學習,很值得我們去探索,說這個Android還一直在開發中,是一項很好玩的系統,當時就很是興奮了,總是會在想Android系統到底是怎樣的,它是如何的深入我們的生活,又是如何的到我們所用的這些設備當中的,這一切都讓我感到很好奇。就這樣帶著一系列的問題走進了 這個學期,終于就要與它見面了,這門課也就在這樣的背景下,這樣的一種環境下走進了我的課堂,它給了我一種興奮感,對于它的出現,我很是期待的,一開始老師就給我們講解了一些關于Android的知識,也給我們展示了Android系統開發的平臺,真的給了我一種奇妙的感覺,它不僅有編譯,它還有一個模擬器,就和我們用的手機一模一樣,上面也有簡單的幾個圖標:電話、短信等等,真的感覺到了不可思議,感覺到一種神秘,Android系統的開發就是在這樣的一個平臺上完成的,你可以對它進行你想要的修改,只要是你想到的,你都可以支盡情的嘗試,這讓人興奮。

這門課的學習從這里就這樣開始了,《Android系統開發與實踐》這本課本它是以討論Android系統平臺為基礎,并結合實例講解教程和實踐指導類教材。本書中全方位的講解了Google開放移動應用平臺Android的各種特性,深入探討了應用程序的基本組件、界面布局的基礎,結合Internet實現通訊錄的設計和發送短信實例詳細介紹了Android系統平臺開發 1

Android學習總結 的步驟和方法,從而實現對Android系統的平臺開發的深入了解。

基于嵌入式技術的Android是目前增長速度最快的智能3G手機操作系統,其底層系統是以Linux內核為基礎,用C語言開發;中間層包括函數庫library和虛擬機Dalvik,用C++語言開發;上層應用軟件,包括通話程序,短信程序等,用Java語言開發。所以,要想好好的學習Android系統的開發,那就必須掌握C++和Java語言,它們都是基礎。

Android學習并不是那么的容易,你得很努力很認真的去學習,但如果只是淺淺的了解,那就簡單得多,但并不是這樣的,你得更加深入的去學習,你才算是懂一點。

Linux是Android開發的基礎,Linux是一套免費使用和自由傳授的類UNIX操作系統,它速度快,運行穩定,對硬件的配置要求低,兼具了其他系統的優點,最關鍵是可以免費使用,所以Linux得到了迅猛的發展,我們學習Android的開發就得了解Linux,它常用的一些操作命令是我們必須要理解和掌握的,比如說:su命令,它是最基本的命令之一,常用于不同用戶間切換。例如,如果登錄用戶為user1,要切換為user2,則用如下命令——$su user2 就行了;pwd命令,用于顯示用戶當前所在的目錄;cd命令,不僅顯示當前狀態,還改變當前狀態,它的用法跟DOS下的cd命令基本一致;ls命令,它跟DOS下的dir命令一樣,用于建立磁帶備份系統,目前廣泛用于建立文件發布檔案;gzip命令,用于壓縮文件;mkdir命令,用于建立目錄,跟DOS下的md命令用法幾乎一樣的;cp命令,用于復制文件或目錄;rm命令,用于刪除文件或目錄;mv命令,用于移動文件和更多文件;reboot命令,重啟命令;halt命令,關閉命令。這些都是我們學習Android系統所必須掌握的。

Android系統的開發更離不開Java,Java是一種簡單的,面向對象的,分布式的,解釋執行的,健壯的,安全的,結構中立的,可移植的,高效率的,多線程的和動態的語言,Java在Android平臺開發中的應用起到了很關鍵的作用,Android的開發需要Java的上引動開發工具,Eclipse開發工具就是目前最主流的Java開發工具,Eclipse本身只是一個框架平臺,2

Android學習總結

但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性,許多軟件開發商以Eclipse為框架開發自己的IDE。

Android的學習真的不是那么容易的,就一個平臺的搭建就已經難到了我,就這樣一個開發平臺它得有一個Java的環境,還要有IDE等等,花了一大半的時間終于搭建了一個框架,它的一些插件必須要在線的升級,就是說必須要有網才行,這是一件很難熬的事,但等到搭建好后,那是一種成就感,通過學習讓我知道了Android系統也有它的不足之處:安全和隱私,由于手機與互聯網的緊密聯系,個人隱私很難得到保護,互聯網的深入發展也將會帶來新一輪的隱私危機;運營商仍然能夠影響到Android手機;同類機型用戶減少:在不少手機論壇都會有針對某一型號的資源,而對于Android平臺手機,由于廠商豐富,產品類型多樣,這樣使用同一款機型的用戶越來越少,缺少統一機型的程序強化;過分依賴開發商,缺少標準的配置等等的,這些的不足都在等待我們去探索。

Android系統平臺的結構有:應用程序層,應用程序框架層,運行庫層,Linux內核層。只有了解了這些才能助我們更好的學習Android系統,Android系統開發的相關環境必須安裝并配置好,這是一個細活:第一得安裝Java環境,然后還得修改Javadoc的link。第二設置環境變量,第三就安裝repo,第四得在線下載Android源碼并更新,第五是編譯Android源碼并得到~/project/Android/cupcake/out目錄,第六在模擬器上運行編譯好的Android源碼,第七編譯linux kernel,第八是編譯模塊,第九編譯SDK。這個安裝步驟我們得一步一步的做好,如果有哪一步做錯了,就會影響到最終的結果。當你把所有的準備工作做好后,創建一個新的Android項目,你就會有一點點的興奮與成就感,那是一種很自豪的一種享受。

在Android系統的開發過程當中我們要了解和熟悉源碼的獲得,源碼樹結構分析、Android源碼簡要分析、還有Android的移植,作為一個Android開發者,必要的時候閱讀下Android源碼可以拓寬一下自己的視野和對Android的認知程度,Google的Android的源 3

Android學習總結

碼管理倉庫用的是Git。Android是一個開源手機終端系統,基于Linux內核,我們可以下載一個Git客戶端,在Windows下安裝Git的客戶端軟件很方便的,安裝完成后,我們建立一個文件夾,就可用于存放將要下載的源碼,主機編譯工具和仿真環境,對于這些目錄和文件我們還要求會背下來,但得了解,了解它們是我們學習Android系統開發更加的輕松了。

要想學習好Android系統的開發,我們光學一些理論性的知識,那是遠遠不夠的,我們得把理論與實踐結合起來,才能起到事半功倍的效果,本來對于Android系統開發的學習就應該從實踐當中去深入的,在學習的過程中,我們要有足夠的耐心和足夠的時候,去練習,去實踐。在這門課當中的實例,比如,打電話,就讓我們眼前一亮了,我們一直以來每天在做的打電話就是這樣來的,這個實例提起了我們對Android系統的又一興趣,Android系統的開發不僅給我們的生活帶來了便利,也給我們帶來了歡樂。

這以上就是這一段時間來我對Android系統開發的學習的一個總結與一個體會,Android系統的開發真的讓我長了不少的知識,也帶來了不少的見識,雖然我對于它的掌握還不那么的深,學習的也還不足,但我還是會一直堅持的學習下去,因為它的奇妙,因為我們的生活需要它,它的開發是永無止境的,它的學習也將是永無止境的。

下載Android 學習總結1(范文)word格式文檔
下載Android 學習總結1(范文).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    android PopupWindow學習總結[合集]

    PopupWindow學習總結經過一段時間的學習,了解了PopupWindow的基本用法,如下: 1、為PopupWindow的view布局,通過LayoutInflator獲取布局的view.如: LayoutInflater inflater =......

    Android總結

    Android四大組件: Activity—表現屏幕界面Service—后臺服務 BroadcastReceiver—實現廣播機制ContentProvider—實現數據存儲 Intent類:用來啟動程序并傳遞信息的類 用于A......

    Android地圖和定位學習總結

    Android地圖和定位學習總結 首屆 Google 暑期大學生博客分享大賽——2010 Android 篇 android.location包下有這么一些接口和類: Interfaces GpsStatus.Listener GpsStatus.N......

    android vold學習總結(五篇范文)

    vold學習總結 Vold(volume daemon):源碼路徑android/system/vold,部分引用代碼位于android/system/core/libsysutils/src,android/system/core/include/sysutils/下。 它用于......

    Android應用程序設計學習總結

    學習總結 Android具有開放性。有一下平臺優勢: 一、開放性 在優勢方面,Android平臺首先就是其開發性,開發的平臺允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以......

    Android BroadcastReceiver學習總結(五篇)

    Android BroadcastReceiver學習總結 BroadCast(廣播),概念:一種在系統內進行通信的機制.通過這種機制,它能夠將系統中的某個進程的信息或者意圖傳遞到其他的對這些信息或者意......

    Android的getSystemService函數學習總結

    函數getSystemService。 public Object getSystemService (String name) Parameters nameThe name of the desired service. ReturnsThe service or null if the name does......

    android嵌入式系統學習總結(精選五篇)

    重慶航天技術職業學院 題 目:嵌入式系統Android 選題性質:□設計?報告□其他 院 系 電子系 專 業 物聯網 班 級 12021071 學 號 20120027學生姓名 錢碩 2014年 6月 12......

主站蜘蛛池模板: 国产精品视频yy9299| 亚洲熟女乱色综合一区小说| 亚洲综合久久成人a片| 久久久日韩精品一区二区三区| 国产揉捏爆乳巨胸挤奶视频| 激情综合婷婷色五月蜜桃| 亚洲多毛女人厕所小便| 99热在线精品国产观看| 久久国产免费福利永久| 国产片av不卡在线观看国语| 亚洲国产初高中女| 无码专区人妻系列日韩| 国产欧美精品一区二区三区| 特级毛片a级毛片在线播放www| 一区二区三区无码高清视频| 少妇爆乳无码av专区网站寝取| 亚洲 欧美 中文 日韩aⅴ手机版| 免费a级作爱片免费观看美国| 内射国产内射夫妻免费频道| 少妇太爽了在线观看免费视频| 女人被狂c躁到高潮视频| 热思思99re久久精品国产首页| 久久婷婷五月综合色国产香蕉| 亚洲七七久久桃花影院| 亚洲av无码国产精品色软件| 国产精品久久久久久一区二区三区| 国产精品久久久久久一区二区三区| 日韩精品无码一区二区三区视频| 亚洲精品久久久无码大桥未久| 欧亚乱熟女一区二区三区在线| 在线麻豆精东9制片厂av影现网| 真实国产老熟女粗口对白| 最新国内精品自在自线视频| 婷婷开心激情综合五月天| 午夜少妇性影院私人影院在线| 国产一区二区三区无码免费| 精品午夜久久福利大片| 三上悠亚网站在线观看一区二区| 最新国产精品精品视频 视频| 国产人妻人伦精品1国产丝袜| 狠狠躁夜夜躁青青草原|