본문 바로가기
프로그래밍/안드로이드

안드로이드 SharedPreferences

by -현's- 2015. 5. 10.
반응형


●SharedPreferences

- 데이터를 간단하게 저장할 수 있는 안드로이드에서 제공하는 클래스이다.






●예제

- MainActivity.java

package com.example.example;


import android.app.Activity;

import android.content.SharedPreferences;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.EditText;

import android.widget.Toast;


public class MainActivity extends Activity implements OnClickListener{

EditText et_id, et_pw;

CheckBox chk_auto;

Button btn_login;


SharedPreferences setting;

SharedPreferences.Editor editor;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

et_id = (EditText) findViewById(R.id.et_id);

et_pw = (EditText) findViewById(R.id.et_pw);

chk_auto = (CheckBox) findViewById(R.id.chk_auto);

btn_login = (Button) findViewById(R.id.btn_login);


setting = getSharedPreferences("setting", 0);

editor= setting.edit();

if(setting.getBoolean("chk_auto", false)){

et_id.setText(setting.getString("ID", ""));

et_pw.setText(setting.getString("PW", ""));

chk_auto.setChecked(true);

}

btn_login.setOnClickListener(this);

}

@Override

public void onClick(View v) {

if(chk_auto.isChecked()){

Toast.makeText(this, "로그인", Toast.LENGTH_SHORT).show();

String ID = et_id.getText().toString();

String PW = et_pw.getText().toString();

editor.putString("ID", ID);

editor.putString("PW", PW);

editor.putBoolean("chk_auto", true);

editor.commit();

}else{

editor.clear();

editor.commit();

}

}

}



 



- activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 

   xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity2" >


    <TextView

        android:id="@+id/txt_id"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentTop="true"

        android:layout_centerHorizontal="true"

        android:layout_marginTop="30dp"

        android:text="ID를 입력하세요" />


    <EditText

        android:id="@+id/et_id"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_below="@+id/txt_id"

        android:layout_centerHorizontal="true"

        android:ems="10" />


    <TextView

        android:id="@+id/txt_pw"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_below="@+id/et_id"

        android:layout_marginTop="30dp"

        android:layout_centerHorizontal="true"

        android:text="비밀번호를 입력하세요" />


    <EditText

        android:id="@+id/et_pw"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_below="@+id/txt_pw"

        android:layout_centerHorizontal="true"

        android:ems="10" >


        <requestFocus />

    </EditText>


    <CheckBox

        android:id="@+id/chk_auto"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_below="@+id/et_pw"

        android:layout_centerHorizontal="true"

        android:layout_marginTop="30dp"

        android:text="자동 로그인" />

    

    <Button

        android:id="@+id/btn_login"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_below="@+id/chk_auto"

        android:layout_centerHorizontal="true"

        android:layout_marginTop="30dp"

        android:text="자동 로그인" />


</RelativeLayout>

 










반응형

댓글