728x90
앱을 재실행했을 때 앱이 삭제되지 않는 한 남아있는 데이터값들을 ShraredPreferences를 통해 구현한다.
(text뿐만 아니라 스위치와 같은 것들도 SharedPreferences로 저장가능)
(1) activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/et_save"
android:layout_width="100dp"
android:layout_height="wrap_content"/>
</LinearLayout>
EditText 한 개를 만들어줌
(2) MainActivity.java
package com.example.firstapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
EditText et_save;
String shared = "file";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_save = (EditText)findViewById(R.id.et_save); /// activity_main.xml에서의 EditText값을 java파일로 연결시켜줌
SharedPreferences sharedPreferences = getSharedPreferences(shared, 0 ); /// SharedPreferences를 선언한 거임
String value = sharedPreferences.getString("tae", ""); /// onDestroy의 tae라는 별명의 값을 꺼내오는 거이기에 devalue값은 ""로 설정
et_save.setText(value); /// value에 있는 string값을 써줌
}
@Override
protected void onDestroy() { /// 앱을 종료시켰을 때 엑티비티가 파괴되는데 그때 실행되는 코드 부분임
super.onDestroy();
SharedPreferences sharedPreferences = getSharedPreferences(shared, 0);
SharedPreferences.Editor editor = sharedPreferences.edit(); // SharedPreference 안에 editor을 연결시켜줌
String value = et_save.getText().toString(); // value라는 스트링값은 et_save에 입력된 text값임
editor.putString("tae",value); /// editor에다가 putsring을 하고 별명 tae의 value값을 저장
editor.commit(); /// 저장을 완료해라는 명령
}
}
앱을 껐을 때 onDestroy가 실행되며 앱을 다시 키면 sharedpreferences함수를 통해 값을 다시 불러온다.
위의 코드를 구현한 design부분은 다음과 같다.
'study & bootcamp > 안드로이드 앱 스터디' 카테고리의 다른 글
Android App 개발 스터디 #13 Fragment편 (0) | 2021.08.03 |
---|---|
Android App 개발 스터디 #10 Navigation Menu 커스텀 편 (0) | 2021.07.21 |
Android App 개발 스터디 #9 WebView (0) | 2021.07.21 |
Android App 개발 스터디 2주차 todolist-1 (0) | 2021.07.20 |
Android App 개발 스터디 1주차 내용. (0) | 2021.07.14 |