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..7811213 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,23 @@
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 +33,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 +46,8 @@
paint.setColor(Color.RED);//色の指定
paint.setStyle(Paint.Style.STROKE);//線をひく
paint.setStrokeWidth(20);//幅
-
+ this.acanthus = new Acanthus();
+ this.strokeNo = new MutableLiveData();
}
//2)onDraw(描画の準備/プロペラが回りだした状態)
@@ -39,7 +55,7 @@
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
- canvas.drawPath(path,paint);
+ canvas.drawPath(path, paint);
}
@@ -54,13 +70,15 @@
ylen.add(y);
//(3-2)タッチの処理
- switch (event.getAction()){
+ switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
- path.moveTo(x,y);
+ path.moveTo(x, y);
+ addStrokes(getAcanthus());
invalidate();
break;
case MotionEvent.ACTION_MOVE:
- path.lineTo(x,y);
+ path.lineTo(x, y);
+ AddPositions(x, y, getStrokeNo());
invalidate();
break;
case MotionEvent.ACTION_UP:
@@ -73,10 +91,83 @@
//4)クリア処理
- public void clearCanvas(){
+ public void clearCanvas() {
System.out.println(xlen.toArray());
path.reset();
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.addStroke(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)呼び出し