第四步:安装Android ADT插件
运行Eclipse,选择help->install new software 选择add,将会弹出一个框
图 3.4
点击OK,选择要安装的软件,占next,然后选择接受协议,直到安装成功,重启Eclipse软件,设置Android SDK Home,Window->refrence
图 3.5
在SDK location中输入SDK Tools路径:D:\\android
- 6 -
software\\android-sdk-windows 点击OK
3.2其他主要代码:
1. package org.vhow.paintpad.drawings;
import org.vhow.paintpad.tools.Brush;
import android.graphics.Canvas; /**
* A circle. */
public class Circle extends Drawing { @Override public void draw(Canvas canvas) { canvas.drawCircle( this.startX + (this.stopX - this.startX) / 2, this.startY + (this.stopY - this.startY) / 2, Math.abs(this.startX - this.stopX) / 2, Brush.getPen()); } }
2. package org.vhow.paintpad.drawings;
import android.graphics.Canvas; /**
* Abstract shape. All the shapes in this application extends this class. */
public abstract class Drawing { public float startX; public float startY; public float stopX; public float stopY; public void reset() {
- 7 -
this.startX = 0; this.startY = 0; this.stopX = 0; this.stopY = 0; } /** * A abstract method, that all the shapes must implement. * * @param canvas * A canvas to draw on. */ public abstract void draw(Canvas canvas); public void fingerDown(float x, float y, Canvas canvas) { this.reset(); this.startX = x; this.startY = y; } public void fingerMove(float x, float y, Canvas canvas) { this.stopX = x; this.stopY = y; } public void fingerUp(float x, float y, Canvas canvas) { this.stopX = x; this.stopY = y; this.draw(canvas); this.reset(); } }
3.package org.vhow.paintpad.drawings; /**
* Factory class, used to generate drawing. */
public class DrawingFactory { Drawing drawing = null;
- 8 -
/** * @param id * The id of the drawing. * @return The Drawing instance with the id. */ public Drawing createDrawing(int id) { switch (id) { case DrawingId.DRAWING_PATHLINE: drawing = new PathLine(); break; case DrawingId.DRAWING_STRAIGHTLINE: drawing = new StraightLine(); break; case DrawingId.DRAWING_RECT: drawing = new Rect(); break; case DrawingId.DRAWING_OVAL: drawing = new Oval(); break; case DrawingId.DRAWING_CIRCLE: drawing = new Circle(); break; case DrawingId.DRAWING_POINTS: drawing = new Points(); break; case DrawingId.DRAWING_ERASER: drawing = new Eraser(); break; } return drawing; } }
4. package org.vhow.paintpad.drawings; /**
* Defines the IDs of the drawings. */
public class DrawingId { public static final int DRAWING_PATHLINE = 0;
- 9 -
public static final int DRAWING_STRAIGHTLINE = 1; public static final int DRAWING_RECT = 2; public static final int DRAWING_OVAL = 3; public static final int DRAWING_CIRCLE = 4; public static final int DRAWING_POINTS = 5; public static final int DRAWING_ERASER = 6; }
5. package org.vhow.paintpad.drawings;
import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; /**
* An earser, drawing the track line with the color of the bitmap's background * color. */
public class Eraser extends Drawing { Path mPath = null; private float mX, mY; private static final float TOUCH_TOLERANCE = 4; Paint eraser; public Eraser() { mPath = new Path(); eraser = new Paint(); eraser.setColor(Color.WHITE); eraser.setStrokeWidth(5f); } @Override public void draw(Canvas canvas) { System.out.println(\ canvas.drawPath(this.mPath, eraser); } @Override public void fingerDown(float x, float y, Canvas canvas) { mPath.reset();
- 10 -