diff --git a/.idea/misc.xml b/.idea/misc.xml index 31863cb..7ad4240 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -9,48 +9,42 @@ - - - - - - - - - - + - - - - - - - - + + + + + + + + - - + + + + + diff --git a/app/src/main/java/com/example/nemophila/MyPageEditorActivity.java b/app/src/main/java/com/example/nemophila/MyPageEditorActivity.java index 4ff7896..3ca9851 100644 --- a/app/src/main/java/com/example/nemophila/MyPageEditorActivity.java +++ b/app/src/main/java/com/example/nemophila/MyPageEditorActivity.java @@ -1,24 +1,44 @@ package com.example.nemophila; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.appcompat.app.AppCompatActivity; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; +import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.example.nemophila.entities.Account; import com.example.nemophila.viewmodels.AccountViewModel; +import java.util.Base64; +import java.util.List; + public class MyPageEditorActivity extends AppCompatActivity { + private String img; //マイページ編集画面の作成 + private ActivityResultLauncher launcher = registerForActivityResult(new ActivityResultContracts.OpenMultipleDocuments(), new ActivityResultCallback>() { + @Override + public void onActivityResult(List uriList) { + + if(uriList.size() == 0)return; + String newIcon = new String(Base64.getEncoder().encode(uriList.get(0).toString().getBytes())); + img = newIcon; + } + + }); + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -49,6 +69,24 @@ } }); + accountViewModel.getNameLiveData().observe(this, new Observer() { + @Override + public void onChanged(String name) { + TextView myName = (TextView) findViewById(R.id.editName); + myName.setText(name); + nemophila.setName(name); + } + + }); + accountViewModel.getNameLiveData().observe(this, new Observer() { + @Override + public void onChanged(String icon) { + TextView myIcon = (TextView) findViewById(R.id.editName); + myName.setText(name); + nemophila.setName(name); + } + + }); //LiveDataへの購読 accountViewModel.getPwLiveData().observe(this, new Observer() { @Override @@ -68,6 +106,12 @@ } }); + Button selectPictureButton = (Button)findViewById(R.id.selectpicturebutton); + selectPictureButton.setOnClickListener(new View.OnClickListener(){ + public void onClick(View v) { + launcher.launch(new String[]{"image/*"}); + } + }); //変更確定ボタンを押した場合の動き Button changeNameButton = (Button) findViewById(R.id.changeConfirm); diff --git a/app/src/main/java/com/example/nemophila/PostActivity.java b/app/src/main/java/com/example/nemophila/PostActivity.java index 69db41e..e0c670c 100644 --- a/app/src/main/java/com/example/nemophila/PostActivity.java +++ b/app/src/main/java/com/example/nemophila/PostActivity.java @@ -65,18 +65,6 @@ System.out.println(uriLists.get(0)); -// for (int i = 0; i changeIcon( + @Path("uid") String uid, + @Field("icon") String icon, + @Field("token") String token + ); @GET("accounts/{uid}/posts") Call> getAccountPosts( @Path("uid") String uid diff --git a/app/src/main/res/layout/activity_my_page_editor.xml b/app/src/main/res/layout/activity_my_page_editor.xml index e187d18..fee82cd 100644 --- a/app/src/main/res/layout/activity_my_page_editor.xml +++ b/app/src/main/res/layout/activity_my_page_editor.xml @@ -19,7 +19,7 @@ app:layout_constraintHorizontal_bias="0.502" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:layout_constraintVertical_bias="0.726" /> + app:layout_constraintVertical_bias="0.833" /> + app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintVertical_bias="0.0" />