diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index bb30aee..1c4da21 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -1,17 +1,6 @@ - - - - - - - - - - - diff --git a/app/src/main/java/com/example/nemophila/MyPageActivity.java b/app/src/main/java/com/example/nemophila/MyPageActivity.java index acfdcd4..4f786e9 100644 --- a/app/src/main/java/com/example/nemophila/MyPageActivity.java +++ b/app/src/main/java/com/example/nemophila/MyPageActivity.java @@ -49,7 +49,6 @@ private final ExecutorService executor = Executors.newSingleThreadExecutor(); private final Handler handler = new Handler(); private String iconUrlString; - private ImageView icon; //MyPageActivity画面の作成 @Override @@ -61,6 +60,7 @@ Nemophila nemophila = (Nemophila) this.getApplication(); String uid = nemophila.getUid(); String name = nemophila.getName(); + Bitmap icon = nemophila.getIcon(); String token = nemophila.getToken(); TextView myName = (TextView) findViewById(R.id.name); myName.setText(name); @@ -68,9 +68,10 @@ id.setText(uid); //アイコンを表示する - icon = findViewById(R.id.icon); - iconUrlString = "http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/icon"+uid+".jpg";; - setIcon(icon); + ImageView iconView = findViewById(R.id.icon); + iconView.setImageBitmap(icon); +// iconUrlString = "http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/icon"+uid+".jpg";; +// setIcon(icon); // 「閉じる」ボタンを押したときにメイン画面へ遷移する Button closeButton = (Button) findViewById(R.id.close); @@ -158,7 +159,7 @@ for (Post post: Posts){ MyPageActDataModel data = new MyPageActDataModel(); data.setDate(post.getDate()); - data.setName(post.getName()); + data.setName(post.getShopName()); data.setGenre(post.getGenre()); //rateはintで受け取った評価に対応した星の数のStringに変換してセット int intRate = post.getRate(); @@ -172,6 +173,40 @@ } data.setRate(strRate); data.setComment(post.getComment()); + //画像がなければViewの表示をgoneに、あればvisibleにして画像をセット + executor.execute(() -> { + String[] imageUrls = new String[3]; + Bitmap[] bitmaps = new Bitmap[3]; + for(int i=1; i<=3; i++) { + imageUrls[i-1] = "http://nitta-lab-www.is.konan-u.ac.jp/nemophila-data/post_image"+ uid +"-" + post.getPid() +"-" + i +".jpg"; + try { + URL image1Url = new URL(imageUrls[i - 1]); + HttpURLConnection con = (HttpURLConnection) image1Url.openConnection(); + con.connect(); + + InputStream is = con.getInputStream(); + bitmaps[i - 1] = BitmapFactory.decodeStream(is); + is.close(); + con.disconnect(); + } catch (Exception e) { + e.printStackTrace(); + bitmaps [i-1] = null; + } + } + + handler.post(() -> { + for(int i=1; i<=3; i++) { + if (i == 1) { + data.setImage1(bitmaps[i - 1]); + } else if (i == 2) { + data.setImage2(bitmaps[i - 1]); + } else if (i == 3) { + data.setImage3(bitmaps[i - 1]); + } + } + adapter.notifyDataSetChanged(); + }); + }); data.setPid(post.getPid()); myPageActDataset.add(data); } @@ -184,26 +219,26 @@ } // アイコンに画像を設定 - 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); - } - }); - } +// 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の内部クラス */ @@ -236,6 +271,9 @@ holder.rateView.setText(list.get(position).getRate()); holder.genreView.setText(list.get(position).getGenre()); holder.commentView.setText(list.get(position).getComment()); + holder.imageView1.setImageBitmap(list.get(position).getImage1()); + holder.imageView2.setImageBitmap(list.get(position).getImage2()); + holder.imageView3.setImageBitmap(list.get(position).getImage3()); } @Override @@ -251,6 +289,9 @@ public TextView rateView; public TextView genreView; public TextView commentView; + public ImageView imageView1; + public ImageView imageView2; + public ImageView imageView3; public ImageButton deleteButton; public MyPageActViewHolder(@NonNull View view) { @@ -260,6 +301,9 @@ rateView = (TextView) view.findViewById(R.id.rate); genreView = (TextView) view.findViewById(R.id.genre); commentView = (TextView) view.findViewById(R.id.comment); + imageView1 = (ImageView) itemView.findViewById(R.id.image1); + imageView2 = (ImageView) itemView.findViewById(R.id.image2); + imageView3 = (ImageView) itemView.findViewById(R.id.image3); deleteButton = view.findViewById(R.id.deleteButton); } } @@ -272,6 +316,9 @@ private String genre; private String comment; private String pid; + private Bitmap image1; + private Bitmap image2; + private Bitmap image3; public String getName() { return name; } public void setName(String name) { this.name = name; } @@ -306,5 +353,20 @@ public String getPid() { return pid; } public void setPid(String pid) { this.pid = pid; } + + public Bitmap getImage1() { return image1; } + public void setImage1(Bitmap image1) { + this.image1 = image1; + } + + public Bitmap getImage2() { return image2; } + public void setImage2(Bitmap image2) { + this.image2 = image2; + } + + public Bitmap getImage3() { return image3; } + public void setImage3(Bitmap image3) { + this.image3 = image3; + } } } diff --git a/app/src/main/java/com/example/nemophila/entities/Post.java b/app/src/main/java/com/example/nemophila/entities/Post.java index 9a55b5a..1d90de5 100644 --- a/app/src/main/java/com/example/nemophila/entities/Post.java +++ b/app/src/main/java/com/example/nemophila/entities/Post.java @@ -4,6 +4,7 @@ private String pid; private String uid; private String name; + private String shopName; private String genre; private String date; private int rate; @@ -19,6 +20,7 @@ public String getName() { return name; } + public String getShopName() { return shopName; } public String getGenre() { return genre; } @@ -42,6 +44,7 @@ public void setName(String name) { this.name = name; } + public void setShopName(String shopName) { this.shopName = shopName; } public void setGenre(String genre) { this.genre = genre; } @@ -60,6 +63,7 @@ this.pid = pj.getId(); this.uid = pj.getOwner().getId(); this.name = pj.getOwner().getName(); + this.shopName = pj.getShopName(); this.genre = pj.getGenre(); this.date = pj.getDate(); this.rate = pj.getRate(); diff --git a/app/src/main/java/com/example/nemophila/entities/PostJson.java b/app/src/main/java/com/example/nemophila/entities/PostJson.java index 81073c7..496ac50 100644 --- a/app/src/main/java/com/example/nemophila/entities/PostJson.java +++ b/app/src/main/java/com/example/nemophila/entities/PostJson.java @@ -2,6 +2,7 @@ public class PostJson { private String id; + private String shopName; private String genre; private String date; private String image1; @@ -15,6 +16,7 @@ public String getId() { return id; } + public String getShopName() { return shopName; } public String getGenre() { return genre; } @@ -44,6 +46,7 @@ public void setId(String id) { this.id = id; } + public void setShopName(String shopName) { this.shopName = shopName; } public void setGenre(String genre) { this.genre = genre; } diff --git a/app/src/main/res/layout/layout_my_page_activity_posts.xml b/app/src/main/res/layout/layout_my_page_activity_posts.xml index 054645f..a53b1f0 100644 --- a/app/src/main/res/layout/layout_my_page_activity_posts.xml +++ b/app/src/main/res/layout/layout_my_page_activity_posts.xml @@ -15,40 +15,13 @@ - - - - - - - - + + + + + + + + + + + + + + + + +