diff --git a/app/src/main/java/com/example/nemophila/MyPageActivity.java b/app/src/main/java/com/example/nemophila/MyPageActivity.java index e64cb04..acfdcd4 100644 --- a/app/src/main/java/com/example/nemophila/MyPageActivity.java +++ b/app/src/main/java/com/example/nemophila/MyPageActivity.java @@ -1,5 +1,8 @@ package com.example.nemophila; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.lifecycle.Observer; @@ -12,6 +15,7 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.view.LayoutInflater; @@ -26,10 +30,14 @@ import com.example.nemophila.entities.Post; import com.example.nemophila.viewmodels.AccountViewModel; +import java.io.BufferedInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileNotFoundException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; +import java.util.Base64; import java.util.Collection; import java.util.List; import java.util.concurrent.ExecutorService; @@ -59,26 +67,10 @@ TextView id = (TextView) findViewById(R.id.id); id.setText(uid); - //アイコン仮セット - //url作る + //アイコンを表示する icon = findViewById(R.id.icon); - iconUrlString = "http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/test01.jpg"; - executor.execute(() -> { - try{ - URL url = new URL(iconUrlString); - HttpURLConnection con = (HttpURLConnection) url.openConnection(); - con.connect(); - - InputStream is = con.getInputStream(); - - Bitmap bitmap = BitmapFactory.decodeStream(is); - handler.post(() -> icon.setImageBitmap(bitmap)); - is.close(); - con.disconnect(); - }catch (Exception e){ - e.printStackTrace(); - } - }); + iconUrlString = "http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/icon"+uid+".jpg";; + setIcon(icon); // 「閉じる」ボタンを押したときにメイン画面へ遷移する Button closeButton = (Button) findViewById(R.id.close); @@ -191,6 +183,28 @@ }); } + // アイコンに画像を設定 + private void setIcon(ImageView iv) { + executor.execute(() -> { + try{ + URL url = new URL(iconUrlString); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.connect(); + + InputStream is = con.getInputStream(); + + Bitmap bitmap = BitmapFactory.decodeStream(is); + handler.post(() -> iv.setImageBitmap(bitmap)); + is.close(); + con.disconnect(); + }catch (Exception e){ + e.printStackTrace(); + iconUrlString = "http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/test01.jpg"; + setIcon(iv); + } + }); + } + /* ここからMyPageActivityの内部クラス */ // Adapter