diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b5ad990..1de6c3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -16,7 +16,9 @@
-
+
@@ -68,8 +70,9 @@
android:label="メンバー追加" />
+ android:label="グループ一覧"
+ android:theme="@style/AppTheme.NoActionBar">
+
diff --git a/app/src/main/java/com/example/cosmosclient/entities/GroupListResponse.java b/app/src/main/java/com/example/cosmosclient/entities/GroupListResponse.java
new file mode 100644
index 0000000..9af528b
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/entities/GroupListResponse.java
@@ -0,0 +1,48 @@
+package com.example.cosmosclient.entities;
+
+import com.example.cosmosclient.entities.jsons.GroupJson;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import java.util.List;
+//@JsonIgnoreProperties(ignoreUnknown = true)
+
+public class GroupListResponse {
+ private List groups;
+
+ public GroupListResponse() {
+
+ }
+
+ public GroupListResponse(List groups) {
+ this.groups = groups;
+ }
+
+ public List getGroups() {
+ return groups;
+ }
+
+ public void setGroups(List groups) {
+ this.groups = groups;
+ }
+
+ public void addGroup(GroupJson g) {
+ groups.add(g);
+ }
+
+ public GroupJson getGroup(int index) {
+ return groups.get(index);
+ }
+
+ public void clearGroup() {
+ groups.clear();
+ }
+
+ public void removeGroup(int index) {
+ groups.remove(index);
+ }
+
+ public int getGroupCount() {
+ return groups.size();
+ }
+
+}
diff --git a/app/src/main/java/com/example/cosmosclient/entities/jsons/GroupJson.java b/app/src/main/java/com/example/cosmosclient/entities/jsons/GroupJson.java
new file mode 100644
index 0000000..9264728
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/entities/jsons/GroupJson.java
@@ -0,0 +1,35 @@
+package com.example.cosmosclient.entities.jsons;
+
+public class GroupJson {
+ private String name;
+ private String gId;
+ private String uri;
+
+ public String getgId() {
+ return gId;
+ }
+
+ public void setgId(String gId) {
+ this.gId = gId;
+ }
+
+ public String getUri() {
+ return uri;
+ }
+
+ public void setUri(String uri){
+ this.uri = uri;
+ }
+
+ public void setName(String name){
+ this.name = name;
+ }
+
+ public String getName(){
+ return name;
+ }
+
+ public String toString() {
+ return name;
+ }
+}
diff --git a/app/src/main/java/com/example/cosmosclient/resources/GroupsRest.java b/app/src/main/java/com/example/cosmosclient/resources/GroupsRest.java
index adfd574..1e62250 100644
--- a/app/src/main/java/com/example/cosmosclient/resources/GroupsRest.java
+++ b/app/src/main/java/com/example/cosmosclient/resources/GroupsRest.java
@@ -3,6 +3,7 @@
import com.example.cosmosclient.entities.AddRequestsResponse;
import com.example.cosmosclient.entities.CreateGroupResponse;
import com.example.cosmosclient.entities.Group;
+import com.example.cosmosclient.entities.GroupListResponse;
import com.example.cosmosclient.entities.MemberListResponse;
import com.example.cosmosclient.entities.Request;
import com.example.cosmosclient.entities.Requests;
@@ -22,6 +23,9 @@
public interface GroupsRest {
+ @GET("groups")
+ Call getGroups(@Query("uId") String uId, @Query("token") String token);
+
@POST("groups")
@FormUrlEncoded
Call createGroup(@Field("name") String name, @Field("uId") String uId, @Field("token") String token);
diff --git a/app/src/main/java/com/example/cosmosclient/resources/UsersRest.java b/app/src/main/java/com/example/cosmosclient/resources/UsersRest.java
index 608b4f8..b05522c 100644
--- a/app/src/main/java/com/example/cosmosclient/resources/UsersRest.java
+++ b/app/src/main/java/com/example/cosmosclient/resources/UsersRest.java
@@ -2,10 +2,12 @@
import com.example.cosmosclient.entities.SigninResponse;
import com.example.cosmosclient.entities.SignupResponse;
+import com.example.cosmosclient.entities.User;
import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
+import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;
@@ -15,6 +17,9 @@
@FormUrlEncoded
Call login(@Path("uId") String uId,@Field("pw") String pw);
+ @GET("users/{uId}")
+ Call getName(@Path("uId") String uId, @Field("token") String token);
+
@POST("users")
@FormUrlEncoded
Call createUser(@Field("name") String name, @Field("pw") String pw, @Field("iconImage") String icon_image);
diff --git a/app/src/main/java/com/example/cosmosclient/views/AddMemberActivity.java b/app/src/main/java/com/example/cosmosclient/views/AddMemberActivity.java
index 92cc9ec..857101d 100644
--- a/app/src/main/java/com/example/cosmosclient/views/AddMemberActivity.java
+++ b/app/src/main/java/com/example/cosmosclient/views/AddMemberActivity.java
@@ -1,5 +1,6 @@
package com.example.cosmosclient.views;
+import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.net.Uri;
@@ -15,6 +16,8 @@
import android.widget.TextView;
import com.example.cosmosclient.R;
+import com.example.cosmosclient.app.Cosmos;
+import com.example.cosmosclient.entities.Group;
public class AddMemberActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
@@ -35,7 +38,12 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_member);
-
+ /*ここからグループ名表示*/
+ TextView groupName = findViewById(R.id.groupName);
+ Cosmos app = (Cosmos) getApplication();
+ Group curentGroup = app.getCurentGroup();
+ groupName.setText(curentGroup.getName());
+ /*終了*/
// ListViewのインスタンスを生成
ListView listView = findViewById(R.id.list_view);
@@ -56,7 +64,8 @@
@Override
public void onItemClick(AdapterView> parent, View v,
int position, long id) {
-
+ Cosmos app = (Cosmos) getApplication();
+ Group curentGroup = app.getCurentGroup();
Intent intent = null;
// clickされたpositionのtextとphotoのID
@@ -67,47 +76,24 @@
intent = new Intent(this.getApplicationContext(), DisplayGroupIDActivity.class);
}else{
// intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class);
- intent = new Intent(Intent.ACTION_VIEW, Uri.parse("line://msg/text/?GroupID"));
+ String URL="line://msg/text/あなたは"+curentGroup.getName()+"に招待されています。%0D%0A今すぐアプリを立ち上げて、下記のIDを入力して今すぐ参加しよう!%0D%0A"+curentGroup.getgId();
+ intent = new Intent(Intent.ACTION_VIEW, Uri.parse(URL));
+
}
// Intent intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class);
// SubActivityへ遷移
+ try {
startActivity(intent);
+ }
+ //Lineがダウンロードされいない場合に入る
+ catch (ActivityNotFoundException e) {
+ // ブラウザアプリが有効でない場合はここに入る
+ // 必要ならエラー表示とかする
+ intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=jp.naver.line.android&hl=ja"));
+ 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/CheeseDynamicAdapter.java b/app/src/main/java/com/example/cosmosclient/views/CheeseDynamicAdapter.java
index b2e17db..f6131ad 100644
--- a/app/src/main/java/com/example/cosmosclient/views/CheeseDynamicAdapter.java
+++ b/app/src/main/java/com/example/cosmosclient/views/CheeseDynamicAdapter.java
@@ -7,6 +7,7 @@
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
@@ -69,12 +70,13 @@
itemList = (ListView) view.findViewById(R.id.listview);
//image = (ImageView) view.findViewById(R.id.item_img);
+ /*
ArrayList items = new ArrayList<>();
items.add("からし");
items.add("わさび");
items.add("砂糖");
-
- ArrayAdapter adapter = new ArrayAdapter(getContext(), R.layout.item_list, items);
+ */
+ //ArrayAdapter adapter = new ArrayAdapter(getContext(), R.layout.item_list, items);
//itemList.setAdapter(adapter);
}
diff --git a/app/src/main/java/com/example/cosmosclient/views/Cheeses.java b/app/src/main/java/com/example/cosmosclient/views/Cheeses.java
index a1386ac..d02cdc2 100644
--- a/app/src/main/java/com/example/cosmosclient/views/Cheeses.java
+++ b/app/src/main/java/com/example/cosmosclient/views/Cheeses.java
@@ -1,13 +1,16 @@
package com.example.cosmosclient.views;
+import com.example.cosmosclient.resources.GroupsRest;
+import retrofit2.Call;
+
public class Cheeses {
public static final String[] sCheeseStrings = {
- "ファミリー\n 紙コップ\n 延長ケーブル",
- "会社\n からし",
- "Group3\n ケーキ\n ほげほげ",
- "Group4\n ほげほげ\n ほげほげ",
- "Group5\n ほげほげ\n ほげほげ\n ほげほげ\n ほげほげ",
- "Group6\n ほげほげ\n ほげほげ\n ほげほげ",
+ "ファミリー",
+ "会社",
+ "Group3",
+ "Group4",
+ "Group5",
+ "Group6",
"Group7"
};
}
diff --git a/app/src/main/java/com/example/cosmosclient/views/DisplayGroupIDActivity.java b/app/src/main/java/com/example/cosmosclient/views/DisplayGroupIDActivity.java
index 09cc020..c078659 100644
--- a/app/src/main/java/com/example/cosmosclient/views/DisplayGroupIDActivity.java
+++ b/app/src/main/java/com/example/cosmosclient/views/DisplayGroupIDActivity.java
@@ -21,7 +21,7 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_group_id);
-
+ TextView groupName = findViewById(R.id.groupName);
EditText groupID = (EditText)findViewById(R.id.groupID);
// ボタンを設定
Button copyButton = findViewById(R.id.copy_Button);
@@ -30,6 +30,8 @@
// //現在のグループ情報を格納しているものからgIdを取得
Cosmos app = (Cosmos) getApplication();
Group curentGroup = app.getCurentGroup();
+ groupName.setText(curentGroup.getName());
+
// //元となるgIdを取得完了
final String gId = curentGroup.getgId();
// final String gId = "vrehngortis";
diff --git a/app/src/main/java/com/example/cosmosclient/views/DisplayQRActivity.java b/app/src/main/java/com/example/cosmosclient/views/DisplayQRActivity.java
index 6daa9d1..ab24efc 100644
--- a/app/src/main/java/com/example/cosmosclient/views/DisplayQRActivity.java
+++ b/app/src/main/java/com/example/cosmosclient/views/DisplayQRActivity.java
@@ -5,6 +5,7 @@
import android.os.Bundle;
import android.util.AndroidRuntimeException;
import android.widget.ImageView;
+import android.widget.TextView;
import com.example.cosmosclient.R;
import com.example.cosmosclient.app.Cosmos;
@@ -19,9 +20,12 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_qr);
+ TextView groupName = findViewById(R.id.groupName);
//現在のグループ情報を格納しているものからgIdを取得
Cosmos app = (Cosmos) getApplication();
Group curentGroup = app.getCurentGroup();
+ groupName.setText(curentGroup.getName());
+
//元となるgIdを取得完了
String data = curentGroup.getgId();
diff --git a/app/src/main/java/com/example/cosmosclient/views/GroupListActivity.java b/app/src/main/java/com/example/cosmosclient/views/GroupListActivity.java
index 22b50ec..16bd164 100644
--- a/app/src/main/java/com/example/cosmosclient/views/GroupListActivity.java
+++ b/app/src/main/java/com/example/cosmosclient/views/GroupListActivity.java
@@ -1,8 +1,11 @@
package com.example.cosmosclient.views;
import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.nfc.Tag;
import android.os.Bundle;
+import android.util.Base64;
import android.util.Log;
import android.view.View;
import android.support.v4.view.GravityCompat;
@@ -16,15 +19,27 @@
import android.view.Menu;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
+import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ListAdapter;
import android.widget.TextView;
import android.widget.Toast;
+import com.example.cosmosclient.app.Cosmos;
+import com.example.cosmosclient.entities.Group;
+import com.example.cosmosclient.entities.GroupListResponse;
+import com.example.cosmosclient.entities.MemberListResponse;
import com.example.cosmosclient.views.DynamicGridView;
+import com.example.cosmosclient.resources.GroupsRest;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+import retrofit2.Retrofit;
+import retrofit2.converter.jackson.JacksonConverterFactory;
import com.example.cosmosclient.R;
+import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.Arrays;
@@ -33,6 +48,7 @@
private static final String TAG = GroupListActivity.class.getName();
private DynamicGridView gridView;
+ GroupListResponse result;
@Override
@@ -42,12 +58,101 @@
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
- String[] list = {"ファミリー\n 紙コップ\n 延長ケーブル", "Group2\n からし", "Group3\n ケーキ\n something"};
+ final String uId,token;
+ Cosmos app = (Cosmos) getApplication();
+ uId = app.getuId();
+ token = app.getToken();
+ //ユーザ名とユーザIDを表示したい
+ final String uName;
+ uName = "hogehoge";
+ NavigationView navView = (NavigationView) findViewById(R.id.nav_view);
+ View headerView = navView.getHeaderView(0);
+ TextView userNameTextView = navView.getHeaderView(0).findViewById(R.id.userName);
+ TextView userIDTextView = navView.getHeaderView(0).findViewById(R.id.userID);
+ userNameTextView.setText("ユーザ名:"+uName);
+ userIDTextView.setText("ユーザID:"+uId);
+ final ArrayList groupList = new ArrayList<>();
+
+ //retrofitの処理
+ final Retrofit retrofit = new Retrofit.Builder()
+ .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/")
+ .addConverterFactory(JacksonConverterFactory.create())
+ .build();
+ //interfaceから実装を取得
+ final GroupsRest getGroupsService = retrofit.create(GroupsRest.class);
+
+ //API呼び出しのための値入力
+ final Call call = getGroupsService.getGroups(uId,token);
+
+ //サーバからデータ受け取り
+ call.enqueue(new Callback() {
+ //成功時
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()) {
+ GroupListResponse result2 = response.body();
+ result = result2;
+// Iterator it = result.member.iterator();
+// int i = 0;
+ for (int i = 0; i < result.getGroupCount(); i++) {
+ groupList.add(result.getGroup(i).getName());
+ }
+
+ // グループ名一覧の表示
+ gridView.setAdapter((ListAdapter) new CheeseDynamicAdapter(GroupListActivity.this,
+ result.getGroups(),
+ getResources().getInteger(R.integer.column_count)));
+
+ //画像をBase64に変換
+ Bitmap icon = BitmapFactory.decodeResource(getResources(),R.drawable.default_icon_image);
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ icon.compress(Bitmap.CompressFormat.JPEG,100, baos);
+ byte[] b = baos.toByteArray();
+ String imageEncoded = Base64.encodeToString(b, Base64.DEFAULT);
+// Toast.makeText(GroupListActivity.this,"接続できたよ",Toast.LENGTH_LONG).show();
+
+
+ //アイコンが未設定ならデフォルト画像を設定
+// for(int i = 0; i call, Throwable t) {
+ t.printStackTrace();
+ Toast.makeText(GroupListActivity.this,
+ "グループ情報取得失敗", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+// ArrayList GroupList = new ArrayList<>();
+// for (int i = 0; i < result.getGroupCount(); i++) {
+// GroupList.add(result.getGroup(i).getName());
+// }
gridView = (DynamicGridView) findViewById(R.id.dynamic_grid);
- gridView.setAdapter((ListAdapter) new CheeseDynamicAdapter(this,
- new ArrayList(Arrays.asList(Cheeses.sCheeseStrings)),
- getResources().getInteger(R.integer.column_count)));
gridView.setOnDragListener(new DynamicGridView.OnDragListener() {
@Override
@@ -81,15 +186,15 @@
});
/* とりあえずの画面遷移なので変更するかも */
- TextView group1 = findViewById(R.id.group1);
- group1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- gridView.stopEditMode();
- Intent intent=new Intent(GroupListActivity.this, com.example.cosmosclient.views.RequestListActivity.class);
- startActivity(intent);
- }
- });
+// TextView group1 = findViewById(R.id.group1);
+// group1.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View view) {
+// gridView.stopEditMode();
+// Intent intent=new Intent(GroupListActivity.this, com.example.cosmosclient.views.RequestListActivity.class);
+// startActivity(intent);
+// }
+// });
DrawerLayout drawer = findViewById(R.id.drawer_layout);
@@ -172,5 +277,7 @@
DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
+
+
}
}
diff --git a/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java b/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java
index 99f0054..64113fa 100644
--- a/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java
+++ b/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java
@@ -42,7 +42,7 @@
convertView = inflater.inflate(itemLayoutId, parent, false);
// ViewHolder を生成
holder = new ViewHolder();
- holder.textView = convertView.findViewById(R.id.textView);
+ holder.textView = convertView.findViewById(R.id.userID);
holder.imageView = convertView.findViewById(R.id.imageView);
convertView.setTag(holder);
}
diff --git a/app/src/main/java/com/example/cosmosclient/views/MemberListActivity.java b/app/src/main/java/com/example/cosmosclient/views/MemberListActivity.java
index d2ab01a..242c8f4 100644
--- a/app/src/main/java/com/example/cosmosclient/views/MemberListActivity.java
+++ b/app/src/main/java/com/example/cosmosclient/views/MemberListActivity.java
@@ -5,6 +5,7 @@
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
+import android.os.Handler;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
@@ -14,6 +15,7 @@
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
+import android.widget.TextView;
import android.widget.Toast;
import com.example.cosmosclient.R;
@@ -43,12 +45,22 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_member_list);
+ /*ここからグループ名表示*/
+ TextView groupName = findViewById(R.id.groupName);
//メンバー追加ボタン処理
- FloatingActionButton fab = findViewById(R.id.addrequest_button);
+ final FloatingActionButton fab = findViewById(R.id.addrequest_button);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
+ //ボタン連打防止
+ fab.setEnabled(false);
+ new Handler().postDelayed(new Runnable() {
+ public void run() {
+ fab.setEnabled(true);
+ }
+ }, 1000L);
+
startActivity(new Intent(MemberListActivity.this,
AddMemberActivity.class));
finish();
@@ -57,6 +69,9 @@
//app/CosmosにGETメソッドに必要なデータを取得
Cosmos app = (Cosmos) getApplication();
+ //現在のグループ情報を格納しているものからgIdを取得
+ Group curentGroup = app.getCurentGroup();
+ groupName.setText(curentGroup.getName());
final String token = app.getToken();
final String gId = app.getCurentGroup().getgId();
diff --git a/app/src/main/java/com/example/cosmosclient/views/MemberListAdapter.java b/app/src/main/java/com/example/cosmosclient/views/MemberListAdapter.java
index c532a6c..42e1f48 100644
--- a/app/src/main/java/com/example/cosmosclient/views/MemberListAdapter.java
+++ b/app/src/main/java/com/example/cosmosclient/views/MemberListAdapter.java
@@ -66,7 +66,7 @@
convertView = inflater.inflate(itemLayoutId, parent, false);
// ViewHolder を生成
holder = new MemberListAdapter.ViewHolder();
- holder.textView = convertView.findViewById(R.id.textView);
+ holder.textView = convertView.findViewById(R.id.userID);
holder.imageView = convertView.findViewById(R.id.imageView);
convertView.setTag(holder);
}
diff --git a/app/src/main/java/com/example/cosmosclient/views/SigninActivity.java b/app/src/main/java/com/example/cosmosclient/views/SigninActivity.java
index 2a70436..b5b78ae 100644
--- a/app/src/main/java/com/example/cosmosclient/views/SigninActivity.java
+++ b/app/src/main/java/com/example/cosmosclient/views/SigninActivity.java
@@ -89,19 +89,25 @@
@Override
public void onResponse(Call call, Response response) {
if (response.isSuccessful()) {
- SigninResponse result = response.body();
+ if(response.body() == null){
+ //パスワードが違う際、アプリが落ちてしまうため
+ Toast.makeText(SigninActivity.this,
+ "パスワードが違います",Toast.LENGTH_LONG).show();
+ }else{
+ SigninResponse result = response.body();
- //app/Cosmosに情報保存
- Cosmos app = (Cosmos)getApplication();
- app.setToken(result.token);
- app.setuId(UserIdText.getText().toString());
+ //app/Cosmosに情報保存
+ Cosmos app = (Cosmos) getApplication();
+ app.setToken(result.token);
+ app.setuId(UserIdText.getText().toString());
- //画面遷移
- Intent intent = new Intent(getApplication(), GroupListActivity.class);
- startActivity(intent);
- Toast.makeText(SigninActivity.this,
- "ログインしました", Toast.LENGTH_SHORT).show();
- finish();
+ //画面遷移
+ Intent intent = new Intent(getApplication(), GroupListActivity.class);
+ startActivity(intent);
+ Toast.makeText(SigninActivity.this,
+ "ログインしました", Toast.LENGTH_SHORT).show();
+ finish();
+ }
}else{
//onFailureでキャッチできないエラーの処理
@@ -113,7 +119,7 @@
//失敗時
@Override
public void onFailure(Call call, Throwable t) {
- //t.printStackTrace();
+ t.printStackTrace();
Toast.makeText(SigninActivity.this,
"ユーザIDもしくはパスワードが間違っています",Toast.LENGTH_SHORT).show();
}
diff --git a/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java b/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java
index 5770dcc..f6f3965 100644
--- a/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java
+++ b/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java
@@ -41,6 +41,7 @@
private Button MakeAccountButton;
private ImageView iconChoice;
private String iconImageBase64;
+ private int quality = 70;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -185,18 +186,21 @@
//画像をBase64に変換
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Bitmap afterResizeBitmap = Bitmap.createScaledBitmap(image,50,50,true);
- afterResizeBitmap.compress(Bitmap.CompressFormat.JPEG,70, baos);
+ afterResizeBitmap.compress(Bitmap.CompressFormat.JPEG,quality, baos);
byte[] b = baos.toByteArray();
String imageEncoded = Base64.encodeToString(b, Base64.DEFAULT);
- if(imageEncoded.length() <= 2000){
- iconChoice.setImageBitmap(image);
- iconImageBase64 = imageEncoded;
- }else{
- Toast.makeText(SignupActivity.this,
- "この画像は使用できません。\n別の画像を選択してください。",Toast.LENGTH_LONG).show();
+ while (imageEncoded.length() >2000){
+ //文字数の2000文字以下になるまで圧縮率を上げて再度変換
+ baos = new ByteArrayOutputStream();
+ quality -=5;
+ afterResizeBitmap.compress(Bitmap.CompressFormat.JPEG,quality, baos);
+ b = baos.toByteArray();
+ imageEncoded = Base64.encodeToString(b, Base64.DEFAULT);
}
+ iconChoice.setImageBitmap(image);
+ iconImageBase64 = imageEncoded;
}catch(IOException e){
e.printStackTrace();
}
diff --git a/app/src/main/res/layout/activity_add_member.xml b/app/src/main/res/layout/activity_add_member.xml
index 242f8aa..3e218c9 100644
--- a/app/src/main/res/layout/activity_add_member.xml
+++ b/app/src/main/res/layout/activity_add_member.xml
@@ -12,7 +12,7 @@
android:layout_height="75dp"
android:background="#e6eae3"
android:gravity="center"
- android:text="家族用 グループ"
+ android:text=""
android:textSize="24sp"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="0dp" />
diff --git a/app/src/main/res/layout/activity_display_group_id.xml b/app/src/main/res/layout/activity_display_group_id.xml
index 8f17cde..bc5af51 100644
--- a/app/src/main/res/layout/activity_display_group_id.xml
+++ b/app/src/main/res/layout/activity_display_group_id.xml
@@ -12,7 +12,7 @@
android:layout_height="75dp"
android:background="#e6eae3"
android:gravity="center"
- android:text="家族用 グループ"
+ android:text=""
android:textSize="24sp"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="16dp" />
diff --git a/app/src/main/res/layout/activity_display_qr.xml b/app/src/main/res/layout/activity_display_qr.xml
index 32a602e..fd64cdc 100644
--- a/app/src/main/res/layout/activity_display_qr.xml
+++ b/app/src/main/res/layout/activity_display_qr.xml
@@ -12,7 +12,7 @@
android:layout_height="75dp"
android:background="#e6eae3"
android:gravity="center"
- android:text="家族用 グループ"
+ android:text=""
android:textSize="24sp"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="16dp" />
diff --git a/app/src/main/res/layout/activity_join_group_by_id.xml b/app/src/main/res/layout/activity_join_group_by_id.xml
index 9f744f2..bb755b3 100644
--- a/app/src/main/res/layout/activity_join_group_by_id.xml
+++ b/app/src/main/res/layout/activity_join_group_by_id.xml
@@ -16,13 +16,14 @@
android:digits="abcdefghijklmnopqrstuvwxyz1234567890-"
android:ems="10"
android:gravity="start|top"
+ android:hint="IDを入力してください"
android:inputType="textEmailAddress"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/button"
- app:layout_constraintHorizontal_bias="0.765"
+ app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView7"
- app:layout_constraintVertical_bias="0.441" />
+ app:layout_constraintVertical_bias="0.233" />
@@ -42,12 +43,12 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
- android:layout_marginTop="192dp"
+ android:layout_marginTop="160dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.445"
+ app:layout_constraintHorizontal_bias="0.465"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/inputGroupID" />
@@ -66,11 +67,10 @@
android:id="@+id/Addbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginEnd="40dp"
- android:layout_marginRight="40dp"
+ android:layout_marginTop="60dp"
android:text="グループに入る"
android:visibility="invisible"
- app:layout_constraintBottom_toBottomOf="@+id/IDresult"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="@+id/IDresult" />
+ app:layout_constraintEnd_toEndOf="@+id/IDresult"
+ app:layout_constraintStart_toStartOf="@+id/IDresult"
+ app:layout_constraintTop_toBottomOf="@+id/IDresult" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_member_list.xml b/app/src/main/res/layout/activity_member_list.xml
index 591d3be..81b0f8a 100644
--- a/app/src/main/res/layout/activity_member_list.xml
+++ b/app/src/main/res/layout/activity_member_list.xml
@@ -34,7 +34,7 @@
android:layout_height="75dp"
android:background="#e6eae3"
android:gravity="center"
- android:text="家族用 グループ"
+ android:text=""
android:textSize="24sp"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="0dp" />
diff --git a/app/src/main/res/layout/activity_qrcode_reading.xml b/app/src/main/res/layout/activity_qrcode_reading.xml
index 82e66d2..0b0d88a 100644
--- a/app/src/main/res/layout/activity_qrcode_reading.xml
+++ b/app/src/main/res/layout/activity_qrcode_reading.xml
@@ -5,13 +5,14 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".views.QRcodeReadingActivity">
+
@@ -46,12 +47,10 @@
android:id="@+id/Addbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginEnd="16dp"
- android:layout_marginRight="16dp"
+ android:layout_marginTop="76dp"
android:text="グループに入る"
- app:layout_constraintBottom_toBottomOf="@+id/QRcodeResult"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="@+id/QRcodeResult"
- app:layout_constraintVertical_bias="0.437" />
+ app:layout_constraintEnd_toEndOf="@+id/QRcodeResult"
+ app:layout_constraintStart_toStartOf="@+id/QRcodeResult"
+ app:layout_constraintTop_toBottomOf="@+id/QRcodeResult" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_signup.xml b/app/src/main/res/layout/activity_signup.xml
index c0b617e..ea37005 100644
--- a/app/src/main/res/layout/activity_signup.xml
+++ b/app/src/main/res/layout/activity_signup.xml
@@ -44,7 +44,7 @@
android:layout_height="1dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="50dp"
- android:layout_marginTop="32dp"
+ android:layout_marginTop="24dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="50dp"
android:background="@android:color/darker_gray"
@@ -59,7 +59,7 @@
android:layout_height="28dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
- android:layout_marginTop="18dp"
+ android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:background="#FFFFFF"
@@ -77,15 +77,15 @@
android:layout_height="66dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
- android:layout_marginTop="16dp"
+ android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
- android:textAllCaps="false"
android:text="@string/make_account"
+ android:textAllCaps="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.445"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/ConfirmPasswordText" />
+ app:layout_constraintTop_toBottomOf="@+id/choiceImage" />
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_grid.xml b/app/src/main/res/layout/item_grid.xml
index 829341c..4fc0f67 100644
--- a/app/src/main/res/layout/item_grid.xml
+++ b/app/src/main/res/layout/item_grid.xml
@@ -2,6 +2,7 @@
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_list.xml b/app/src/main/res/layout/item_list.xml
index 21d5116..5037c41 100644
--- a/app/src/main/res/layout/item_list.xml
+++ b/app/src/main/res/layout/item_list.xml
@@ -2,11 +2,10 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/list.xml b/app/src/main/res/layout/list.xml
index f7142e2..5bb4578 100644
--- a/app/src/main/res/layout/list.xml
+++ b/app/src/main/res/layout/list.xml
@@ -15,7 +15,7 @@
android:contentDescription="picture"/>