diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 70f4513..8a2cfbd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -23,7 +23,8 @@
android:exported="false" />
+ android:exported="false"
+ android:screenOrientation="landscape"/>
call, Response response) {
if (response.isSuccessful()) {
//ridとnicknameをIrisへ
- /*String rid = response.body().getRid();
+ String rid = response.body().getRid();
((Iris) getApplication()).setRid(rid);
- ((Iris) getApplication()).setNickname(nickname);*/
+ ((Iris) getApplication()).setNickname(nickname);
//次の画面へ遷移
Intent intent = new Intent(CreateRoomActivity.this,OwnerRoomActivity.class);
+ intent.putExtra("nickname", nickname);
startActivity(intent);
}
}
diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java
index c1cf82d..faeaa29 100644
--- a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java
+++ b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java
@@ -17,17 +17,19 @@
private DrawingCanvas drawingCanvas;
private DrawingStateViewModel drawingStateViewModel;
+ private String rid;
+ private Integer nowDno;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drawing);
- // drawingCanvas = (DrawingCanvas) findViewById(R.id.canvas);
+ //drawingCanvas = (DrawingCanvas) findViewById(R.id.canvas);
//Irisから必要な情報を取得
Iris iris = (Iris) this.getApplication();
- String rid = iris.getRid();
+ rid = iris.getRid();
String nickName = iris.getNickname();
drawingStateViewModel= new ViewModelProvider(this).get(DrawingStateViewModel.class);
@@ -46,7 +48,8 @@
@Override
public void onChanged(Integer dno) {
//String keyword = keywords.get(dno);
- //textKeyword.setText(keyword);
+ nowDno = dno;
+ textKeyword.setText(dno);
}
});
@@ -58,6 +61,7 @@
Intent intent = new Intent(DrawingActivity.this, GameMemberActivity.class);
startActivity(intent);
}
+
});
//タイマースタート呼び出し
drawingStateViewModel.start(500);
@@ -66,7 +70,8 @@
@Override
public void onClick(View v){
if(v.getId() == R.id.okButtton) {//okButtonが押されたときの処理
- drawingStateViewModel.putDrawing();
+ String drawingStr = "test";
+ drawingStateViewModel.putDrawing(rid, nowDno, drawingStr);
}else if(v.getId() == R.id.clearButton){//clearButtonが押されたときの処理
drawingCanvas.clearCanvas();
}
diff --git a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java
index 90383d1..2ea9bba 100644
--- a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java
+++ b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java
@@ -57,6 +57,7 @@
roomViewModel.setRid(roomId);
+
//LiveData(List)への購読
roomViewModel.getMembersLiveData().observe(this, new Observer>() {
private List members;
diff --git a/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java
index 46d8a8b..4f24299 100644
--- a/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java
+++ b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java
@@ -5,6 +5,7 @@
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
+import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
@@ -33,15 +34,36 @@
public class OwnerRoomActivity extends AppCompatActivity {
//フィールド
- String r = "部屋ID " + "123456";
+ ArrayList members = new ArrayList<>();
+ String r;// = "部屋ID " + "123456";
+ String nickname;
+ String myName = "null";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_owner_room);
- String nickname = ((Iris) getApplication()).getNickname();
- String rid = ((Iris) getApplication()).getRid();
+ ((Iris) getApplication()).getNickname(); //nickname = "aaa";
+ ((Iris) getApplication()).getRid(); //r ="276393b5-d835-4e4c-a35b-c00996c73a2b";
+
+ //---------------------------------------------------------------------------
+ //メンバーリスト
+ ListView membersList = (ListView) findViewById(R.id.MembersList);
+ BaseAdapter adapter = new MemberListAdapter(this.getApplicationContext(), R.layout.member_list_layout, members);
+ membersList.setAdapter(adapter);
+
+ //自分のなまえ
+ Intent intentMain = getIntent();
+ myName = intentMain.getStringExtra("nickname");
+
+ Member mn = new Member(myName);
+ mn.setBelongs("g");
+ mn.setMaster(false);
+
+ members.add(mn.getNickname());
+
+
//RoomViewModelへのアクセス
RoomViewModel roomViewModel = new ViewModelProvider(this).get(RoomViewModel.class);
@@ -66,12 +88,6 @@
Button startButton = (Button) findViewById(R.id.start);
ImageButton copyButton = (ImageButton) findViewById(R.id.copyButton);
- //---------------------------------------------------------------------------
- //メンバーリスト
- ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, members);
- ListView listView = (ListView)findViewById(R.id.MembersList);
- listView.setAdapter(adapter);
-
redMasterButton.setOnClickListener(new View.OnClickListener() {
@Override
@@ -108,11 +124,6 @@
TextView RoomIdText = findViewById(R.id.roomID);
RoomIdText.setText(r);
- members.add("マスターのBlueさん");
- listView.setBackgroundColor(Color.parseColor("#e83a48"));
- ListView listView = (ListView)findViewById(R.id.MembersList);
- listView.setAdapter(adapter);
-
}
});
@@ -153,13 +164,11 @@
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- r = "部屋ID " + "start";
- TextView RoomIdText = findViewById(R.id.roomID);
- RoomIdText.setText(r);
+ roomViewModel.startDrawing(r, nickname);
- members.add("スタートさん");
- ListView listView = (ListView)findViewById(R.id.MembersList);
- listView.setAdapter(adapter);
+ Intent intent = new Intent(OwnerRoomActivity.this,DrawingActivity.class);
+ startActivity(intent);
+
}
});
@@ -192,46 +201,6 @@
TextView RoomIdText = findViewById(R.id.roomID);
RoomIdText.setText(r);
- //スタートボタンをクリックすると、(絵を描く?)次の画面に遷移
- Button nextButton = (Button)findViewById(R.id.start);
- nextButton.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
-/*
- //ニックネームが入力されていない場合エラーメッセージを表示する
- if (text.getText().toString().isEmpty()) {
- text.setError("ニックネームを入力されていません");
-
- //ニックネームが入力されていれば次の画面へ
- } else {
-
- */
- //サーバーとの通信のために呼び出す
- /* Call call = roomRest.makeRooms(nickname);
- call.enqueue(new Callback() {
- //onResponseで成功
- public void onResponse(Call call, Response response) {
- if (response.isSuccessful()) {
- //ridとnicknameをIrisへ
- String rid = response.body().getRid();
- ((Iris) getApplication()).setRid(rid);
- ((Iris) getApplication()).setNickname(nickname);
-
- */
- //次の画面へ遷移
- Intent intent = new Intent(OwnerRoomActivity.this,DrawingActivity.class);
- startActivity(intent);
- }
-
- /* }
- //onFailureで失敗
- public void onFailure(Call call, Throwable t) {
- }
- });
-
- //}
- }
- */
- });
@@ -245,4 +214,4 @@
/*private void addMemberToMemberList(String m){
members.add(m);
}*/
-}
\ No newline at end of file
+ }
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java b/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java
index d96fc70..5d2d037 100644
--- a/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java
+++ b/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java
@@ -1,5 +1,7 @@
package org.ntlab.irisclient.entities;
+import org.ntlab.irisclient.models.Cell;
+
import java.util.ArrayList;
import java.util.List;
@@ -8,7 +10,7 @@
private String hint;
private String team;
private int max;
- //private List openlist = new ArrayList<>();
+ private List openlist = new ArrayList<>();
//コンストラクタ
public TurnJson() {
@@ -29,7 +31,7 @@
return max;
}
- //public List getOpenListAll() {return openlist;} //リストそのものを返す。
+ public List| getOpenListAll() {return openlist;} //リストそのものを返す。
//---------------------------------------------------------
//セッター
@@ -48,7 +50,7 @@
//---------------------------------------------------------
//openlist操作
-/*
+
public Cell getOpenListSolo(int num){return openlist.get(num);}
public void addOpenList(Cell card){openlist.add(card);}
@@ -56,5 +58,5 @@
public void delieteOpenList(int num){openlist.remove(num);}
public int sizeOpenList(){return openlist.size();}
-*/
+
}
diff --git a/app/src/main/java/org/ntlab/irisclient/models/Cell.java b/app/src/main/java/org/ntlab/irisclient/models/Cell.java
new file mode 100644
index 0000000..418d6af
--- /dev/null
+++ b/app/src/main/java/org/ntlab/irisclient/models/Cell.java
@@ -0,0 +1,34 @@
+package org.ntlab.irisclient.models;
+
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class Cell {
+
+ private boolean isOpen;
+
+ public String color;
+
+ public int dno;
+
+ public int cno;
+
+ //setter
+ public void setIsOpen(boolean isOpen) {this.isOpen = isOpen;}
+
+ public void setColor(String color) {this.color = color;}
+
+ public void setDno(int dno) {this.dno = dno;}
+
+ public void setCno(int cno) {this.cno = cno;}
+
+ //getter
+ public boolean getIsOpen() {return this.isOpen;}
+
+ public String getColor() {return this.color;}
+
+ public int getDno() {return this.dno;}
+
+ public int getCno() {return this.cno;}
+
+}
diff --git a/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java b/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java
index 64d51ea..a9a6df6 100644
--- a/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java
+++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java
@@ -25,9 +25,12 @@
final private MutableLiveData stateMutableLiveData=new MutableLiveData<>();
final private MutableLiveData dnoMutableLiveData=new MutableLiveData<>();
+ final private MutableLiveData drawingMutableLiveData = new MutableLiveData<>();
+
final private Retrofit retrofit;
private Integer drawingStatePreData;
private Integer dnoPreData;
+ private String drawingPreData;
private String rid;
private String nickName;
@@ -118,13 +121,39 @@
updateState(rid);
updateDno(rid, nickName);
}
- public String putDrawing(/*Bitmap image*/){
-// ByteArrayOutputStream stream = new ByteArrayOutputStream();
-// image.compress(Bitmap.CompressFormat.PNG, 100, stream);
-// byte[] byteArray = stream.toByteArray();
- String string = "sample";
- Base64.Encoder encoder = Base64.getEncoder();
- String encoded = encoder.encodeToString(string.getBytes());
- return encoded;
+
+ public void putDrawing(/*Bitmap image*/String rid , int dno, String drawingStr) {
+
+ final DrawingRest drawingRest = retrofit.create(DrawingRest.class);
+// LiveData dno = getDno();
+ Call call = drawingRest.putDrawing(rid, dno, drawingStr );
+
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ //ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ //image.compress(Bitmap.CompressFormat.PNG, 100, stream);
+ //byte[] byteArray = stream.toByteArray();
+ String string = "sample";
+ Base64.Encoder encoder = Base64.getEncoder();
+ String encoded = encoder.encodeToString(string.getBytes());
+ drawingMutableLiveData.setValue(encoded);
+ System.out.println(encoded);
+ if (response.isSuccessful()){
+ if(response.body().equals(drawingPreData)){
+ //値が一緒なら書き換えない
+ }else{
+ //値が異なるときのみライブデータを上書き
+// keywordsMutableLiveData.setValue(encoded);
+// System.out.println(encoded);
+ drawingPreData = response.body();
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ }
+ });
}
}
| | | |