diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java index 0eab749..2fb1662 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import kotlin.jvm.JvmDefaultWithoutCompatibility; import retrofit2.Call; @@ -60,6 +61,6 @@ //----------------------------------------------------------------- // - @GET("gallery/{aid}/pageMap/{pid}/image") - Call getLayers(@Path("aid") Integer aid, @Path("pid") Integer pid); + @GET("gallery/{aid}/images") + Call> getPageUrls(@Path("aid") Integer aid); } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java index c627496..692022a 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java @@ -7,6 +7,7 @@ import android.app.Activity; import android.content.Intent; import android.os.Bundle; +import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.webkit.WebView; @@ -20,6 +21,8 @@ import org.ntlab.acanthus_client.views.paint.PaintToolBar; import org.ntlab.acanthus_client.views.paint.PaintViewModel; +import java.util.HashMap; + // 表示ページ public class AnimationActivity extends AppCompatActivity { @@ -28,7 +31,7 @@ private View view; private WebView webView; - private String url; + private HashMap pages; //ボタン系 private boolean buttonView = true; @@ -51,6 +54,8 @@ //wecView webView = this.findViewById(R.id.animationWebview); + webView .getSettings().setLoadWithOverviewMode(true); + webView .getSettings().setUseWideViewPort(true); webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { @@ -124,14 +129,17 @@ animationViewModel.init(acanthus); startObserver(); } + //startobserve private void startObserver(){ - animationViewModel.getAnimationPage().observe(this, new Observer() { + animationViewModel.getAnimationPage().observe(this, new Observer>() { @Override - public void onChanged(String s) { - url = animationViewModel.getAnimationPage().getValue(); + public void onChanged(HashMap s) { + pages = animationViewModel.getAnimationPage().getValue(); //url = "http://nitta-lab-www.is.konan-u.ac.jp/gallery/300/0/a300p0.png"; - webView.loadUrl(url); + webView.loadUrl(pages.get(1)); + Log.d("a", "onFailure: -----------------------OK:Obs"); + //animationCanvas.init(pages); } }); } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java index cd6e9bf..7ff99bb 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java @@ -2,6 +2,7 @@ import android.app.Activity; import android.content.Context; +import android.content.pm.LauncherApps; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; @@ -19,8 +20,13 @@ import org.ntlab.acanthus_client.Acanthus; import org.ntlab.acanthus_client.R; +import java.io.IOException; +import java.io.InputStream; +import java.net.HttpURLConnection; +import java.net.URL; import java.sql.Array; import java.util.ArrayList; +import java.util.HashMap; import java.util.Timer; import java.util.TimerTask; @@ -38,6 +44,7 @@ //ページ指定用の変数 private int pageNo = 0; + private HashMap pages; private ArrayList bmp = new ArrayList<>(); private ArrayList tmp = new ArrayList<>(); @@ -53,6 +60,8 @@ tmp.add(BitmapFactory.decodeResource(getResources(), R.drawable.sample4)); tmp.add(BitmapFactory.decodeResource(getResources(), R.drawable.sample5)); + //tmp.add(getBitmapFromURL("http://nitta-lab-www.is.konan-u.ac.jp/gallery/0/0/a0p0.png")); + //画像サイズを画面サイズにセット WindowManager wm =(WindowManager)context.getSystemService(Context.WINDOW_SERVICE) ; Display display = wm.getDefaultDisplay(); @@ -62,6 +71,19 @@ } + +// void init(HashMap pages){ +// this.pages = pages; +// for(int i = 0; i < pages.size(); i++){ +// bmp.add(getBitmapFromURL(pages.get(i))); +// } +// } + + //URLをとる +// public void setPages(HashMap pages){ +// this.pages = pages; +// } + //画像サイズの変更 private void setSize(int width, int height){ for(int i = 0; i < tmp.size(); i++) { @@ -69,6 +91,22 @@ } } + //URLを画像に変換 + public static Bitmap getBitmapFromURL(String src) { + try { + URL url = new URL(src); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setDoInput(true); + connection.connect(); + InputStream input = connection.getInputStream(); + Bitmap myBitmap = BitmapFactory.decodeStream(input); + return myBitmap; + } catch (IOException e) { + e.printStackTrace(); + return null; + } + } + @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationConnectionModel.java index 1a1bd24..ded1ff7 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationConnectionModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationConnectionModel.java @@ -9,6 +9,7 @@ import org.ntlab.acanthus_client.resources.gallery.StrokesRest; import java.util.Collection; +import java.util.HashMap; import retrofit2.Call; import retrofit2.Callback; @@ -34,23 +35,24 @@ .build(); } - public void getPage(MutableLiveData pages) { + public void getPage(MutableLiveData> pages) { final StrokesRest strokesRest = retrofit.create(StrokesRest.class); //----------------------------------------------------------------- // 筆跡追加API - Call call = strokesRest.getLayers(300, 0); - call.enqueue(new Callback() { + Call> call = strokesRest.getPageUrls(1111); + call.enqueue(new Callback>() { @Override - public void onResponse(Call call, Response response) { + public void onResponse(Call> call, Response> response) { if (response.isSuccessful()){ pages.setValue(response.body()); + Log.d("a", "onFailure: -----------------------OK:Serv"); } } @Override - public void onFailure(Call call, Throwable t) { - Log.d("a", "onFailure: "); + public void onFailure(Call> call, Throwable t) { + Log.d("a", "onFailure: -----------------------NG"); } }); diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java index d56c054..5e8eb6e 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java @@ -1,27 +1,3 @@ -/*package org.ntlab.acanthus_client.views.animation; - -import androidx.lifecycle.ViewModel; - -import org.ntlab.acanthus_client.Acanthus; -import org.ntlab.acanthus_client.entities.Stroke; - -import retrofit2.Retrofit; - -public class AnimationViewModel extends ViewModel { - private Retrofit retrofit; - private Acanthus acanthus; - // getStrokes - public void getAnimationStrokes() { - Stroke stroke = retrofit.create(Stroke.class); - stroke.getPositions(); - stroke.getPen(); - stroke.getColor(); - stroke.getThickness(); - - //return stroke; - } -} -*/ package org.ntlab.acanthus_client.views.animation; import android.util.Log; @@ -37,6 +13,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import retrofit2.Call; import retrofit2.Retrofit; @@ -48,7 +25,7 @@ private Acanthus acanthus; private PaintModelContainer paintModelContainer; private AnimationConnectionModel animationConnectionModel; - private MutableLiveData pages = new MutableLiveData<>();; + private MutableLiveData> pages = new MutableLiveData<>();; public void init(Acanthus acanthus) { @@ -60,7 +37,7 @@ } // StrokesRestをGETする。 - public LiveData getAnimationPage() { + public LiveData> getAnimationPage() { return pages; } } diff --git a/app/src/main/res/layout/activity_animation.xml b/app/src/main/res/layout/activity_animation.xml index 9e28390..70be5e9 100644 --- a/app/src/main/res/layout/activity_animation.xml +++ b/app/src/main/res/layout/activity_animation.xml @@ -6,17 +6,6 @@ android:layout_height="match_parent" tools:context=".views.animation.AnimationActivity"> - - - - + + + + \ No newline at end of file