Портирование JavaME на Android - PullRequest
       4

Портирование JavaME на Android

3 голосов
/ 10 февраля 2011

Я пытаюсь портировать приложение с javaME на Android.У меня есть часть, где используется графический класс.

Я использовал J2ME Android bridge (http://www.assembla.com/wiki/show/j2ab/Converting_From_J2ME/8), чтобы получить доступ к графическому классу. Мне все еще не хватает некоторых методов, таких как:

  • getStrokeStyle ()
  • setStrokeStyle ()
  • drawRGB ()
  • fillTriangle ()

Также, как использовать вектор?

пример: Vector polylines = g.getPolylines();

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Я создал автоматический конвертер J2ME-> Android в нашей компании. Сопоставить графику J2ME (javax.microedition.ldcui.Graphics) с графикой Android (android.graphics.Canvas) действительно просто.

setStrokeStyle - изменение пути к вашему экземпляру Paint

PathEffect EFFECT_DOTTED_STROKE = new DashPathEffect(new float[] {2, 4}, 4);

if (style == SOLID) {
    strokePaint.setPathEffect(null);
}
else {
    strokePaint.setPathEffect(EFFECT_DOTTED_STROKE);
}

drawRGB - прямой вызов метода Canvas

public void drawRGB(int[] rgbData, int offset, int scanLength, int x, int y, int width, int height, boolean processAlpha) {
    canvas.drawBitmap(rgbData, offset, width, x + translateX, y + translateY, width, height, processAlpha, null);
}

fillTriangle - использование пути

public void fillTriangle(int x1, int y1, int x2, int y2, int x3, int y3) {
    Path path = new Path();
    path.moveTo(x1 + translateX, y1 + translateY);
    path.lineTo(x2 + translateX, y2 + translateY);
    path.lineTo(x3 + translateX, y3 + translateY);
    path.close();

    strokePaint.setStyle(Paint.Style.FILL);
    canvas.drawPath(path, strokePaint);
} 

Под Вектором вы имеете в виду java.util.Vector? Android API содержит точно такой же класс ...

1 голос
/ 08 марта 2011

Вы можете рисовать фигуры, переписав метод onDraw в макете например

protected void onDraw(Canvas canvas) {
    canvas.drawCircle(cx, cy, radius, paint)
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...