diff --git a/.idea/dictionaries/student.xml b/.idea/dictionaries/student.xml new file mode 100644 index 0000000..ecdd4ed --- /dev/null +++ b/.idea/dictionaries/student.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 7b46144..1248bb2 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -7,6 +7,7 @@ + diff --git a/.idea/misc.xml b/.idea/misc.xml index 920a89a..049e2a8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -6,10 +6,18 @@ + + + + + + + + - + diff --git a/app/build.gradle b/app/build.gradle index f17444c..4909d44 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -25,6 +25,9 @@ sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + buildFeatures { + viewBinding true + } } dependencies { @@ -32,7 +35,24 @@ implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.1' + implementation 'androidx.navigation:navigation-fragment:2.3.5' + implementation 'androidx.navigation:navigation-ui:2.3.5' + implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1' + implementation 'androidx.annotation:annotation:1.2.0' + implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' + implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + + implementation "com.squareup.retrofit2:retrofit:2.5.0" + implementation 'com.squareup.retrofit2:converter-jackson:2.5.0' + implementation 'com.squareup.retrofit2:converter-scalars:2.1.0' + implementation 'com.github.bumptech.glide:glide:4.10.0' + annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0' + implementation 'com.google.android.material:material:1.1.0-alpha08' + implementation 'androidx.viewpager2:viewpager2:1.0.0-beta02' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fdf59c0..56c3abd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,20 +10,30 @@ android:supportsRtl="true" android:theme="@style/Theme.IrisClient"> - + android:screenOrientation="landscape" + android:exported="true"> + + + + + + \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/irisclient/CreateRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/CreateRoomActivity.java new file mode 100644 index 0000000..8354a6f --- /dev/null +++ b/app/src/main/java/org/ntlab/irisclient/CreateRoomActivity.java @@ -0,0 +1,67 @@ +package org.ntlab.irisclient; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; + +import android.content.DialogInterface; +import android.content.Intent; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.ImageButton; +import android.app.AlertDialog; +import android.widget.EditText; + +public class CreateRoomActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_create_room); + +//------------------------------------------------------------------------------------------------------------------------------------------ + //アクションバーの非表示 + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.hide(); + } +//------------------------------------------------------------------------------------------------------------------------------------------ + //バックボタンを押した場合、前の画面に遷移 + Intent intent = getIntent(); + + ImageButton imageButton = (ImageButton) findViewById(R.id.backButton); // view経由でimageButtonを探す + imageButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + Intent i = new Intent(v.getContext(), MainActivity.class); + startActivity(i); + } + }); + +//------------------------------------------------------------------------------------------------------------------------------------------- + + //ボタンをクリックすると、部屋を作る次の画面に遷移 + Button nextButton = findViewById(R.id.CreateRoomButton); + EditText text = (EditText) findViewById(R.id.nicknameEditText); + nextButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + + //ニックネームが入力されていない場合エラーメッセージを表示する + if (text.getText().toString().isEmpty()) { + text.setError("ニックネームを入力されていません"); + + //ニックネームが入力されていれば次の画面へ + } else { + Intent i = new Intent(getApplication(), MainActivity/*OwnerRoomActivityに変更する*/.class); + startActivity(i); + } + + } + }); + + } +} + diff --git a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java new file mode 100644 index 0000000..dcefe12 --- /dev/null +++ b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java @@ -0,0 +1,82 @@ +package org.ntlab.irisclient; + +import androidx.appcompat.app.AppCompatActivity; + +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.lang.reflect.Member; +import java.util.ArrayList; + +public class MemberRoomActivity extends AppCompatActivity { + + //フィールド + String r = "部屋IDがここに表示されるはずです"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_member_room); + + //-------------------------------------------------------------------------- + //各ボタン処理 + 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 = "赤マスターボタン検知しました"; + TextView RoomIdText = findViewById(R.id.roomID); + RoomIdText.setText(r); + } + }); + + blueMasterButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + r = "青マスターボタン検知しました"; + TextView RoomIdText = findViewById(R.id.roomID); + RoomIdText.setText(r); + } + }); + + //-------------------------------------------------------------------------- + //メンバー表示 + + members.add("1さん"); + members.add("2"); + + 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 = "設定されている内容がここに表示されるはずです"; + 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/OwnerRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java new file mode 100644 index 0000000..7b0fb26 --- /dev/null +++ b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java @@ -0,0 +1,52 @@ +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.Button; + +import java.util.Locale; + +public class OwnerRoomActivity extends AppCompatActivity { + +// private final String[] dataset = new String[20]; + + @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); + + + + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/backbottom.jpeg b/app/src/main/res/drawable-v24/backbottom.jpeg new file mode 100644 index 0000000..cc28209 --- /dev/null +++ b/app/src/main/res/drawable-v24/backbottom.jpeg Binary files differ diff --git a/app/src/main/res/drawable/copy_icon.png b/app/src/main/res/drawable/copy_icon.png new file mode 100644 index 0000000..efd4310 --- /dev/null +++ b/app/src/main/res/drawable/copy_icon.png Binary files differ diff --git a/app/src/main/res/layout/activity_create_room.xml b/app/src/main/res/layout/activity_create_room.xml new file mode 100644 index 0000000..0f87525 --- /dev/null +++ b/app/src/main/res/layout/activity_create_room.xml @@ -0,0 +1,59 @@ + + + +