保存ボタンを押した時に画像データがサーバーに送られるようにしたいです。
Java
1 saveButton.setOnClickListener(new View.OnClickListener() { 2 @Override 3 public void onClick(View v) { 4 SavePreference savePreference = new SavePreference(); 5 String aToken = savePreference.load_aToken(getApplicationContext()); 6 savePreference.save_aToken(ProfileActivity.this, aToken); 7 UserInfoApi userInfoApi = ServiceGenerator.createService(UserInfoApi.class, aToken); 8 String sexData = sexEditAdapter.getItem(sexEdit.getSelectedItemPosition()).first; 9 String areaData = areaSpinnerAdapter.getItem(areaSpinner.getSelectedItemPosition()).first; 10 String birthData = (birthYear.getSelectedItemPosition() + 1900) + "-" + (birthMonth.getSelectedItemPosition() + 1) + "-" + (birthDay.getSelectedItemPosition() + 1); 11 UserInfoApi api = ServiceGenerator.createService(UserInfoApi.class, aToken); 12 email = RequestBody.create(MediaType.parse("multipart/form-data"), String.valueOf(mailEdit.getText())); 13 sex = RequestBody.create(MediaType.parse("multipart/form-data"), sexData); 14 birthday = RequestBody.create(MediaType.parse("multipart/form-data"), birthData); 15 username = RequestBody.create(MediaType.parse("multipart/form-data"), String.valueOf(usernametext.getText())); 16 area = RequestBody.create(MediaType.parse("multipart/form-data"), areaData); 17 bio = RequestBody.create(MediaType.parse("multipart/form-data"), String.valueOf(introductiontext.getText())); 18 19 Call<UserInfo> call = api.patchUserInfo(email,sex,birthday,username,area,bio); 20 call.enqueue(new Callback<UserInfo>() { 21 @Override 22 public void onResponse(Call<UserInfo> call, Response<UserInfo> response) { 23 SavePreference savePreference = new SavePreference(); 24 String aToken = response.body().getKey(); 25 savePreference.save_aToken(ProfileActivity.this, aToken); 26 Integer tmp_uid = response.body().getUid(); 27 28 if (bitmap != null) { 29 ByteArrayOutputStream baos = new ByteArrayOutputStream(); 30 bitmap.compress(Bitmap.CompressFormat.PNG, 10, baos); 31 bytes = baos.toByteArray(); 32 icon_img = RequestBody.create(MediaType.parse("image/png"), bytes); 33 RequestBody uid = RequestBody.create(MediaType.parse("multipart/form-data"), String.valueOf(tmp_uid)); 34 35 UserInfoApi userInfoApi = ServiceGenerator.createService(UserInfoApi.class, aToken); 36 Call<UserInfo> userInfoCall = userInfoApi.iconPost(uid, icon_img); 37 userInfoCall.enqueue(new Callback<UserInfo>() { 38 @Override 39 public void onResponse(Call<UserInfo> call, Response<UserInfo> response) { 40 } 41 42 @Override 43 public void onFailure(Call<UserInfo> call, Throwable t) { 44 45 } 46 }); 47 } 48 49 50 }
のようにコードを書いたのですが、
String aToken = response.body().getKey();のところで
Cannot resolve method "getKey();" とエラーが出て
Integer tmp_uid = response.body().getUid();のところで
Cannot resolve method "getUid();" とエラーが出ました。
他のサイトを参考にして作ったのですが、
これらのメソットの定義はここでしかされていませんでした。
どのように定義すればいいのでしょうか?
また、保存ボタンを押した時に画像データが送られるようにするのに、これらのメソットはいるのでしょうか?
画像の送信にString は使っていないところが気になります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。