Android內建的AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog 可以用於簡單的對話方塊顯示。當還是有 這些對話方塊不能滿足應用需要的時候,這時就可以使用一些自定 義的對話方塊。有多種方法可以實現自訂對話方塊。一是使用Activity作為Dialog,可以通過設定Activity顯示Dialog風格,使得 該Activity在外觀上和Dialog一致:顯示在其它Activity前面 且半透明。<Activity
將RadioButton 換成Button ,類似的在res/layout 中建立brush.xml:<?xml version=”1.0″ encoding=”utf-8″?><LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
這個例子是繪製多邊形,多義形和路徑,採用單選鈕RadioButton來選擇Polys 和Path樣本:UI 設計為 上部分用來顯示繪圖內容,下部分為兩個選項按鈕 Polys ,Path。這樣layout就和main.xml 不一樣,main.xml 只含一個com.pstreets.graphics2d.GuidebeeGraphics2DView。因此需在res/layout下建立一個polys.xml:<?xml version=”1.0″ encoding=&
在介紹資料繫結時,我們使用了系統內建的SimpleAdapter。Android 允許自訂Adapter ,理論上可以使用任意的View (Layout)來顯示資料。下圖是對AndroidGraphics2DTutorial做改動,使用自訂Adapter來顯示樣本Activity列表。在例子中我們把原來的AndroidGraphics2DTutorial改名為AndroidGraphics2DTutorial1,重新建立一個類
前面提到AndroidGraphics2DTutorial說過它是ListActivity派生出來的。ListActivity中顯示的是ListView,ListView和 Gallery ,Spinner有一個共同點:它們都是AdapterView的子類。AdapterView的顯示可以通過資料繫結來實現,資料來源可以是 數組或是資料庫記錄,資料來源和AdapterView是通過Adapter作為橋樑。通過Adapter,AdatperView可以顯示資料來源或處理使用者選
Android應用中的三個核心組件:Activities,Services和broadcast receivers都是通過稱為“Intent”的訊息來啟用的。 Android應用一個特點是“低耦合”,各個Activities,Services和broadcast receivers相當獨立,可以看成是一個個“迷你應
Android SDK中帶有很多例子,其中ApiDemo詳細介紹了Android平台主要API,分成了AppContentGraphicsMediaOSTextViews幾個大類,每個大類又分為幾個小類,一共大約有 200多個執行個體,涵蓋了Android OS API的各個方面:下面是所有樣本的列表:App/Activity/AnimationApp/Activity/Custom DialogApp/Activity/Custom
如果你需要實現自動化的測試,Android的monkeyrunner 工具可以協助你實現自動化的測試,它提供了一組API可以用來控制Android裝置或模擬器,使用monkeyrunner,你可以編寫Python 程式來安裝Android應用或是測試包,運行應用或測試,發送按鍵訊息,並可以截屏,然後儲存在電腦中。monkeyrunner 主要目的是用來在應用程式或架構層次來測試應用程式或運行單元測試包,但你也可以用作其它目的。monkeyrunner 工具包不同於UI/Application
AndroidTestCase 為一Android平台下通用的測試類別,它支援所有JUnit的Assert方法和標準的setUp 和tearDown 方法。如果 你的測試需要訪問應用的資源或者測試方法依賴於Context,可以使用AndroidTestCase 作為基類。它的類繼承關係如下 圖所示:Focus2AndroidTest 測試也是Android ApiDemos樣本解析(116):Views->Focus->2.
ActivityInstrumentationTestCase2 用來測試單個的Activity,被測試的Activity可以使用InstrumentationTestCase.launchActivity 來啟動,然後你能夠直接操作被測試的Activity。ActivityInstrumentationTestCase2 也支援:可以在UI線程中運行測試方法.可以注入Intent對象到被測試的Activity中ActivityInstrumentationTestCase2
Android 測試架構是基於JUnit的,因此對一些和平台關係不大的類,可以直接使用JUnit中的TestCase來測試。MorseCodeConverterTest 用來測試MorseCodeConverter類,MorseCodeConverter的實現和Android平台聯絡不大,因此 可以直接使用TestCase作為基類。TestCase 由Assert 類派生而來,Assert 提供了大量的Assert方法,用來比較期望值 和實際值。本例代碼如下:public class
ServiceTestCase 為測試Service提供了一個可控的測試環境,它提供對Service 生命週期的基本支援,並可以通過注入一些 依賴對象來控制測試環境以便測試Service。ServiceTestCase的類繼承如下圖所示:Service Lifecycle 支援, 每個Service運行 都遵循一定的順序(生命週期方法),ServiceTestCase提供下面方法來支援對Service生命週期方法 的測試:每個測試方法調用之前首先會執行setUp 方法,setUp
ActivityUnitTestCase 通常用來測試單獨Activity。在啟動被測試的Activity之前,你可以Inject一個假的Context或是 Application ,使用這個Mock的Context中一個隔離環境中運行被測試的Activity。通常用於Activity的單元測試,而不和 Anroid系統進行互動。ActivityUnitTestCase 的類繼承關係如下圖:應該要注意的是,作 為單純的單元測試,被測試的Activity
ActivityInstrumentationTestCase2 主要用來測試一個或多個Activity的功能測試,使用和最終應用同樣的運行環境來測試 Activity的功能。可以使用正常系統Context (非Mock)來測試Activity的功能。 並允許你建立一些Mock Intent 用來測試 Activity的響應。要注意的是,這種TestCase不允許使用Mock的Context和Application對象測試,也就是說你必須使用和應用程
Android 測試架構也提供對Service測試的支援,基本類為ServiceTestCase,因為Service類通常假定和它是和Client是分開 使用的,因此你可以無需使用Instrumentation 來測試Service。當你設計一個Service時,你應該考慮測試案例中如何檢查 Service的目前狀態,比如你在onCreate ,onStartCommand 中啟動一個Service,一般沒有一個全域變數來表示Service是否成功
Activity的測試非常依賴於Android的Instrumation 架構,和Android其他組件不同的是,Activity具有複雜的生命週期回調 函數(如onCreate, onStart 等) ,通常情況下除通過Instrumation 介面外不能直接調用這些回呼函數。測試Activity的基本測試類別為InstrumentationTestCase,它提供了Instrumentation介面給TestCase的子類。 為了支援
本例介紹建立一個測試專案的一般步驟和編寫測試案例的基本方法。為簡單起見,建立一個HelloWorld應用,帶有一 個Greeting類,其定義如下:public class Greeting { private String name; public Greeting(String name){ this.name=name; } public String getGreetings(){ return "Hello," +name;
Android的測試架構相關的API主要定義在三個包中:android.test 用於編寫Android測試案例android.test.mock 定義了方便測試用的測試“樁”類android.test.suitebuilder 運行測試案例的Test Runner類Android 測試API 是基於JUnit 擴充而來,並添加了與Android平台相關的測試API。JUnit你可以直接使用 JUnit中相關API編寫一些和平台無關的測試案例(基於TestCase),
Android測試架構(Android Testing Framework)為Android開發環境的一個組成部分,可以用來測試Android的各個方面,從 單元測試到架構測試到UI測試等。其主要功能有:Android測試架構基於JUnit,因此可以直接使用JUnit 來測試一些與Android平台不是很相關的類,或者使用Android的JUint 擴充來測試Android組件,如果你剛開始接觸Android 測試,可以先從AndroidTestCase寫一些通用的測試案例,然後再寫較複雜
測試也是開發過程中一個重要組成部分,Android開發環境整合一個測試架構可以用來測試Android應用的各個方面,單元測試,UI測試等。本教程基於Android 開發教程英文版。基本概念包括Android測試的基礎知識Activity Testing 側重於Activity的測試,介紹了如果使用Instrumentation 在正常Activity生命週期之外來控制Activity,然後測試Activity的特定的功能和測試UI的一些技巧。Content Provider Testing