日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
AndroidDroid-Fu介紹

Droid-Fu是什么Droid-Fu 是一個通用的Android應(yīng)用庫

我們提供的服務(wù)有:網(wǎng)站建設(shè)、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、牧野ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的牧野網(wǎng)站制作公司

Droid-Fu 的主要目的是使得Android開發(fā)更加容易

Droid-Fu 是開源的還不夠嗎?

Droid-Fu 包含了許多工具類,還有非常易用的Android組件,所有這些對于Android應(yīng)用來說都是非常有用的。Droid-Fu在以下領(lǐng)域提供了支持:

Android應(yīng)用的生命周期、后臺任務(wù) 、Http消息處理 、遠(yuǎn)程圖片處理 、定制的各種Adapter … 等等。Droid還很年輕,不久的將來會有更加精彩的特性!基礎(chǔ)知識的***優(yōu)勢是他提的應(yīng)用生命周期幫助類。如果你正在開發(fā)一款A(yù)ndroid應(yīng)用,而它的主要任務(wù)是運(yùn)行后臺任務(wù),例如從web上抓取數(shù)據(jù),你肯定會在你的應(yīng)用中使用Droid-Fu。

Droid-Fu

討厭的AsyncTask,我們先來看看AsyncTask的問題吧:***,AsyncTask是什么?它是一個執(zhí)行大開銷操作的幫助類。如果你正在開發(fā)一個需要訪問web服務(wù)端的手機(jī)應(yīng)用,很可能你已經(jīng)使用過它了。

其基本思路是:發(fā)起一個異步任務(wù),當(dāng)任務(wù)線程執(zhí)行過程中,顯示一個漂亮的進(jìn)度框,當(dāng)任務(wù)將結(jié)果返回到Activity時進(jìn)度框關(guān)閉???,但是如果用戶決定旋轉(zhuǎn)屏幕,可異步任務(wù)還在運(yùn)行怎么辦(屏幕旋轉(zhuǎn)當(dāng)前的Activity會完成整個一輪生命周期。然后重新創(chuàng)建,回調(diào)onCreate()方法。)?或是一個電話打進(jìn)來,打斷應(yīng)用,Android決定將該應(yīng)用進(jìn)程殺死怎么辦?這兩種動作都會中斷activity,當(dāng)下次繼續(xù)使用該應(yīng)用時會recreate該Activity。很不幸,AsyncTask仍舊在運(yùn)行,并且保留一個指針指向老的Activity,因?yàn)橹貑⒌腁ctivity在內(nèi)存中式完全不同的一個對象(并且還會執(zhí)行Activity的onCreate(),就好像Activity是***次啟動一樣)。我不確定AsyncTask是否還會將結(jié)果返回給老的Activity對象(如果是弱引用,可能它已經(jīng)被回收),但是無論如何,新的Activity不會接收到該數(shù)據(jù),因?yàn)橥耆且粋€新的Activity實(shí)例。

現(xiàn)在,人們可以說:好的,就再做一次同樣的工作,重新發(fā)送請求。是的,你可以這樣做。但這是浪費(fèi),真的,讓你覺得自己愚蠢,不是嗎?另外,如果用戶觸發(fā)一個Web服務(wù)請求,然后翻轉(zhuǎn)屏幕,發(fā)現(xiàn)不是自己想要的,又翻轉(zhuǎn)回來,那么你的請求被發(fā)送平行的3倍。難道這就是你想要什么?大概不會。

BetterAsyncTask來救援還好有Droid-Fu,他為我們提供了一個解決方案:BetterAsyncTask! 它的行為完全一樣AsyncTask(事實(shí)上,這是一個AsyncTask),但它為你做一些額外的工作:首先,它會記錄當(dāng)前活動的實(shí)例,如果該實(shí)例改變,將發(fā)布的數(shù)據(jù)返回到新的實(shí)例。換句話說,你可以派遣你的任務(wù),并且隨意的來回翻轉(zhuǎn)屏幕,BetterAsyncTask仍然會將任務(wù)的結(jié)果返回給當(dāng)前的活動實(shí)例。換句話說,任務(wù)永遠(yuǎn)只運(yùn)行一次。有一個問題,由于BetterAsyncTask沒有辦法找出哪一個是其當(dāng)前活動的實(shí)例,它依賴于一個助手:

Droid-FuApplication。這個類是Application的子類,如果你想使用BetterAsyncTask,你的應(yīng)用程序從該類派生的,否則它不會工作。這是因?yàn)?strong>DroidFuApplication保留了活動實(shí)例的弱映射,當(dāng)一個BetterAsyncTask完成后,它會通過您的Application獲取Activity實(shí)例。

#p#

你所需做的僅僅是發(fā)起一個任務(wù):

This is all you have to do to launch a task showing the standard Android indeterminate progress dialog:

 
 
 
  1. public class MyActivity extends BetterDefaultActivity {    
  2.  protected void onResume() { 
  3.    super.onResume(); 
  4.     if (isLaunching()) { 
  5.        // this is explained further down this article 
  6.      MyBetterAsyncTask task = new MyBetterAsyncTask   (this); 
  7.      task.execute(someData); 
  8.            } 
  9.       }    

此外,BetterAsyncTask在運(yùn)行期還會自動打開和關(guān)閉對話框,雖然你進(jìn)步的運(yùn)行,或觸發(fā)活動標(biāo)題欄的進(jìn)度條。它還可以讓你的任務(wù)在執(zhí)行過程中拋出異常,然后再發(fā)布到你的錯誤處理handle。

BetterActivity 和 BetterServiceDroid-Fu為活動和服務(wù)提供一些簡單但非常有用的輔助基類。目前,只有BetterDefaultActivity,BetterListActivity和BetterService,但我打算實(shí)現(xiàn)Better*系列Android活動基類(如MapActivity等)。

你將在以下方面獲得幫助

生命周期幫助類這些方法讓你根據(jù)上下文的生命周期狀態(tài)來決定完成具體什么工作。

isLaunching() :當(dāng)且僅當(dāng)Activity或Service***次執(zhí)行onCreate時為true

isRestoring() :當(dāng)Activity或Service在被Android殺死后重新恢復(fù)時為true

isResuming() :當(dāng)Activity或Service執(zhí)行onResume之前并沒有執(zhí)行onCreate時為true

isApplicationBroughtToBackground(): 有時是必要區(qū)分您的活動正由你自己的應(yīng)用程序活動暫停,或由一個完全不同的應(yīng)用暫停。這種方法可以得到真實(shí)的,如果由另一個應(yīng)用程序暫停你的活動,那么返回true

Dialog幫助類BetterActivity提供了如下的幫助方法讓你輕松顯示Dialog

showInfoDialog(): 顯示了一個帶有通知圖標(biāo)的警告對話框

showAlertDialog(): 顯示了一個帶有警告圖標(biāo)的警告對話框

showErrorDialog(): 和showAlertDialog一樣,只是多了一個參數(shù)顯示異常信息

showListDialog(): 顯示了一個列表對話框,當(dāng)點(diǎn)擊一個條目,它會回調(diào)處理程序

所有的這些Dialog都是可以定制化的 (e.g. message or icon).


文章標(biāo)題:AndroidDroid-Fu介紹
瀏覽路徑:http://www.dlmjj.cn/article/djjpieg.html