Roomクラス、RoomViewModelクラスを作成しました
1 parent 032ae05 commit 7ab5a32dd1ddd2c1e39cbc853466c656e812217b
s-michishita authored on 5 Jul 2022
Showing 5 changed files
View
1
■■■■
.idea/gradle.xml
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>
View
35
app/src/main/java/org/ntlab/irisclient/models/Member.java 0 → 100644
package org.ntlab.irisclient.models;
 
public class Member {
 
private String nickname;
// belongs) r:赤チーム b:青チーム n:無所属
private String belongs;
private boolean master;
 
//-----------------------------------------------------------------
//コンストラクト
public Member(String nickname) {
this.nickname = nickname;
this.belongs = "n";
this.master = false;
}
 
//-----------------------------------------------------------------
// setter
public void setNickname(String nickname) {this.nickname = nickname;}
 
public void setBelongs(String belongs) {this.belongs = belongs;}
 
public void setMaster(boolean master) {this.master = master;}
 
//-----------------------------------------------------------------
// getter
public String getNickname() {return this.nickname;}
 
public String getBelongs() {return this.belongs;}
 
public boolean isMaster() {return this.master;}
 
}
View
182
app/src/main/java/org/ntlab/irisclient/models/Room.java
package org.ntlab.irisclient.models;
 
public class Room {
import android.app.Application;
import android.content.SharedPreferences;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class Room {
 
//フィールド
private String rid;
private String ownerName;
private Member redMaster;
private Member blueMaster;
private Map<String,Member> members= new HashMap<>();
private Settings settings = new Settings();
 
//--------------------------------------------------------------
/* public Room(String rid, String owner) {
this.rid = rid;
ownerName = owner;
}*/
 
//--------------------------------------------------------------
//getter
public String getRid(){
return rid;
}
 
public String getOwnerName() {
return ownerName;
}
 
public Member getRedMaster() {
return redMaster;
}
 
public Member getBlueMaster() {
return blueMaster;
}
 
public Member getMember(String nick) {
Member m = members.get(nick);
return m;
}
 
public List<Member> getMembers() {
List<Member> memberslist = new ArrayList<Member>(members.values()) ;
return memberslist;
}
 
public Settings getSettings() {
return settings;
}
 
//--------------------------------------------------------------
//setter
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
 
public Member setMember(String nick) {
Member m = members.get(nick);
return m;
}
 
public void setRedMaster(Member redMaster) {
this.redMaster = redMaster;
}
 
public void setBlueMaster(Member blueMaster) {
this.blueMaster = blueMaster;
}
 
public Settings setSettings() {
return settings;
}
 
//--------------------------------------------------------------
//その他メソッド
public void deleteMember(String nick) {
members.remove(nick);
}
 
public void addMember(String nick) {
Member m=new Member(nick);
m.setNickname(nick);
members.put(nick,m);
}
 
}
View
65
app/src/main/java/org/ntlab/irisclient/models/Settings.java 0 → 100644
package org.ntlab.irisclient.models;
 
public class Settings {
 
private boolean drawingTimer;
private int drawingTimerTimes;
private boolean gameTimer;
private int gameTimerTimes;
private int gameTimerFirstThinkingTimes;
 
//--------------------------------------------------------------------
//コンストラクタで初期値設定
public Settings(){
drawingTimer = false;
drawingTimerTimes = 50;
gameTimer = true;
gameTimerTimes = 30;
gameTimerFirstThinkingTimes = 10;
}
 
//--------------------------------------------------------------------
//setter & getter
public boolean isDrawingTimer() {
return drawingTimer;
}
 
public void setDrawingTimer(boolean drawingTimer) {
this.drawingTimer = drawingTimer;
}
 
public int getDrawingTimerTimes() {
return drawingTimerTimes;
}
 
public void setDrawingTimerTimes(int drawingTimerTimes) {
this.drawingTimerTimes = drawingTimerTimes;
}
 
public boolean isGameTimer() {
return gameTimer;
}
 
public void setGameTimer(boolean gameTimer) {
this.gameTimer = gameTimer;
}
 
public int getGameTimerTimes() {
return gameTimerTimes;
}
 
public void setGameTimerTimes(int gameTimerTimes) {
this.gameTimerTimes = gameTimerTimes;
}
 
public int getGameTimerFirstThinkingTimes() {
return gameTimerFirstThinkingTimes;
}
 
public void setGameTimerFirstThinkingTimes(int gameTimerFirstThinkingTimes) {
this.gameTimerFirstThinkingTimes = gameTimerFirstThinkingTimes;
}
 
 
}
View
26
app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java
package org.ntlab.irisclient.viewmodels;
 
import android.util.Log;
 
import org.ntlab.irisclient.models.Room;
import org.ntlab.irisclient.models.Settings;
import org.ntlab.irisclient.resources.RoomRest;
 
import java.net.URI;
 
import androidx.lifecycle.LiveData;
private MutableLiveData<Room> roomMutableLiveData;
private Retrofit retrofit;
 
//------------------------------------------------
//コンストラクタ
public RoomViewModel() {
this.roomMutableLiveData = new MutableLiveData<>();
this.retrofit = new Retrofit.Builder()
.baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/iris/")
// getter
public LiveData<Room> getLiveData() {
return this.roomMutableLiveData;
}
 
//-----------------------------------------------------------------
// update
public void update(String rid) {
final RoomRest roomRest = retrofit.create(RoomRest.class);
 
Call<Room> call = roomRest.getRoomInformation(rid);
call.enqueue(new Callback<Room>() {
@Override
public void onResponse(Call<Room> call, Response<Room> response) {
if (response.isSuccessful()){
roomMutableLiveData.setValue(response.body());
}
}
 
@Override
public void onFailure(Call<Room> call, Throwable t) {
 
}
});
}
}