diff --git a/app/src/main/java/com/example/tampopo_client/Tampopo.java b/app/src/main/java/com/example/tampopo_client/Tampopo.java index c5edc9b..5cf6ea8 100644 --- a/app/src/main/java/com/example/tampopo_client/Tampopo.java +++ b/app/src/main/java/com/example/tampopo_client/Tampopo.java @@ -17,11 +17,18 @@ private String nickname; private String icon; + @Override + public void onCreate(){ + super.onCreate(); + loadUserData(); + } + public String getToken() {return token;} public void setToken(String token) { this.token = token; + saveUserData(); } public String getUserId() { @@ -30,12 +37,14 @@ public void setUserId(String userId) { this.userId = userId; + saveUserData(); } public String getMailaddress() { return mailaddress; } public void setMailaddress(String mailaddress) { this.mailaddress = mailaddress; + saveUserData(); } @@ -46,6 +55,7 @@ public void setPassword(String password) { this.password = password; + saveUserData(); } public String getChatroomId() { @@ -54,6 +64,7 @@ public void setChatroomId(String ChatroomId) { this.chatroomId = ChatroomId; + saveUserData(); } public String getChatFriendId() { return chatFriendId; @@ -61,6 +72,7 @@ public void setChatFriendId(String ChatFriendId) { this.chatFriendId = ChatFriendId; + saveUserData(); } @@ -68,11 +80,41 @@ public void setNickname(String nickname) { this.nickname = nickname; + saveUserData(); } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; + saveUserData(); + } + + // 永続的にデータを保存する + private void saveUserData() { + SharedPreferences prefs = getSharedPreferences("user_data", MODE_PRIVATE); + SharedPreferences.Editor editor = prefs.edit(); + editor.putString("token", token); + editor.putString("userId", userId); + editor.putString("password", password); + editor.putString("chatroomId", chatroomId); + editor.putString("chatFriendId", chatFriendId); + editor.putString("mailaddress", mailaddress); + editor.putString("nickname", nickname); + editor.putString("icon", icon); + editor.apply(); // 非同期で保存 + } + + // 起動時にデータを読み込む + private void loadUserData() { + SharedPreferences prefs = getSharedPreferences("user_data", MODE_PRIVATE); + token = prefs.getString("token", ""); + userId = prefs.getString("userId", ""); + password = prefs.getString("password", ""); + chatroomId = prefs.getString("chatroomId", ""); + chatFriendId = prefs.getString("chatFriendId", ""); + mailaddress = prefs.getString("mailaddress", ""); + nickname = prefs.getString("nickname", ""); + icon = prefs.getString("icon", ""); } } diff --git a/app/src/main/java/com/example/tampopo_client/views/ProfileActivity.java b/app/src/main/java/com/example/tampopo_client/views/ProfileActivity.java index b94a61b..1ac58c7 100644 --- a/app/src/main/java/com/example/tampopo_client/views/ProfileActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/ProfileActivity.java @@ -48,7 +48,10 @@ private ActivityResultLauncher launcher = registerForActivityResult(new ActivityResultContracts.OpenDocument(), new ActivityResultCallback() { @Override public void onActivityResult(Uri uri) { - if(uri == null)return; + if(uri == null){ + iconFlag = false; + return; + } ShapeableImageView changeIconButton = findViewById(R.id.changeIcon); changeIconButton.setImageURI(uri); try { @@ -105,12 +108,13 @@ } }); - EditText nicknameInput = (EditText) findViewById(R.id.nicknamebutton); + EditText nicknameInput = findViewById(R.id.nicknamebutton); nicknameInput.setText(((Tampopo) ProfileActivity.this.getApplication()).getNickname()); EditText useridInput = findViewById(R.id.idbutton); useridInput.setText(((Tampopo) ProfileActivity.this.getApplication()).getUserId()); + //IDを変更できないようにする useridInput.setEnabled(false);