마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

데이터 저장 방법에 대해 질문 드립니다.

0 추천

 

안드로이드를 공부하고 있는 학생입니다. 위 그림처럼 인텐트가 되어진 값을 저장하고 다시 다른 값을 인텐트 하였을시 이전의 값이 저장되어 있고 다음 값을 띄우고 싶은데 어떻게 해야 할지를 모르겠습니다. 그리고 초기화 버튼을 넣어 초기화버튼을 누르게 되면 저장되어 있는 값들이 다 없어지게끔 구현하고 싶은데요  현재 인텐트 되어 값을 표시하고 이전의 액티비티로 돌아가게 되면 값이 저장되지 않습니다... 제발 도와주세요 ㅠ

익명사용자 님이 2016년 10월 11일 질문

1개의 답변

0 추천
Activity 호출할때 플래그옵션 아무것도 안주면 이전 Activity 상태는 그대로 유지 될텐데요.

혹시 두번째 Activity 호출하는 부분과 manifest에 첫번째 Activity 정의되어 있는부분 코드좀 볼 수 있을까요?
Development Guy (70,570 포인트) 님이 2016년 10월 11일 답변
@Override
        public void onClick(View v) {
           
           
            if (v.getId() == R.id.button_result) {
                Intent it = new Intent(this, Check.class);
                Toast.makeText(getApplicationContext(), "주문되었습니다.", Toast.LENGTH_SHORT).show();
                it.putExtra("it_check", Checked(v));
              

                startActivity(it);
            
        }<< 이부분과

<activity
            android:name=".Menu1"
            android:label="@string/title_activity_menu1" >
        </activity>
이렇게 되어 있습니다
1번 Activity에서 2번 Activity 호출했다가 뒤로가기 했는데 1번 Activity에 있는 데이터가 초기화 된거가 문제가 되시는거 맞죠?
제가 이해한게 맞는거죠?
인텐드가 되어진 값을 아직 저장하는 법을 몰라서 저장도 하고 싶고 그 저정되어진 값과 뒤로 돌아가서 다시 불러온 값을 두번째 액티비티에 띄우고 싶습니다.!!
단순 데이터 저장은 SharedPreference를 이용하시면 되고

두번째 Activity에서의 데이터를 다시 첫번째에서 받으려면 startActivityForResult를 사용하시면 onActivityResult 오버라이드 함수로 받으실 수 있습니다.
혹시 이부분에 대해서 자세하게 나와있는 사이트나 설명 부탁 드려도 될까요??
멀리서 찾으려고 하지 마시고 레퍼런스 사이트를 참조하시면 됩니다.
SharedPreference - https://developer.android.com/training/basics/data-storage/shared-preferences.html

Activity간 intent 통신 관련 - https://developer.android.com/training/basics/intents/result.html
제가 이부분을 해봤는데요 .. 그런데 똑같은 내용이 두번 나와서 그러는데 ㅠㅠ 어떻게 해야될까요 ..ㅠ
그럼 그 똑같은 내용중 하나를 지워주면 되지요.
그런데 다음값을 받아올때 이전에 받았던 값이 그대로 남아있고 그 밑에 다시 받아온 값을 입력 시키고 싶은데 그게 잘 안되네요 ... 그건 어떻게 해야되나요??
TextView에 값을 붙이는거는 append함수가 있으니 그걸 쓰시면 되고 다음값을 받아온다는게 별도 Activity에서 받아온다는뜻이겠죠? 그거를 onActivityResult 함수 오버라이드해서 두번째 Activity로부터 값을 받아오시면 됩니다. 자세한거는 위에 알려드린 레퍼런스 사이트 참고해서 스스로 공부하시는게 본인에게 도움이 됩니다.
...