diff --git a/app/src/main/java/com/example/cosmosclient/entities/UserResponse.java b/app/src/main/java/com/example/cosmosclient/entities/UserResponse.java new file mode 100644 index 0000000..28cb151 --- /dev/null +++ b/app/src/main/java/com/example/cosmosclient/entities/UserResponse.java @@ -0,0 +1,6 @@ +package com.example.cosmosclient.entities; + +public class UserResponse { + public String name; + public String iconUri; +} 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 b05522c..55e6651 100644 --- a/app/src/main/java/com/example/cosmosclient/resources/UsersRest.java +++ b/app/src/main/java/com/example/cosmosclient/resources/UsersRest.java @@ -2,7 +2,7 @@ import com.example.cosmosclient.entities.SigninResponse; import com.example.cosmosclient.entities.SignupResponse; -import com.example.cosmosclient.entities.User; +import com.example.cosmosclient.entities.UserResponse; import retrofit2.Call; import retrofit2.http.Field; @@ -18,7 +18,7 @@ Call login(@Path("uId") String uId,@Field("pw") String pw); @GET("users/{uId}") - Call getName(@Path("uId") String uId, @Field("token") String token); + Call getName(@Path("uId") String uId, @Query("token") String token); @POST("users") @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 0efdd18..8f225e6 100644 --- a/app/src/main/java/com/example/cosmosclient/views/GroupListActivity.java +++ b/app/src/main/java/com/example/cosmosclient/views/GroupListActivity.java @@ -30,7 +30,10 @@ import com.example.cosmosclient.entities.Group; import com.example.cosmosclient.entities.GroupListResponse; import com.example.cosmosclient.entities.MemberListResponse; +import com.example.cosmosclient.entities.User; +import com.example.cosmosclient.entities.UserResponse; import com.example.cosmosclient.entities.jsons.GroupJson; +import com.example.cosmosclient.resources.UsersRest; import com.example.cosmosclient.views.DynamicGridView; import com.example.cosmosclient.resources.GroupsRest; import retrofit2.Call; @@ -59,10 +62,85 @@ setContentView(R.layout.activity_group_list); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); + final String uId,token; + final Cosmos app = (Cosmos) getApplication(); + uId = app.getuId(); + token = app.getToken(); + //retrofitの処理 + final Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + + final UsersRest getUsersService = retrofit.create(UsersRest.class); + //APIに値を送信 + Call call = getUsersService.getName(uId,token); + //サーバからデータ受け取り + call.enqueue(new Callback() { + //成功時 + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) { + UserResponse result = response.body(); + + //ユーザ名とユーザIDを表示したい + 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); + userIDTextView.setText("ユーザID:"+uId); + final String uName; + uName = result.name; + userNameTextView.setText("ユーザ名:"+uName); + + + //画像を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++) { @@ -134,16 +212,6 @@ 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/")