diff --git a/.idea/misc.xml b/.idea/misc.xml
index 6b9c2b8..049e2a8 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -10,6 +10,10 @@
+
+
+
+
diff --git a/app/build.gradle b/app/build.gradle
index 84750db..750e517 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -32,6 +32,22 @@
dependencies {
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+
+
+ // 各 2021/11/23 時点の最新版
+ // Retrofit
+ implementation "com.squareup.retrofit2:retrofit:2.9.0"
+ implementation "com.squareup.retrofit2:converter-moshi:2.9.0"
+
+ implementation 'com.squareup.retrofit2:converter-jackson:2.5.0'
+ implementation 'com.squareup.retrofit2:converter-scalars:2.1.0'
+
+
+ // Moshi
+ implementation "com.squareup.moshi:moshi:1.12.0"
+ implementation "com.squareup.moshi:moshi-kotlin:1.12.0"
+
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
@@ -43,17 +59,12 @@
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
- implementation 'junit:junit:4.12'
-
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 b16f89b..0a5abc1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,7 +1,6 @@
+ package="org.ntlab.irisclient">
+ android:theme="@style/Theme.IrisClient">
-
+ 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..f47a29f
--- /dev/null
+++ b/app/src/main/java/org/ntlab/irisclient/CreateRoomActivity.java
@@ -0,0 +1,65 @@
+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();
+ }
+//------------------------------------------------------------------------------------------------------------------------------------------
+ //バックボタンを押した場合、前の画面に遷移
+
+ 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 intent = new Intent(CreateRoomActivity.this,OwnerRoomActivity.class);
+ startActivity(intent);
+ }
+ }
+ });
+
+ }
+}
+
diff --git a/app/src/main/java/org/ntlab/irisclient/EnterRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/EnterRoomActivity.java
new file mode 100644
index 0000000..374ef0c
--- /dev/null
+++ b/app/src/main/java/org/ntlab/irisclient/EnterRoomActivity.java
@@ -0,0 +1,56 @@
+package org.ntlab.irisclient;
+
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageButton;
+
+
+public class EnterRoomActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_enter_room);
+
+ ActionBar actionBar = getSupportActionBar();
+ if(actionBar != null) {
+ actionBar.hide();
+ }
+
+ 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.EntryRoomButton);
+ nextButton.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ EditText nicknameForm = findViewById(R.id.nicknameEditText);
+ EditText roomIdForm = findViewById(R.id.roomIdEditText);
+
+ String name = nicknameForm.getText().toString();
+ String rid = roomIdForm.getText().toString();
+
+ //ニックネームが入力されていない場合エラーメッセージを表示する
+ if (name.isEmpty() || rid.isEmpty()) {
+ nicknameForm.setError("ニックネームを入力されていません");
+ roomIdForm.setError("部屋番号を入力されていません");
+ //ニックネームが入力されていれば次の画面へ
+ } else {
+ Intent intent = new Intent(EnterRoomActivity.this,MemberRoomActivity.class);
+ startActivity(intent);
+ }
+ }
+ });
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/irisclient/MainActivity.java b/app/src/main/java/org/ntlab/irisclient/MainActivity.java
index 9a29cff..0bb3ca4 100644
--- a/app/src/main/java/org/ntlab/irisclient/MainActivity.java
+++ b/app/src/main/java/org/ntlab/irisclient/MainActivity.java
@@ -3,7 +3,10 @@
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
+import android.content.Intent;
import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@@ -12,6 +15,27 @@
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
-
+ ActionBar actionBar = getSupportActionBar();
+ if(actionBar != null) {
+ actionBar.hide();
+ }
+
+ Button createButton =(Button)findViewById(R.id.create_room);
+ createButton.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v){
+ Intent intent = new Intent(MainActivity.this,CreateRoomActivity.class);
+ startActivity(intent);
+ }
+ });
+
+ Button entryButton =(Button)findViewById(R.id.entry_room);
+ entryButton.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v){
+ Intent intent = new Intent(MainActivity.this,EnterRoomActivity.class);
+ startActivity(intent);
+ }
+ });
+
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/irisclient/models/Room.java b/app/src/main/java/org/ntlab/irisclient/models/Room.java
new file mode 100644
index 0000000..929b75b
--- /dev/null
+++ b/app/src/main/java/org/ntlab/irisclient/models/Room.java
@@ -0,0 +1,4 @@
+package org.ntlab.irisclient.models;
+
+public class Room {
+}
diff --git a/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java b/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java
new file mode 100644
index 0000000..5fd027f
--- /dev/null
+++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java
@@ -0,0 +1,37 @@
+package org.ntlab.irisclient.viewmodels;
+
+import org.ntlab.irisclient.models.Room;
+
+import java.net.URI;
+
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
+import androidx.lifecycle.ViewModel;
+
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+import retrofit2.Retrofit;
+import retrofit2.converter.moshi.MoshiConverterFactory;
+import retrofit2.converter.jackson.JacksonConverterFactory;
+
+public class RoomViewModel extends ViewModel {
+
+ private MutableLiveData 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/")
+ .addConverterFactory(JacksonConverterFactory.create())
+ .build();
+ }
+
+ //-----------------------------------------------------------------
+ // getter
+ public LiveData getLiveData() {
+ return this.roomMutableLiveData;
+ }
+}
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/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 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_enter_room.xml b/app/src/main/res/layout/activity_enter_room.xml
new file mode 100644
index 0000000..7b8ed06
--- /dev/null
+++ b/app/src/main/res/layout/activity_enter_room.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file