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..8d0e0cc --- /dev/null +++ b/app/src/main/java/com/example/cosmosclient/entities/GroupListResponse.java @@ -0,0 +1,45 @@ +package com.example.cosmosclient.entities; + +import java.util.List; + +public class GroupListResponse { + + private List group; + + public GroupListResponse() { + + } + + public GroupListResponse(List group) { + this.group = group; + } + + public List getGroup() { + return group; + } + + public void setGroup(List group) { + this.group = group; + } + + public void addGroup(Group g) { + group.add(g); + } + + public Group getGroup(int index) { + return group.get(index); + } + + public void clearGroup() { + group.clear(); + } + + public void removeGroup(int index) { + group.remove(index); + } + + public int getGroupCount() { + return group.size(); + } + +} 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 47e300f..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; @@ -23,7 +24,7 @@ public interface GroupsRest { @GET("groups") - Call getGroups(@Field("uId") String uId, @Field("token") String token); + Call getGroups(@Query("uId") String uId, @Query("token") String token); @POST("groups") @FormUrlEncoded 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 d604bfd..2e1d065 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,20 +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; @@ -55,7 +65,6 @@ //ユーザ名とユーザIDを表示したい final String uName; uName = "hogehoge"; - //Call NavigationView navView = (NavigationView) findViewById(R.id.nav_view); View headerView = navView.getHeaderView(0); TextView userNameTextView = navView.getHeaderView(0).findViewById(R.id.userName); @@ -72,9 +81,68 @@ //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 result = response.body(); +// Iterator it = result.member.iterator(); +// int i = 0; + + //画像を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); + + + + //アイコンが未設定ならデフォルト画像を設定 +// for(int i = 0; i call, Throwable t) { + t.printStackTrace(); + Toast.makeText(GroupListActivity.this, + "グループ情報取得失敗", Toast.LENGTH_SHORT).show(); + } + }); + //String[] list = {"ファミリー\n 紙コップ\n 延長ケーブル", "Group2\n からし", "Group3\n ケーキ\n something"}; 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))); 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); }