Merge pull request #72 from nitta-lab-2023/ShopActivity
ShopActivityのLiveDataへの購読
commit 45e80c01113849640f06f22b3602452a92f09a61
2 parents 3885ae3 + 4257f51
和田暖哉 authored on 20 Jun 2023
Showing 2 changed files
View
5
app/src/main/AndroidManifest.xml
<activity
android:name=".ShopActivity"
android:exported="true"
android:label="@string/title_activity_shop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
 
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
 
</manifest>
View
81
app/src/main/java/com/example/nemophila/ShopActivity.java
 
import static android.app.PendingIntent.getActivity;
 
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
 
import com.example.nemophila.entities.Post;
import com.example.nemophila.viewmodels.PostsViewModel;
 
import java.util.ArrayList;
import java.util.List;
startActivity(intent);
}
});
 
List<PostDataModel> postsDataset = new ArrayList<>();
 
 
//RecyclerView
RecyclerView rv = (RecyclerView) findViewById(R.id.postsList);
ShopActivityAdapter adapter = new ShopActivityAdapter(this.createDataset());
ShopActivityAdapter adapter = new ShopActivityAdapter(postsDataset);
 
LinearLayoutManager llm = new LinearLayoutManager(this);
 
 
RecyclerView.ItemDecoration itemDecoration =
new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
rv.addItemDecoration(itemDecoration);
//通信テスト
PostsViewModel postsViewModel = new ViewModelProvider(this).get(PostsViewModel.class);
postsViewModel.getShopPostJson("151347fa-2c90-44d7-ba48-f23f475b910d");
 
//LiveDataへの購読
postsViewModel.getShopPostLiveData().observe(this, new Observer<List<Post>>() {
//private List<Member> members;
@Override
public void onChanged(List<Post> ShopPosts) {
postsDataset.clear();
for (Post post: ShopPosts){
PostDataModel data = new PostDataModel();
data.setName(post.getName());
data.setDate(post.getDate());
int intRate = post.getRate();
String strRate = "";
for (int i = 0; i < 5; i++){
if(intRate > i ){
strRate += "★";
}else{
strRate += "☆";
}
}
data.setRate(strRate);
data.setGenre(post.getGenre());
data.setComment(post.getComment());
 
postsDataset.add(data);
System.out.println("hogehoge");
}
}
 
});
 
 
}
 
private List<PostDataModel> createDataset() {
 
//RecyclerViewの中身の仮データ
List<PostDataModel> dataset = new ArrayList<>();
for (int i = 0; i < 50; i++) {
PostDataModel data = new PostDataModel();
data.setName("ネモフィラ 太郎" + i + "号");
data.setDate("yyyy/mm/dd");
data.setRate("★★★★★");
data.setGenre("ラーメン, 中華, おいしい, 安い");
data.setComment("おいしかった。");
 
dataset.add(data);
}
return dataset;
}
// private List<PostDataModel> postsDataset() {
//
// //RecyclerViewの中身の仮データ
// List<PostDataModel> dataset = new ArrayList<>();
// for (int i = 0; i < 50; i++) {
// PostDataModel data = new PostDataModel();
// data.setName("ネモフィラ 太郎" + i + "号");
// data.setDate("yyyy/mm/dd");
// data.setRate("★★★★★");
// data.setGenre("ラーメン, 中華, おいしい, 安い");
// data.setComment("おいしかった。");
//
// dataset.add(data);
// }
// return dataset;
// }
}