왕현성
코딩발자취
왕현성
전체 방문자
오늘
어제
  • 코딩 (277)
    • Python (71)
    • Java (16)
    • MySQL (34)
    • 인공지능 (48)
      • 머신러닝 (16)
      • 딥러닝 (32)
    • 영상처리 (4)
    • Rest API (21)
    • Android Studio (25)
    • streamlit (13)
    • DevOps (22)
      • AWS (9)
      • PuTTY (5)
      • Git (4)
      • Serverless (2)
      • Docker (2)
    • IT 기술 용어 (6)
    • 디버깅 ( 오류 해결 과정 ) (17)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • maskimage
  • 비지도학습
  • unsupervised
  • labelme UnocodeDecodeError
  • pytorch
  • matplotlib
  • 딥러닝
  • ckpt_file
  • imageprocessing
  • UnboundLocalError
  • yolov8
  • 영상처리
  • encoding='utf-8'
  • PIL
  • OpenCV
  • 기상탐사
  • 의료이미징
  • alibidetect
  • tune()
  • TensorFlow
  • alibi-detection
  • 영상기술
  • get_long_description
  • pip install labelme
  • numpy
  • ComputerVision
  • 컴퓨터비전
  • labelme
  • PYTHON
  • 영상처리역사

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
왕현성

코딩발자취

Android - SharedPreferences 공유 저장소에 데이터 저장하기
Android Studio

Android - SharedPreferences 공유 저장소에 데이터 저장하기

2023. 1. 31. 11:17
728x90

SharedPreferences

getSharedPreferences()

  • 이름으로 식별되는 공유 환경설정 파일이 여러개 필요한 경우 사용
  • 앱의 모든 Context에서 이 메서드를 호출
  • 이름은 첫번째 매개변수로 지정

getPreferences()

  • 활동에 공유 환경설정 파일이 하나만 필요한 경우 사용
  • Activity에서 메서드 호출
  • Activity에 속한 기본 공유 환경설정 파일을 검색하기 때문에 이름을 정의 할 필요가 없음

공유 환경설정에 쓰기 (데이터 저장)

  • 공유 환경설정 파일에 데이터를 저장하려면 edit()를 호출하여 SharedPreferences.Editor를 생성
  • putString(), putInt() 와 같은 메서드를 사용하여 키와 밸류 정의
  • apply(), commit() 메서드를 호출하여 데이터 저장

공유 환경설정에서 읽기 (데이터 불러오기)

  • getString(), getInt() 와 같은 메서드를 사용하여 데이터 호출
  • 첫번째 파라미터 : 키
  • 두번째 파라미터 : 키가 존재하지 않을 때 반환할 default 값

 

package com.hyunsungkr.saveapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    EditText editSentence;
    Button btnSave;

    private static final String SP_NAME = "save_app";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editSentence = findViewById(R.id.editSentence);
        btnSave = findViewById(R.id.btnSave);

        // 만약 앱 저장소에 sentence라는 키 값으로 저장된 데이터가 있으면
        // EditText에 표시를 하자!
        SharedPreferences sp = getSharedPreferences(SP_NAME,MODE_PRIVATE);
        String sentence = sp.getString("sentence","");
        int data = sp.getInt("hello",0);
        editSentence.setText(sentence+data);


        // 유저가 입력한 문장을 Shared Preference에 저장한다.
        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String sentence = editSentence.getText().toString().trim();

                // 첫번째 파라미터는 저장소 이름을 적어준다.
                // 두번째 파라미터는 우리 앱에서만 사용할 수 있도록 MODE_PRIVATE
                SharedPreferences sp = getSharedPreferences(SP_NAME,MODE_PRIVATE);
                SharedPreferences.Editor editor = sp.edit();
                editor.putString("sentence",sentence);
                editor.putInt("hello",100);
                editor.apply();

                // 저장 이후에 다시 hint로 화면에 보여주는 코드
                editSentence.setText("");
            }
        });
    }
}

 

 

ㅅ

'Android Studio' 카테고리의 다른 글

Android - RecyclerView - 리스트를 화면에 출력하기  (0) 2023.02.01
Android - SQLite3 DB 사용법  (1) 2023.01.31
Android - Activity 간의 데이터 전달 방법 (단방향/양방향) / Back(뒤로가기) 이벤트 처리 방법  (0) 2023.01.30
Android - Activity Life Cycle 주요 함수와 화면 전환 방법  (0) 2023.01.30
Android - CountDownTimer  (0) 2023.01.27
    'Android Studio' 카테고리의 다른 글
    • Android - RecyclerView - 리스트를 화면에 출력하기
    • Android - SQLite3 DB 사용법
    • Android - Activity 간의 데이터 전달 방법 (단방향/양방향) / Back(뒤로가기) 이벤트 처리 방법
    • Android - Activity Life Cycle 주요 함수와 화면 전환 방법
    왕현성
    왕현성
    AI 머신비전 학습일지

    티스토리툴바