Time of Update: 2017-02-27
Injector 通過檢查bindings 定義來建立某個類型的執行個體對象。定義在Module 中的綁定稱為“明確聲明綁定(Explicit bindings”。Injector 會首先使用帶 有Explicit Bindings為某個類型建立執行個體對象。 當但某個類型沒有明確定義綁 定時,Injector 試圖構造“即時綁定(Just-in-time Bindings),JIT Bindings 也成為隱含綁定(implicit
Time of Update: 2017-02-27
在建立Bindings時,也可以不給出綁定的目標,通常用於含有@ImplementedBy 和@ProvidedBy (後面介紹)的實類(Concrete classes 或type)。 Untargeted bindings 目的是通知Injector 某個類類型,從而Injector可以預先準備某個依 賴。Untargetted Bindings不含to語句。例如:bind(MyConcreteClass.class);
Time of Update: 2017-02-27
上篇介紹了使用Animation實現3D動畫旋轉翻頁效果,現在介紹圖片倒影實現,先看效果圖本樣本主要通過自訂Gallery和ImageAdapter(繼承自BaseAdapter)實現1、倒影繪製ImageAdapter繼承自 BaseAdapter,詳細實現可見 Android 滑動效果入門篇(二)—— Gallery 這裡重點介紹倒影原理及實現倒影原理:倒影效果是主要由原圖+間距+倒影三部分組成,高度大約為原圖的3/2(原圖為1、倒影為1/2)原圖,就是我們
Time of Update: 2017-02-27
前面介紹了利用Android內建的控制項,進行滑動翻頁製作效果,現在我們通過代碼實現一些滑動翻頁的動畫效果。Animation實現動畫有兩個方式:幀動畫(frame-by-frame animation)和補間動畫(tweened animation)本示 例通過繼承Animation自訂Rotate3D,實現3D翻頁效果。效果圖如下:1、Rotate3D(Animation)首先,自訂Animation的3D動畫類Rotate3Dpublic class Rotate3D extends
Time of Update: 2017-02-27
ViewFilpper 是Android官方提供的一個View容器類,繼承於ViewAnimator類,用於實現頁面切換,也可以設定時間間隔,讓 它自動播放。又ViewAnimator繼承至於FrameLayout的,所以ViewFilpper的Layout裡面可以放置多個View,繼承關係如下:本樣本 通過ViewFlipper和GestureDetector.OnGestureListener實現自動播放和手勢滑屏事件,先看效果:Activityimport
Time of Update: 2017-02-27
Android SDK對應沒個定義在res目錄下的資源都會定義一個維一的資源ID。在編譯時間會在gen目錄下產生 R.java , 資源ID的 格式為 R.[type].[id] 類型為資源類型如anim, array, attr等可以在代碼或是XML 資源檔(如layout, style中)訪問這些資源。Context類提供了訪問資源的方法,一是直接通過如getText, getString
Time of Update: 2017-02-27
android.Content包定義了一些類,這些類主要用於在裝置上訪問或是發布資料,主要有三個包構成。Content 共用 (android.content) 主要用於在Application的各個組件自己共用一些資料,主要的列有Content Provider,ContentResolver用於管理和發布資料。 Intent,IntentFilter 用於Application不同組件之間發送訊息。Package 管理 (android.content.pm) 用於訪問Android
Time of Update: 2017-02-27
App->Service->Service Start Arguments Controller本例是ApiDemos關於Service的最後一個例子,這個例子的主要目的是介紹如何向Service傳遞參數。前面的例子忽略了一個重要的問題: Service 的onStartCommand 或是 onStart(2.1版本之前)是使用調用它的Android組件(通常是Activity)同一個Thread來執行的,對應Activity來說,這個Thread通常是UI
Time of Update: 2017-02-27
Remote Service Controller 和使用Local Service的Android ApiDemo樣本解析(40):App->Service->Local Service Controller都是使用Service的“Started” 模式,RemoteService在 AndroidManifest.xml中的定義如下:<service android:name=”.app.RemoteService”
Time of Update: 2017-02-27
本例和下個例子Remote Service Controller 涉及到的檔案有RemoteService.java ,IRemoteService.aidl, IRemoteServiceCallback.aidl 及ISecondary.aidl。Android Interface Definition Language(AIDL)和其它一些支 持遠程方法調用RMI的系統的IDL類似,它定義了Service和Client 之間的使用介面約定,這種遠程調用一般需要通過處理序間通訊
Time of Update: 2017-02-27
前面LocalService 主要是提供同一Application中組件來使用,如果希望支援不同應用或進程使用Service。可以通過 Messenger。使用Messgener可以用來支援處理序間通訊而無需使用AIDL。下面步驟說明裡Messenger的使用方法:在Service中定義一個Handler來處理來自Client的請求。使用這個Handler建立一個Messenger (含有對Handler的引用).Messenger建立一個IBinder對象返回給Client(
Time of Update: 2017-02-27
本例和下列Local Service Controller 的Activity代碼都定義在LocalServiceActivities.Java 中,作為 LocalServiceActivities 內部類實現的。 調用的Service為LocalService。LocalService既可以做為“Started” Service,也可以做為”Bound” Service。一個“Bound” Service
Time of Update: 2017-02-27
Preferences之間可以定義依賴關係,在第一個例子中已有說明。對應定義了依賴關係的Preferences,依賴指向的 Preference可以稱為Parent preference ,只有在Parent preference選中時,子Preference 才可以配置,否則子Preference 被Disabled,顯示為灰色。這個例子對應的Preferences定義如下:<PreferenceScreenxmlns:android=”
Time of Update: 2017-02-27
前給例子介紹了如何使用PreferenceActivity 來顯示修改應用偏好,使用者對Preferences的修改自動儲存在應用對應的 Shared Preferences中。本例介紹了如何從一個Activity來取得由PreferenceActivity 的Preference值。 比如在實際 應用中通過PreferenceActivity介面來取得使用者偏好或是配置。因為希望從PreferenceActivity傳回值,所以使用 startActivityForResult
Time of Update: 2017-02-27
這個例子的Icons Only 和 Icons and marquee 沒有什麼特別好說明的。而Use Remote views in balloon 介紹了可 以自訂在Extended Status bar顯示Notification的Layout,Extended Status Bar預設顯示Notification 是一個表徵圖後接文 字,對應大多數情況是夠用了。但如果有需要也可以使用自訂的Layout在Extented Status bar顯示Notification,方法是通
Time of Update: 2017-02-27
本例實現的功能和例子Android RoboGuice 使用指南(2):第一個例子Hello World一樣,所不同的是本例使用RoboGuice2.0 來實現。下載新的RoboGuice庫,Roboguice2.0 庫有四個庫組成,如下圖所示:庫可以從 http://code.google.com/p/roboguice/下載。2. 建立一個新Android項目,比如GuiceDemo,目標平台Android1.5以上。3.
Time of Update: 2017-02-27
Roboguice 提供了對Context 生命週期相關的事件的send 和receive ,系統缺 省支援的事件為:OnActivityResultEventOnConfigurationChangedEventOnContentC hangedEventOnContentViewAvailableEventOnCreateEventOnDestroyEv entOnNewIntentEventOnPauseEventOnRestartEventOnResumeEvent<
Time of Update: 2017-02-27
Roboguice 對訪問res 目錄下各種資源drawable, arrary, string 等也提供 了注入支援。可以通過@InjectResource 很方便的應用所需資源。本例修 改Android ApiDemos樣本解析(48):Content->Resources->Resources 使 用Inject Resource方法來訪問資源。public class InjectResourceDemo extends RoboActivity {
Time of Update: 2017-02-27
使用Intent 啟動一個Activity,Service等時,可以通過putExtra 傳送資料 ,被觸發的Activity,Service可以使用getIntent()的getExtras 取的Extra的 Bundle ,然後再根據Extra的索引值(Key)取的對應的參數值。RoboGuice提 供了一個簡潔的方法來取得 這些Extra 值,通過@InjectExtra 標記。本 例使用兩個Activity,InjectExtraDemo 用來觸發InjectExtraReceiver,
Time of Update: 2017-02-27
在例子Android RoboGuice 使用指南(2):第一個例子Hello World 介紹了使用 Roboguice開發的基本步驟:建立一個RoboApplication 的子類GuiceApplication,GuiceApplication為 Appliacation的子類,修改AndroidManifest.xml,將Application 的name 指向這 個類。將原先由Activity派生的類基類改為RoboActivity(或其它相關