diff --git a/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java index 7b0fb26..5043a98 100644 --- a/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java @@ -1,52 +1,89 @@ package org.ntlab.irisclient; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.app.AppCompatActivity; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - import android.os.Bundle; import android.view.View; +import android.widget.ArrayAdapter; import android.widget.Button; +import android.widget.ListView; +import android.widget.TextView; -import java.util.Locale; +import androidx.appcompat.app.AppCompatActivity; + +import java.util.ArrayList; public class OwnerRoomActivity extends AppCompatActivity { -// private final String[] dataset = new String[20]; + //フィールド + String r = "部屋ID " + "123456"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_owner_room); - //上のバーを消す - ActionBar actionBar = getSupportActionBar(); - if (actionBar != null) { - actionBar.hide(); - } - -// RecyclerView recyclerView = findViewById(R.id.my_recycler_view); -// -// // use this setting to improve performance if you know that changes -// // in content do not change the layout size of the RecyclerView -// recyclerView.setHasFixedSize(true); -// -// // use a linear layout manager -// RecyclerView.LayoutManager rLayoutManager = new LinearLayoutManager(this); -// -// recyclerView.setLayoutManager(rLayoutManager); -// -// int i = 0; -// while (i < 10) { -// dataset[i] = String.format(Locale.ENGLISH, "Data_0%d", i); -// i++; -// } -// -// MyAdapter adapter = new MyAdapter(dataset); -// recyclerView.setAdapter(adapter); + //-------------------------------------------------------------------------- + //各ボタン処理 + ArrayList members = new ArrayList<>(); + Button redMasterButton = (Button) findViewById(R.id.beRedMaster); + Button redSpyButton = (Button) findViewById(R.id.beRedSpy); + Button blueMasterButton = (Button) findViewById(R.id.beBlueMaster); + Button blueSpyButton = (Button) findViewById(R.id.beBlueSpy); + redMasterButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + r = "部屋ID " + "red"; + TextView RoomIdText = findViewById(R.id.roomID); + RoomIdText.setText(r); + } + }); + blueMasterButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + r = "部屋ID " + "blue"; + TextView RoomIdText = findViewById(R.id.roomID); + RoomIdText.setText(r); + } + }); + + //-------------------------------------------------------------------------- + //メンバー表示 + + members.add("1さん"); + members.add("2さん"); + members.add("3さん"); + members.add("4さん"); + members.add("5さん"); + members.add("6さん"); + members.add("7さん"); + members.add("8さん" + "#FF6200EE"); + members.add("9さん"); + members.add("10さん"); + + ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, members); + + ListView listView = (ListView)findViewById(R.id.MembersList); + listView.setAdapter(adapter); + + //--------------------------------------------------------------- + //settings情報 + String s = "設定\\nお絵描き"; + TextView settingsText = findViewById(R.id.settings); + settingsText.setText(s); + + //--------------------------------------------------------------- + //部屋ID情報 + TextView RoomIdText = findViewById(R.id.roomID); + RoomIdText.setText(r); } + + /*private getMemberInformation(){ + + }*/ + + /*private void addMemberToMemberList(String m){ + members.add(m); + }*/ } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/irisclient/entities/MemberJson.java b/app/src/main/java/org/ntlab/irisclient/entities/MemberJson.java new file mode 100644 index 0000000..67eeb76 --- /dev/null +++ b/app/src/main/java/org/ntlab/irisclient/entities/MemberJson.java @@ -0,0 +1,4 @@ +package org.ntlab.irisclient.entities; + +public class MemberJson { +} diff --git a/app/src/main/java/org/ntlab/irisclient/entities/RoomJson.java b/app/src/main/java/org/ntlab/irisclient/entities/RoomJson.java new file mode 100644 index 0000000..427716b --- /dev/null +++ b/app/src/main/java/org/ntlab/irisclient/entities/RoomJson.java @@ -0,0 +1,4 @@ +package org.ntlab.irisclient.entities; + +public class RoomJson { +} diff --git a/app/src/main/java/org/ntlab/irisclient/resources/RoomsRest.java b/app/src/main/java/org/ntlab/irisclient/resources/RoomsRest.java new file mode 100644 index 0000000..ea7790a --- /dev/null +++ b/app/src/main/java/org/ntlab/irisclient/resources/RoomsRest.java @@ -0,0 +1,109 @@ +package org.ntlab.irisclient.resources; + +import org.ntlab.irisclient.entities.MemberJson; +import org.ntlab.irisclient.entities.RoomJson; + +import java.util.List; + +import retrofit2.Call; +import retrofit2.http.DELETE; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.PUT; +import retrofit2.http.Path; + +public interface RoomsRest { + + //---------------------------------------------- + // ルームの作成メソッド + @FormUrlEncoded + @POST("rooms") + Call makeRooms( + @Field("nickname") String nickname + ); + + //----------------------------------------------- + // メンバー情報を取得するメソッド + @GET("rooms/{rid}") + Call getRoomMember( + @Path("rid") String rid + ); + + //---------------------------------------------- + //ルームを削除するメソッド + @DELETE("rooms/{rid}") + Call deleteRooms( + @Path("rid") String rid + ); + + //-------------------------------------------------- + // ランダムなチーム編成を行うメソッド + @PUT("rooms/{rid}/members") + Call> putMembers( + @Path("rid") String rid, + @Field("nickname") String nickname + ); + + //------------------------------------------------ + //自分のニックネームを送り、部屋に参加するメソッド + @POST("rooms/{rid}/members") + Call> postMembers( + @Path("rid") String rid, + @Field("nickname") String nickname + ); + + //---------------------------------------------------- + //チーム変更、役職を変更するメソッド + @PUT("rooms/{rid}/members/{nickname}") + Call putMember( + @Path("rid") String rid, + @Path("nickname") String nickname, + @Field("belongs") String belongs, + @Field("is-master") boolean isMaster + ); + + //-------------------------------------------------- + //退出するメソッド + @DELETE("rooms/{rid}/members/{nickname}") + Call deleteMember( + @Path("rid") String rid, + @Path("nickname") String nickname + ); + + //---------------------------------------- + //設定の情報を入手するメソッド + @GET("rooms/{rid}/settings") + Call getSettings( + @Path("rid") String rid + ); + + //------------------------------------------------- + //ゲームの設定を記録するメソッド + @PUT("rooms/{rid}/settings") + Call putSettings( + @Path("rid") String rid, + @Field("drawingTimer") boolean dTimer, + @Field("drawingTimerTimes") int dTimerTimes, + @Field("gameTimer") boolean gTimer, + @Field("gameTimerTimes") int gTimerTimes, + @Field("gameTimerFirstThinkingTimes") int gTimerFTTimes + ); + + //----------------------------------------------- + //部屋の情報を入手するメソッド + @GET("rooms/{rid}/state") + Call getState( + @Path("rid") String rid + ); + + //----------------------------------------------- + //部屋の状態を記録するメソッド + @PUT("rooms/{rid}/state") + Call putState( + @Path("rid") String rid, + @Field("nickname") String nickname, + @Field("state") Integer state + ); +} diff --git a/app/src/main/res/layout/activity_owner_room.xml b/app/src/main/res/layout/activity_owner_room.xml index 3d8d964..35f06c9 100644 --- a/app/src/main/res/layout/activity_owner_room.xml +++ b/app/src/main/res/layout/activity_owner_room.xml @@ -4,120 +4,132 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:backgroundTint="#804747" tools:context=".OwnerRoomActivity"> - +