我學習安卓開發時間不長java異步方法怎么寫,主要目的是為了學習基本的技術知識,所以高手就不用繼續看了。我使用了命令行SDK工具和JDK來進行學習。
目前安卓主要的開發語言有Java、、C,C主要是用于底層和硬件相關,而本質是Java的馬甲。而且現在的SDK支持,語言特性已經相當豐富了,所以我選擇了Java,而讀者也應該對Java有所了解。
這里要談到的是一個實際場景:在應用中需要從網絡上獲取內容并顯示出來。
如果你直接在按鈕點擊事件中寫上網絡訪問代碼java異步方法怎么寫,那么編譯時將會出錯,告訴你不能在UI (用戶交互線程)訪問網絡。為什么呢?為了保證用戶操作流暢不卡,不允許在應用主線程(也就是UI線程)執行費時的任務(例如網絡訪問),而是要另外創建線程來運行這些費時任務。
但是問題又來了,在非UI線程中,是不能訪問用戶界面的控件的,例如按鈕、文本、列表等,這意味著你不能直接在新線程中刷新文本框內容。那這個又怎么解決呢?需要通過 方法來臨時回到UI線程執行界面相關代碼。
所以,一個實現上述功能的按鈕點擊事件框架代碼如下:
void (View v) {
// 此處定義結果變量
new () {
void run() {
// 執行費時的任務
// 并保存到結果變量
(
new () {
@
void run() {
// 顯示結果
// 是本
// 中的類變量
.(res);
);
}.();
頭條排版功能太差,將就看吧。后面看是貼圖還是怎么辦。
當然,異步線程并不一定是在按鈕點擊事件里,而具體的實現代碼還可以有多種形式,Java是嚴謹而靈活的java異步方法怎么寫,只是比較羅嗦。
暫時就寫到這里。之后有時間再繼續寫。像“過時”的和/。
免責聲明:本文系轉載,版權歸原作者所有;旨在傳遞信息,不代表本站的觀點和立場和對其真實性負責。如需轉載,請聯系原作者。如果來源標注有誤或侵犯了您的合法權益或者其他問題不想在本站發布,來信即刪。