diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index e83b75f..1de6c3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -70,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/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/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/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/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"/>