Time of Update: 2017-02-27
有了前面對Android平台的介紹,基本上可以開始編寫Android應用了,這裡將以繪製二維圖形為例,對Android開發的一般方 法做過介紹,其中涉及到自訂Application類,擴充View,Intent定義,發送訊息,Data Binding(Adapter),和基本UI設計 。樣本沒有使用Android平台內建的二維圖形API,而是調用了引路蜂二維圖形庫,引路蜂二維圖形庫Graphics 2D API實現了移
Time of Update: 2017-02-27
Android應用中的三個核心組件:Activities,Services和broadcast receivers都是通過稱為“Intent”的訊息來啟用的。 Android應用一個特點是“低耦合”,各個Activities,Services和broadcast receivers相當獨立,可以看成是一個個“迷你應
Time of Update: 2017-02-27
Activity是Android應用使用者介面的基本組成組件。但Activity本身並不提供使用者介面(User Interface)。從程式結構層次上 來說,一個Android應用是類android.app.Application的一個執行個體, Application中可以包含多個android.app.Activity執行個體。 每個Activity 帶一個Window類,這個類在Android平台上沒有提供太多功能,主要可以用來控制標題列(螢幕頂端)。比如設定
Time of Update: 2017-02-27
Android應用中的Activity指具有螢幕顯示支援使用者互動的基本模組,類似於Java ME中的MIDlet, Windows 應用中的Form。 比如可以是撥號,發送郵件的UI。每個Activity都可以含有一個Windows用於繪製使用者介面。這個Windows提出佔據整個螢幕,但 也可以只佔據部分螢幕或說現在在其它UI上面。一個Android應用通常由多個Activity組成,其中有一個“主Activity”,為
Time of Update: 2017-02-27
Android平台的一個顯著的特點是“低耦合”。Activity是Android應用的一個最基本的使用者UI模組。如果採用Windows Form 應用作為參照,Activity相當於Windows中的WinForm。和Windows 應用不同的是,運行一個Activity或是Activity之間的互動是 通過訊息來實現的。也就是說如果想在起動一個Activity或是在一個Activity中啟動另一個Activity,是通過發送Intent訊息來
Time of Update: 2017-02-27
ServiceTestCase 為測試Service提供了一個可控的測試環境,它提供對Service 生命週期的基本支援,並可以通過注入一些 依賴對象來控制測試環境以便測試Service。ServiceTestCase的類繼承如下圖所示:Service Lifecycle 支援, 每個Service運行 都遵循一定的順序(生命週期方法),ServiceTestCase提供下面方法來支援對Service生命週期方法 的測試:每個測試方法調用之前首先會執行setUp 方法,setUp
Time of Update: 2017-02-27
ActivityUnitTestCase 通常用來測試單獨Activity。在啟動被測試的Activity之前,你可以Inject一個假的Context或是 Application ,使用這個Mock的Context中一個隔離環境中運行被測試的Activity。通常用於Activity的單元測試,而不和 Anroid系統進行互動。ActivityUnitTestCase 的類繼承關係如下圖:應該要注意的是,作 為單純的單元測試,被測試的Activity
Time of Update: 2017-02-27
ActivityInstrumentationTestCase2 主要用來測試一個或多個Activity的功能測試,使用和最終應用同樣的運行環境來測試 Activity的功能。可以使用正常系統Context (非Mock)來測試Activity的功能。 並允許你建立一些Mock Intent 用來測試 Activity的響應。要注意的是,這種TestCase不允許使用Mock的Context和Application對象測試,也就是說你必須使用和應用程
Time of Update: 2017-02-27
前面介紹了Android測試的一些理論知識,從本篇開始的幾篇將結合ApiDemoTest樣本來介紹Android測試的執行個體。在此之前可 以參照Android測試教程(3):測試專案 建立ApiDemos->tests 測試專案,本項目測試用來測試ApiDemos,主要目的是介紹 Android測試架構的使用方法。當然要測試ApiDemos,事先要建立好項目ApiDemos。下圖顯示了建立好ApiDemos- >Tests後,ApiDemos->Tests中所含的Java類:
Time of Update: 2017-02-27
Android 測試架構也提供對Service測試的支援,基本類為ServiceTestCase,因為Service類通常假定和它是和Client是分開 使用的,因此你可以無需使用Instrumentation 來測試Service。當你設計一個Service時,你應該考慮測試案例中如何檢查 Service的目前狀態,比如你在onCreate ,onStartCommand 中啟動一個Service,一般沒有一個全域變數來表示Service是否成功
Time of Update: 2017-02-27
Content Provider 為不同的應用訪問資料提供了統一的介面,本篇介紹Android測試包中用於測試Content Provider 的相關 知識。Android 測試包中用於測試Content Provider的基本類為ProviderTestCase2, 允許你在一個隔離環境下來測試 Content Provider。 並提供了一些Mock類如IsolatedContext ,MockContentResover 來輔助測試。和其它測試一樣,對 於Content
Time of Update: 2017-02-27
Activity的測試非常依賴於Android的Instrumation 架構,和Android其他組件不同的是,Activity具有複雜的生命週期回調 函數(如onCreate, onStart 等) ,通常情況下除通過Instrumation 介面外不能直接調用這些回呼函數。測試Activity的基本測試類別為InstrumentationTestCase,它提供了Instrumentation介面給TestCase的子類。 為了支援
Time of Update: 2017-02-27
本例介紹建立一個測試專案的一般步驟和編寫測試案例的基本方法。為簡單起見,建立一個HelloWorld應用,帶有一 個Greeting類,其定義如下:public class Greeting { private String name; public Greeting(String name){ this.name=name; } public String getGreetings(){ return "Hello," +name;
Time of Update: 2017-02-27
Android的測試架構相關的API主要定義在三個包中:android.test 用於編寫Android測試案例android.test.mock 定義了方便測試用的測試“樁”類android.test.suitebuilder 運行測試案例的Test Runner類Android 測試API 是基於JUnit 擴充而來,並添加了與Android平台相關的測試API。JUnit你可以直接使用 JUnit中相關API編寫一些和平台無關的測試案例(基於TestCase),
Time of Update: 2017-02-27
Android的編譯和測試載入器需要測試專案組織符合預訂的結構:分別為Test case 類,Test case 包以及測試專案。JUnit 為Android的測試的基礎,一般來說,一個JUint測試為一個用來測試一個應用某一部分的語句。 你可以將多個測試Test方法組 織起來構成一個測試案例(Test case),多個測試案例可以構成Test Suites 。 每個Test方法相對獨立,一個測試類別Test class 包含一組相關的Test
Time of Update: 2017-02-27
Android測試架構(Android Testing Framework)為Android開發環境的一個組成部分,可以用來測試Android的各個方面,從 單元測試到架構測試到UI測試等。其主要功能有:Android測試架構基於JUnit,因此可以直接使用JUnit 來測試一些與Android平台不是很相關的類,或者使用Android的JUint 擴充來測試Android組件,如果你剛開始接觸Android 測試,可以先從AndroidTestCase寫一些通用的測試案例,然後再寫較複雜
Time of Update: 2017-02-27
測試也是開發過程中一個重要組成部分,Android開發環境整合一個測試架構可以用來測試Android應用的各個方面,單元測試,UI測試等。本教程基於Android 開發教程英文版。基本概念包括Android測試的基礎知識Activity Testing 側重於Activity的測試,介紹了如果使用Instrumentation 在正常Activity生命週期之外來控制Activity,然後測試Activity的特定的功能和測試UI的一些技巧。Content Provider Testing
Time of Update: 2017-02-27
Android 簡明開發教程使用了引路蜂二維圖形庫作為例子,引路蜂二維圖形庫是引路蜂地圖開發包 (http://www.imobilebbs.com/wordpress/?page_id=6)一部分,引路蜂地圖開發包提供了對幾乎所有軟體平台(案頭和移動平台 )的支援,採用統一的介面使用包括Google 地圖,Bing地圖,MapABC地圖在內多達二十多種地圖類型,並在同一開發包中支援離
Time of Update: 2017-02-27
到這裡基本介紹了Android開發的一些基本知識,在開發實際應用時最常用的幾個參考是:The Developer’s GuideAndroid ReferencesAndroid Resources最後一個是Google.com :-)寫好應用後,在裝置上測試後,最後一步是發布你的應用。和Java ME平台類似的, Android應用也需要進行數位簽章後才能發布。但和Java ME不同的,Android用來簽名的數位憑證並不需要經過CA認證,這可以 每年省下$400-$500的費用,
Time of Update: 2017-02-27
在前面的例子中,我們忽略了一個重要的原則,在代碼和Layout中,直接使用了字串常量,比如:<Button android:text=”Pattern”android:id=”@+id/btnPattern”android:layout_width=”wrap_content”android:textColor=”@color/black”android:checked=”true&