diff --git a/.idea/misc.xml b/.idea/misc.xml
index 539ed66..1adffca 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -49,9 +49,10 @@
+
-
+
diff --git a/app/src/main/java/com/example/nemophila/ShopActivity.java b/app/src/main/java/com/example/nemophila/ShopActivity.java
index e2ca152..d9a9451 100644
--- a/app/src/main/java/com/example/nemophila/ShopActivity.java
+++ b/app/src/main/java/com/example/nemophila/ShopActivity.java
@@ -11,7 +11,10 @@
import androidx.recyclerview.widget.RecyclerView;
import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.os.Bundle;
+import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -25,13 +28,21 @@
import com.example.nemophila.entities.Shop;
import com.example.nemophila.viewmodels.PostsViewModel;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
public class ShopActivity extends AppCompatActivity {
private ShopAcAdapter adapter = null;
+ private final ExecutorService executor = Executors.newSingleThreadExecutor();
+ private final Handler handler = new Handler();
+ private String iconUrlString;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -42,6 +53,7 @@
String shopName;
String sid;
String myUid = ((Nemophila)getApplication()).getUid();
+ Bitmap iconBitmap;
//NemophilaからcurrentShopを取得、店名の表示
shop = ((Nemophila)getApplication()).getCurrentShop();
@@ -73,7 +85,6 @@
//Nemophilaから選択中のジャンル(HashSet)を受け取る
HashSet selectingGenre = ((Nemophila)getApplication()).getSelectGenres();
-
//選択中のジャンルが何かあれば表示
if(!(selectingGenre.isEmpty())) {
TextView genreView = (TextView) findViewById(R.id.shopAcGenre);
@@ -82,7 +93,6 @@
//Nemophilaから選択中のフレンド(HashSet)を受け取る
HashSet selectingFriend = ((Nemophila)getApplication()).getSelectFriends();
-
//選択したフレンドを表示するために名前を格納するHashSetを宣言
HashSet selectingFriendName = new HashSet<>();
//フレンド選択があればフレンド名をHashSetにセットし表示する
@@ -104,7 +114,7 @@
RecyclerView rv = (RecyclerView) findViewById(R.id.postsList);
adapter = new ShopAcAdapter(postsDataset);
- //一行ずつを縦に(LinearLayout)表示するLayoutManagerを宣言 第三引数のtrueで降順に表示
+ //一行ずつを縦に(LinearLayout)表示するLayoutManagerを宣言
LinearLayoutManager llm = new LinearLayoutManager(this);
//
RecyclerView.ItemDecoration itemDecoration =
@@ -114,6 +124,7 @@
rv.setHasFixedSize(true);
rv.setLayoutManager(llm);
+
//PostViewModelを宣言し、currentShopから取得したsidの店舗の投稿をロード
PostsViewModel postsViewModel = new ViewModelProvider(this).get(PostsViewModel.class);
postsViewModel.loadShopPost(sid);
@@ -169,6 +180,31 @@
data.setRate(strRate);
data.setGenre(genre);
data.setComment(post.getComment());
+
+ //アイコン仮セット
+ //url作る
+ 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(() -> {
+ data.setIcon(bitmap);
+ adapter.notifyItemChanged(adapter.getPosition(data));
+ });
+ is.close();
+ con.disconnect();
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ });
+
//画像がなければViewの表示をgoneに、あればvisibleにして画像をセット
// if(post.get) {
// }
@@ -201,6 +237,8 @@
this.list = list;
}
+ public int getPosition(ShopAcDataModel data) { return list.indexOf(data); }
+
@NonNull
@Override
public ShopAcViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -217,7 +255,27 @@
holder.rateView.setText(list.get(position).getRate());
holder.genreView.setText(list.get(position).getGenre());
holder.commentView.setText(list.get(position).getComment());
-// holder.iconView.setImageResource(list.get(position).getIcon());
+ holder.iconView.setImageBitmap(list.get(position).getIcon());
+// //アイコン仮セット
+// 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(() -> {
+// ImageView imageView = findViewById(R.id.shopAcIconPic);
+// imageView.setImageBitmap(bitmap);
+// });
+// is.close();
+// con.disconnect();
+// }catch (Exception e){
+// e.printStackTrace();
+// }
+// });
}
@Override
@@ -259,7 +317,7 @@
private String rate;
private String genre;
private String comment;
- private String icon;
+ private Bitmap icon;
private String image1;
private String image2;
private String image3;
@@ -299,8 +357,8 @@
this.comment = comment;
}
- public String getIcon() { return icon; }
- public void setIcon(String icon) {
+ public Bitmap getIcon() { return icon; }
+ public void setIcon(Bitmap icon) {
this.icon = icon;
}