diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
deleted file mode 100644
index 30aa626..0000000
--- a/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 5677a4a..1493402 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -22,9 +22,12 @@
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
+ implementation 'com.android.support:design:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
// Retrofit
implementation "com.squareup.retrofit2:retrofit:2.5.0"
+ //QRコードリーダー
+ implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 241824c..300967e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,13 +9,36 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/cosmosclient/views/AddMemberActivity.java b/app/src/main/java/com/example/cosmosclient/views/AddMemberActivity.java
new file mode 100644
index 0000000..f9a5a05
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/AddMemberActivity.java
@@ -0,0 +1,112 @@
+package com.example.cosmosclient.views;
+
+import android.content.Intent;
+import android.graphics.BitmapFactory;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.ListView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.example.cosmosclient.R;
+
+public class AddMemberActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
+
+ private static final String[] scenes = {
+ "QRコードで追加",
+ "IDで追加",
+ "メールで招待"
+ };
+
+ // ちょっと冗長的ですが分かり易くするために
+ private static final int[] photos = {
+ R.drawable.camera_image,
+ R.drawable.search_image,
+ R.drawable.mail_image,
+
+ };
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_add_member);
+
+ // ListViewのインスタンスを生成
+ ListView listView = findViewById(R.id.list_view);
+
+ // BaseAdapter を継承したadapterのインスタンスを生成
+ // レイアウトファイル list.xml を activity_main.xml に
+ // inflate するためにadapterに引数として渡す
+ BaseAdapter adapter = new ListViewAdapter(this.getApplicationContext(),
+ R.layout.list, scenes, photos);
+
+ // ListViewにadapterをセット
+ listView.setAdapter(adapter);
+
+ // クリックリスナーをセット
+ listView.setOnItemClickListener(this);
+
+ }
+
+ @Override
+ public void onItemClick(AdapterView> parent, View v,
+ int position, long id) {
+
+
+ Intent intent = null;
+ // clickされたpositionのtextとphotoのID
+ String selectedText = scenes[position];
+ if(selectedText.contains("QR")==true){
+ intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class);
+ }else if(selectedText.contains("ID")==true){
+ intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class);
+ }else{
+ intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class);
+ }
+
+// Intent intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class);
+ // SubActivityへ遷移
+ startActivity(intent);
+ }
+// @Override
+// protected void onCreate(Bundle savedInstanceState) {
+// super.onCreate(savedInstanceState);
+// setContentView(R.layout.activity_add_member);
+// //各種idを取得
+// Button qrButton = findViewById(R.id.addQR);
+// Button idButton = findViewById(R.id.addID);
+// Button mailButton = findViewById(R.id.addMail);
+// TextView groupText=findViewById(R.id.groupName);
+//
+// //QRからメンバー追加の画面遷移処理画面を記述
+// qrButton.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+// Intent intent = new Intent(getApplication(), DisplayQRActivity.class);
+// startActivity(intent);
+// }
+// });
+// //IDからメンバー追加の画面遷移処理画面を記述
+// idButton.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+// Intent intent = new Intent(getApplication(), DisplayQRActivity.class);
+// startActivity(intent);
+// }
+// });
+// //Mailからメンバー追加の画面遷移処理画面を記述
+// mailButton.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+// Intent intent = new Intent(getApplication(), DisplayQRActivity.class);
+// startActivity(intent);
+// }
+// });
+//
+// }
+}
diff --git a/app/src/main/java/com/example/cosmosclient/views/DisplayQRActivity.java b/app/src/main/java/com/example/cosmosclient/views/DisplayQRActivity.java
new file mode 100644
index 0000000..18c332e
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/DisplayQRActivity.java
@@ -0,0 +1,40 @@
+package com.example.cosmosclient.views;
+
+import android.graphics.Bitmap;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.util.AndroidRuntimeException;
+import android.widget.ImageView;
+
+import com.example.cosmosclient.R;
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.WriterException;
+import com.journeyapps.barcodescanner.BarcodeEncoder;
+
+public class DisplayQRActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_display_qr);
+ //QRコード化する文字列
+ String data = "http://researchers.adm.konan-u.ac.jp/html/130_ja.html";
+ //QRコード画像の大きさを指定(pixel)
+ int size = 500;
+
+
+ try {
+ BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
+ //QRコードをBitmapで作成
+ Bitmap bitmap = barcodeEncoder.encodeBitmap(data, BarcodeFormat.QR_CODE, size, size);
+
+ //作成したQRコードを画面上に配置
+ ImageView imageViewQrCode = (ImageView) findViewById(R.id.QRimage);
+ imageViewQrCode.setImageBitmap(bitmap);
+
+ } catch (WriterException e) {
+ throw new AndroidRuntimeException("Barcode Error.", e);
+ }
+
+ }
+}
diff --git a/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java b/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java
new file mode 100644
index 0000000..31b2691
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java
@@ -0,0 +1,75 @@
+package com.example.cosmosclient.views;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.example.cosmosclient.R;
+
+public class ListViewAdapter extends BaseAdapter {
+ static class ViewHolder {
+ TextView textView;
+ ImageView imageView;
+ }
+
+ private LayoutInflater inflater;
+ private int itemLayoutId;
+ private String[] titles;
+ private int[] ids;
+
+ ListViewAdapter(Context context, int itemLayoutId,
+ String[] scenes, int[] photos) {
+ super();
+ this.inflater = (LayoutInflater)
+ context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ this.itemLayoutId = itemLayoutId;
+ this.titles = scenes;
+ this.ids = photos;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder holder;
+ // 最初だけ View を inflate して、それを再利用する
+ if (convertView == null) {
+ // activity_main.xml に list.xml を inflate して convertView とする
+ convertView = inflater.inflate(itemLayoutId, parent, false);
+ // ViewHolder を生成
+ holder = new ViewHolder();
+ holder.textView = convertView.findViewById(R.id.textView);
+ holder.imageView = convertView.findViewById(R.id.imageView);
+ convertView.setTag(holder);
+ }
+ // holder を使って再利用
+ else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+
+ // holder の imageView にセット
+ holder.imageView.setImageResource(ids[position]);
+ // 現在の position にあるファイル名リストを holder の textView にセット
+ holder.textView.setText(titles[position]);
+
+ return convertView;
+ }
+
+ @Override
+ public int getCount() {
+ // texts 配列の要素数
+ return titles.length;
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return null;
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return 0;
+ }
+}
diff --git a/app/src/main/res/drawable/camera_image.png b/app/src/main/res/drawable/camera_image.png
new file mode 100644
index 0000000..32185f3
--- /dev/null
+++ b/app/src/main/res/drawable/camera_image.png
Binary files differ
diff --git a/app/src/main/res/drawable/group_image.png b/app/src/main/res/drawable/group_image.png
new file mode 100644
index 0000000..2d02bdc
--- /dev/null
+++ b/app/src/main/res/drawable/group_image.png
Binary files differ
diff --git a/app/src/main/res/drawable/mail_image.png b/app/src/main/res/drawable/mail_image.png
new file mode 100644
index 0000000..d6c8f82
--- /dev/null
+++ b/app/src/main/res/drawable/mail_image.png
Binary files differ
diff --git a/app/src/main/res/drawable/qr_code_ex.png b/app/src/main/res/drawable/qr_code_ex.png
new file mode 100644
index 0000000..9ad8000
--- /dev/null
+++ b/app/src/main/res/drawable/qr_code_ex.png
Binary files differ
diff --git a/app/src/main/res/drawable/search_image.png b/app/src/main/res/drawable/search_image.png
new file mode 100644
index 0000000..046dfb3
--- /dev/null
+++ b/app/src/main/res/drawable/search_image.png
Binary files differ
diff --git a/app/src/main/res/drawable/white.png b/app/src/main/res/drawable/white.png
new file mode 100644
index 0000000..15f8d06
--- /dev/null
+++ b/app/src/main/res/drawable/white.png
Binary files differ
diff --git a/app/src/main/res/layout/activity_add_member.xml b/app/src/main/res/layout/activity_add_member.xml
new file mode 100644
index 0000000..44839a0
--- /dev/null
+++ b/app/src/main/res/layout/activity_add_member.xml
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_display_qr.xml b/app/src/main/res/layout/activity_display_qr.xml
new file mode 100644
index 0000000..1b1b99c
--- /dev/null
+++ b/app/src/main/res/layout/activity_display_qr.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/list.xml b/app/src/main/res/layout/list.xml
new file mode 100644
index 0000000..f7142e2
--- /dev/null
+++ b/app/src/main/res/layout/list.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e7a1b8f..2fd476b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,16 @@
CosmosClient
-
+ or
+ E-MAIL ADDRESS
+ PASSWORD
+ CONFIRM PASSWORD
+ Sign Up
+ Already have a account?
+ Login
+ Make Account
+ Sign in
+ Don\'t have an account?
+ Forgot Password?
+ Sign up Now
+ AddMemberActivity
+
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 5885930..545b9c6 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -8,4 +8,13 @@
- @color/colorAccent
+
+
+
+
+
+
diff --git a/build.gradle b/build.gradle
index e11a5b3..fafc1b9 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,7 +7,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.3.2'
+ classpath 'com.android.tools.build:gradle:3.4.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 18955ab..538eddf 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Fri Apr 26 15:58:11 JST 2019
+#Thu May 09 18:09:56 JST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
\ No newline at end of file