[안드로이드] SharedPreference를 이용하여 간단한 데이터들 저장하기
기본적으로 앱을 사용하기 위해서는 일회용성인 데이터가 필요할 일은 거의 없다. 항상 어떤 데이터든 간직하기 마련인데
그러기 위해선 우린 안드로이드에 내장된 LocalDB인 SQLite를 사용하기도 하고, 서버의 DB에 연결하여 데이터들을 가져오고
불러오기도 한다. 그런데 그런 방법 말고도 SharedPreference를 이용하여 간단한 데이터들을 저장하고 불러올 수 있다.
사용방법을 알아보도록 예제를 통해 알아보자.
[MainActivity.java]
public class MainActivity extends AppCompatActivity { private TextView textView1; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText)findViewById(R.id.edit1); textView1 = (TextView)findViewById(R.id.resultText1); //저장된 값을 불러오기 위해 같은 네임파일을 찾음. SharedPreferences sf = getSharedPreferences("sFile",MODE_PRIVATE); //text라는 key에 저장된 값이 있는지 확인. 아무값도 들어있지 않으면 ""를 반환 String text = sf.getString("text",""); textView1.setText(text); } @Override protected void onStop() { super.onStop(); // Activity가 종료되기 전에 저장한다. //SharedPreferences를 sFile이름, 기본모드로 설정 SharedPreferences sharedPreferences = getSharedPreferences("sFile",MODE_PRIVATE); //저장을 하기위해 editor를 이용하여 값을 저장시켜준다. SharedPreferences.Editor editor = sharedPreferences.edit(); String text = editText.getText().toString(); // 사용자가 입력한 저장할 데이터 editor.putString("text",text); // key, value를 이용하여 저장하는 형태 //다양한 형태의 변수값을 저장할 수 있다. //editor.putString(); //editor.putBoolean(); //editor.putFloat(); //editor.putLong(); //editor.putInt(); //editor.putStringSet(); //최종 커밋 editor.commit(); } }
[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"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="저장할 내용을 입력하세요." android:textSize="20dp" /> <EditText android:id="@+id/edit1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/resultText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimary" android:textSize="20dp" /> </LinearLayout>
[앱 실행화면]
보는 것과 같이 처음 앱을 실행시켰을 때 저장할 내용을 적고 앱을 종료 후 다시 켰을 때 내용이 불러들여 진 것을 확인할 수 있다.
'IT 개발 > 안드로이드개발' 카테고리의 다른 글
[안드로이드] 안드로이드 형변환 정리 (0) | 2018.10.02 |
---|---|
[안드로이드] 사용자정의 다이얼로그(custom dialog) 만드는 방법 (0) | 2018.09.30 |
[안드로이드] 안드로이드 타이틀바, 상태바 없애기 (5) | 2018.09.28 |
[안드로이드] 핸드폰 MAC주소 확인하기 (1) | 2018.09.27 |
[안드로이드]실행중인 어플리케이션 목록에서 숨기는 방법 (0) | 2018.09.26 |
[안드로이드] 안드로이드스튜디오에서 자주쓰는 단축키!!! (0) | 2018.09.20 |
[안드로이드] 안드로이드(Android)다이얼로그(Dialog)로 액티비티(Activity) 띄우기 (0) | 2018.09.20 |
[안드로이드] 안드로이드(Android) 다이얼로그(Dialog) 뒷배경 터치 안되게 하기 (0) | 2018.09.19 |