diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f34e315..3adb7d5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,7 +21,8 @@ - + + addPositions(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo, - @Field("x") Float x, @Field("y") Float y); + @Field("x") double x, @Field("y") double y); //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java index 9ddd41d..9e78106 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java @@ -49,7 +49,7 @@ String password = passwordForm.getText().toString(); // ログイン - Call call = loginRest.issueLoginToken(emailAddress, password); + Call call = loginRest.issueLoginToken(emailAddress,password); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/MyPaint.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/MyPaint.java index 193a253..1fbf18b 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/MyPaint.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/MyPaint.java @@ -9,10 +9,22 @@ import android.view.MotionEvent; import android.view.View; +import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.resources.HelloWorldRest; +import org.ntlab.acanthus_client.resources.gallery.StrokesRest; + import java.util.ArrayList; import java.util.List; import androidx.annotation.Nullable; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; public class MyPaint extends View { @@ -20,6 +32,8 @@ private Paint paint; private ArrayList xlen = new ArrayList(); private ArrayList ylen = new ArrayList(); + private Acanthus acanthus; + private MutableLiveData strokeNo; public MyPaint(Context context, @Nullable AttributeSet attrs) { super(context, attrs); @@ -31,7 +45,8 @@ paint.setColor(Color.RED);//色の指定 paint.setStyle(Paint.Style.STROKE);//線をひく paint.setStrokeWidth(20);//幅 - + this.acanthus= new Acanthus(); + this.strokeNo = new MutableLiveData(); } //2)onDraw(描画の準備/プロペラが回りだした状態) @@ -57,10 +72,12 @@ switch (event.getAction()){ case MotionEvent.ACTION_DOWN: path.moveTo(x,y); + addStrokes(getAcanthus()); invalidate(); break; case MotionEvent.ACTION_MOVE: path.lineTo(x,y); + AddPositions(x,y,getStrokeNo()); invalidate(); break; case MotionEvent.ACTION_UP: @@ -79,4 +96,76 @@ invalidate(); } + public void setAcanthus(Acanthus acanthus){ + this.acanthus=acanthus; + } + public Acanthus getAcanthus(){ + return acanthus; + } + + public MutableLiveData getStrokeNo() { + return strokeNo; + } + + public void setStrokeNo(int strokeNo) { + this.strokeNo.setValue(strokeNo); + } + + ////////////////////////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////////////////////////// + //retrofit + public void AddPositions(double x, double y ,MutableLiveData strokeno){ + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final StrokesRest strokesRest = retrofit.create(StrokesRest.class); + Call call = strokesRest.addPositions(1111,strokeno.getValue(),x,y); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if(response.isSuccessful()) { + System.out.println("success"); + }else{ + System.out.println("false"); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + //mText.setValue("みす helloworld"); + } + }); + + } + + public void addStrokes(Acanthus acanthus){ + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final StrokesRest strokesRest = retrofit.create(StrokesRest.class); + Call call = strokesRest.addStrokes(1111,acanthus.getPreferenceUid(),acanthus.getPreferenceToken(),1,1,1); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if(response.isSuccessful()) { + System.out.println("success"); + setStrokeNo(response.body().intValue()); + }else{ + System.out.println("false"); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + //mText.setValue("みす helloworld"); + } + }); + + } + + } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java index fc4abe0..144fc8c 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java @@ -5,6 +5,7 @@ import android.os.Bundle; import android.view.View; +import org.ntlab.acanthus_client.Acanthus; import org.ntlab.acanthus_client.R; public class PaintActivity extends AppCompatActivity { @@ -18,6 +19,8 @@ //6)描画のid取得 myPaint =(MyPaint) findViewById(R.id.myCanvas); + Acanthus acanthus = (Acanthus) getApplication(); + myPaint.setAcanthus(acanthus); } //5)クリアメソッド(4)呼び出し