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

Android Droid-Fu 介紹

移動開發 Android
Droid-Fu為廣大的Android開發者提供了非常優秀的共享庫,本篇文章將介紹一些Droid-Fu的一些想法以及一些核心特性。

Droid-Fu是什么 Droid-Fu 是一個通用的Android應用庫

 

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

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

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

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

Droid-Fu

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

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

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

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

 

DroidFuApplication。這個類是Application的子類,如果你想使用BetterAsyncTask,你的應用程序從該類派生的,否則它不會工作。這是因為DroidFuApplication保留了活動實例的弱映射,當一個BetterAsyncTask完成后,它會通過您的Application獲取Activity實例。

#p#

你所需做的僅僅是發起一個任務:

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.       }      
  10. }  

此外,BetterAsyncTask在運行期還會自動打開和關閉對話框,雖然你進步的運行,或觸發活動標題欄的進度條。它還可以讓你的任務在執行過程中拋出異常,然后再發布到你的錯誤處理handle。

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

 

你將在以下方面獲得幫助

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

 

isLaunching() :當且僅當Activity或Service***次執行onCreate時為true

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

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

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

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

 

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

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

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

showListDialog(): 顯示了一個列表對話框,當點擊一個條目,它會回調處理程序

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

【編輯推薦】

Android開發:Activity之間的傳值

Android開發進階必讀——評《精通Android 2》

Android應用開發教程:兩個運行的Activity之間的通信

責任編輯:zhaolei 來源: 博客園
相關推薦

2024-02-26 08:22:51

開源Android應用寶庫

2012-12-26 13:41:08

Android開發dispatchTou

2011-04-18 17:30:04

開源iPhoneAndroid

2017-01-23 21:35:58

Android人臉檢測介紹

2010-01-27 16:41:48

Android特點

2013-01-16 14:41:14

Android開發Android SDK

2013-12-27 09:54:58

Android開發NDK

2010-03-05 10:38:16

Android移動操作

2010-02-05 16:21:02

Android導航

2010-02-06 18:04:21

Android 接口

2013-01-16 14:19:03

Android工程目錄結構Android開發

2010-01-26 10:31:32

Android onK

2010-01-27 17:08:01

Android Hel

2010-02-07 13:55:39

Android圖形

2009-09-17 17:20:21

Android Deb

2009-03-24 08:33:14

AndroidGoogle移動os

2010-02-04 14:16:45

Android平臺

2010-02-07 14:29:10

Android SDK

2010-03-03 17:29:30

Android程序

2010-03-05 13:28:14

Android手機系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品在线免费观看 | 在线视频一区二区三区 | 天天夜天天操 | 人人人艹 | 亚洲国产一区二区在线 | 99亚洲精品| 91精品久久久久久久久 | av免费网站在线观看 | 欧美日韩一区二区视频在线观看 | 亚洲国产专区 | 99视频在线免费观看 | 国产精品视频网 | 国产精品久久影院 | 久久国产欧美日韩精品 | 97久久国产 | 国产a爽一区二区久久久 | 国产成人精品在线 | 日韩国产一区二区三区 | 精品成人在线视频 | 日本免费一区二区三区四区 | 91啪亚洲精品 | 中文字幕一区二区三区四区五区 | 宅女噜噜66国产精品观看免费 | 国产成人91视频 | 精品96久久久久久中文字幕无 | 亚洲第1页 | 日本成人在线观看网站 | 欧美综合一区二区三区 | 色888www视频在线观看 | 97伦理影院 | 国产成人99久久亚洲综合精品 | 91精品国产日韩91久久久久久 | 波多野结衣电影一区 | 欧美 日韩 在线播放 | 亚洲一区av | 欧美aⅴ| 国产三级国产精品 | 亚洲精品日韩一区二区电影 | 亚洲在线一区 | 亚洲国产一区在线 | 久久人人爽人人爽 |