-
[안드로이드] 데이터 저장하기Android/공부 2020. 6. 22. 16:43
SharedPreferences를 사용해 데이터 저장하는 앱 만들어보기
-
SharedPreferences는 (key, value) 형태로 사용하며, 자동 로그인과 같이 간단한 데이터를 저장해야 하는 경우에사용한다.
1. xml
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" tools:context=".MainActivity" android:orientation="vertical" android:padding="4dp"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/edit_id" android:hint="이메일을 입력하세요" android:inputType="text"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/edit_pass" android:hint="패스워드를 입력하세요" android:inputType="numberPassword"/> <CheckBox android:layout_width="match_parent" android:layout_height="wrap_content" android:text="이메일 저장" android:id="@+id/checkbox" android:checked="true"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="로그인" android:id="@+id/btn_login" android:onClick="onClick"/> </LinearLayout>
2. java
1. MainActivity.java
package com.example.myloginex; import androidx.appcompat.app.AppCompatActivity; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { // 데이터를 저장했다가 앱이 재실행됐을때 불러올 데이터 -> 아이디, 체크박스 체크여부 private EditText edit_id; private CheckBox checkbox; // 설정 정보 저장 객체 private SharedPreferences mPreferences; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edit_id = (EditText) findViewById(R.id.edit_id); checkbox = (CheckBox) findViewById(R.id.checkbox); // 객체 초기화 mPreferences = PreferenceManager.getDefaultSharedPreferences(this); // 저장된 이메일을 불러와서 복원 Boolean isChecked = mPreferences.getBoolean("save", false); checkbox.setChecked(isChecked); if(isChecked) { String email = mPreferences.getString("email", ""); edit_id.setText(email); } } @Override protected void onDestroy() { super.onDestroy(); // SharedPreferences의 수정 가능한 객체 얻기 SharedPreferences.Editor editor = mPreferences.edit(); // 저장할 데이터 editor.putBoolean("save", checkbox.isChecked()); editor.putString("email", edit_id.getText().toString()); //저장 editor.apply(); } public void onClick(View view) { Toast.makeText(getApplicationContext(), "종료합니다.", Toast.LENGTH_SHORT).show(); finish(); } }
3. 결과화면
'Android > 공부' 카테고리의 다른 글
[안드로이드] 화면 회전시 데이터 유지하기 (0) 2020.06.23 [안드로이드] 데이터 저장하기 2 (0) 2020.06.22 [안드로이드] CustomView 예제 2 (0) 2020.05.26 [안드로이드] CustomView (0) 2020.05.26 [안드로이드] ListView 이벤트처리2 -리스트추가,수정,삭제 (0) 2020.05.26 -