** НА ЭТОТ ВОПРОС БЫЛ УСПЕШНО ОТВЕЧЕН И СТАЛ ПОСТОМ В БЛОГЕ **
Привет, я PHP-разработчик, я хочу сделать простую вещь -Я хочу нарисовать что-то на пустой странице на телефоне Android (пальцем с большим «эмулированным пером пера» )и сохранить растровое изображение в формате jpeg на сервере по почте http.
Вот то, что у меня есть на данный момент, но это взято из учебника , связанного с написанием спрайтов для игры.. И я не могу его адаптировать
package com.my.example;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnTouchListener;
public class DrawCapture extends Activity implements OnTouchListener{
OurView v;
Bitmap ball;
float x,y;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.draw_capture);
v = new OurView(this);
v.setOnTouchListener(this);
ball = BitmapFactory.decodeResource(getResources(), R.drawable.blueball);
x = y = 0;
setContentView(v);
}
@Override
protected void onPause(){
super.onPause();
v.pause();
}
protected void onResume(){
super.onResume();
v.resume();
}
public class OurView extends SurfaceView implements Runnable{
Thread t = null;
SurfaceHolder holder;
boolean isItOK = false;
public OurView(Context context) {
super(context);
holder = getHolder();
}
public void run() {
while (isItOK == true){
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
//perform canvas drawing
if (!holder.getSurface().isValid()){
continue;
}
Canvas c = holder.lockCanvas();
onDraw(c);
holder.unlockCanvasAndPost(c);
}
}
public void onDraw(Canvas c){
c.drawARGB(255, 210, 210, 210);
c.drawBitmap(ball, x - (ball.getWidth()/2), y - (ball.getHeight()/2), null);
}
public void pause(){
isItOK = false;
while(true){
try{
t.join();
} catch(InterruptedException e){
e.printStackTrace();
}
break;
}
t = null;
}
public void resume(){
isItOK = true;
t = new Thread(this);
t.start();
}
}
public boolean onTouch(View v, MotionEvent me){
switch (me.getAction()){
case MotionEvent.ACTION_DOWN :
x = me.getX();
y = me.getY();
break;
case MotionEvent.ACTION_UP :
x = me.getX();
y = me.getY();
break;
case MotionEvent.ACTION_MOVE :
x = me.getX();
y = me.getY();
break;
}
return true;
}
}
а вот XML
Кто-нибудь может мне помочь? Я чувствую, что я близок -Я использую blueball
в качестве пера. Я просто хочу "сохранить" это, и, возможно, мне понадобится кнопка (или меню )на странице XML, чтобы сделать это ? Я знаю, что это немного прошу, но много людей в сети спрашивают, как рисовать пальцем и сохранять что-то в «облаке», если бы люди могли ответить примерами кода (не ссылки )Я обещаю, что скомпилирую это в правильный обучающий фрагмент кода для конечной пользы всех. Включая серверный код PHP, которым я уже очень доволен.