編輯:Android開發教程
如果@Provides方法很復雜的話,可以將這些代碼移動到單獨的類中。這個類 需要實現Guice的Provider 接口,該接口定義如下
public interface Provider<T> { T get();}
為一個generic 接口。
本例我們定義一個PathProvider,用於 返回一個Path對象:
public class PathProvider implements Provider<Path>{ private String pathdata = "M 60 20 Q -40 70 60 120 Q 160 70 60 20 z"; @Override public Path get() { return Path.fromString(pathdata); } }
然後在Module中定義從Path類到Provider的綁定:
bind (Path.class).toProvider(PathProvider.class);
然後使用繪制這個 Path:
public class ProviderBindingsDemo extends Graphics2DActivity{ @Inject Path path; protected void drawImage(){ AffineTransform mat1; // Colors Color redColor = new Color(0x96ff0000, true); Color greenColor = new Color(0xff00ff00); Color blueColor = new Color(0x750000ff, true); mat1 = new AffineTransform(); mat1.translate(30, 40); mat1.rotate(-30 * Math.PI / 180.0); // Clear the canvas with white color. graphics2D.clear(Color.WHITE); graphics2D.setAffineTransform(new AffineTransform()); SolidBrush brush = new SolidBrush(greenColor); graphics2D.fill(brush, path); graphics2D.setAffineTransform(mat1); brush = new SolidBrush(blueColor); com.mapdigit.drawing.Pen pen = new com.mapdigit.drawing.Pen(redColor, 5); graphics2D.setPenAndBrush(pen, brush); graphics2D.draw(null, path); graphics2D.fill(null, path); } }
本例下載: http://www.imobilebbs.com/download/android/roboguice/ProviderBindingsDe mo.zip
查看全套文章:http://www.bianceng.cn/OS/extra/201301/34950.htm
一、下載AndroidEmoji.ttf字體地址1:Github Android Platform地址2:AndroidEmoji.ttf.zip二、使用2.1將字體拷貝
游俠用的是Android系統的手機,今天早上要刪個文件,結果手快,點錯了……就這樣糾結著到了公司。其實筆記本電腦硬盤裡面有一些數據、照片恢復軟
Android 是最常用的智能手機平台,XML 是數據交換的標准媒介,Android 中可以使用標准的XML生成器、解析器、轉換器 API,對 XML 進行解析和轉換。X
android.Content包定義了一些類,這些類主要用於在設備上訪問或是發布數據,主要有三個包構成。Content 共享 (android.content) 主要用於