두가지 방법이 있다.
shared preference -> 간단히 저장할때 
sqlite -> DB 
=> 앱을 삭제하면, 같이 삭제된다. 
Main 코드
package com.leopard4.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라는 키로 저장된 데이터가 있으면,
        // 에디트텍스트에 표시를 하자!
        SharedPreferences sp = getSharedPreferences(SP_NAME, MODE_PRIVATE);
        String sentence = sp.getString("sentence", "no data"); // sentence라는 키로 저장된 데이터가 없으면, no data를 반환
        int data = sp.getInt("hello", 0);
        editSentence.setText(sentence + data);
        // 유저가 입력한 문장을 SharedPreferences에 저장
        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String sentence = editSentence.getText().toString().trim();
                // 첫번째 파라미터는, 저장소 이름을 적어준다
                // 두번째 파라미터는, 우리 앱에서만 사용할수 있도록 한다.
                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' 카테고리의 다른 글
| Android SQLite3 , RecyclerView , SQLiteOpenHelper 클래스를 상속 , 메뉴 아이콘 이미지를 벡터 이미지로 만드는 방법, CardView 예시 (1) | 2023.01.31 | 
|---|---|
| Android [로그인앱] (0) | 2023.01.31 | 
| Android 단방향 데이터 전달, 양방향 데이터 전달 (0) | 2023.01.30 | 
| Android Activity간 화면전환(Life Cycle), intent (0) | 2023.01.30 | 
| Android Studio CountDownTimer, Flag, (ABS,Interface)특성, 메소드안의 메소드를 다른메소드에서 호출, Log.i, setText(""+int) (0) | 2023.01.27 | 
 
                    
                  