내 앱에 5 개의 활동이 있습니다. 각 활동에는 일부 데이터가 있습니다. 지난 활동의 모든 이전 활동 데이터가 필요합니다. 모든 이전 활동은 일종의 서식입니다. 사용자가 데이터를 채우고 다음 활동으로 이동하고 마지막 활동은 이전 활동의 모든 데이터를 표시합니다.하나의 활동에서 여러 활동의 데이터를 얻는 적절한 방법은 무엇입니까?
답변
이렇게하는 방법에는 여러 가지가 있습니다.
텐트의 사용 및
putString(...)
같은 데이터를 저장 : 당신이 temporarilly 활동의 각 의도의 데이터를 저장하고 다음 목적으로 추가로 이동해야하기 때문에 정말 좋은하지 않습니다
.데이터에 클래스를 사용하고 의도 당 활동 수를 전달하십시오.
이렇게하면 클래스의 인스턴스를 활동에 전달하여 데이터를 쓰거나 읽습니다.하지만이 클래스에는 Parcelable/Serializable 인터페이스가 필요합니다.정적 클래스 사용 :
모든 활동에서이 클래스에 액세스하여 원하는대로 읽고 쓸 수 있습니다.의도와 함께 번들 사용 :
모든 데이터를 번들에 저장하고 활동으로 전달하십시오.디자인에 대해 생각해보세요. 조각 :
5 개의 단편으로 하나의 활동이 있습니다. 모든 Fragment는 Activity에서 데이터를 저장/읽습니다.
최상의 방법은 번들을 사용하는 것입니다.
당신은 사용할 수 있습니다 Intent
FirstActivity
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("key_value", string);
startActivity(intent);
SecondActivity
String text = getIntent().getStringExtra("key_value");
또는 당신은 더 이상 머물 수있는 데이터가 필요하고, 응용 프로그램을 사용하면, 사망 후에 당신은 그것을 다시 사용할 수있는 경우 사용 가능 SharedPrefrences
장소 어떤 Activity
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
String prefString = prefs.getString("ValueOne", null);
한 활동에서 다른 활동으로 데이터를 전달하는 대신 모든 데이터를 표시하려는 활동에 모든 데이터를 직접 저장할 수 있습니까? –
@SonusinghChauhan 예, 그렇게하기 위해 SharedPreferences를 사용할 수 있습니다. – Naskov
옵션의 공유 환경 설정에서 일부 Activity
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.putString("ValueOne", "SomeValue");
editor.commit();
검색 데이터에서 그 데이터를 1 :
당신은 모든 활동에 대한 데이터를 추가 할 옆에 이월하는 경우 그런 다음 bundle
으로 데이터를 전달하는 것이 좋습니다.
데이터가 비교적 작고 다음 활동으로 데이터를 전달하고 나중에 데이터를 저장하지 않으려는 경우 번들은 시나리오에서 더 좋습니다.
옵션 2 :
당신은 Sharedprefrences
를 사용할 수 있습니다. 데이터가 미래에 저장 될 때 사용하는 것이 더 좋습니다.
옵션 3 :
더 많은 기록을 가지고 있고 당신이 구조화 된 방식으로, 그리고 Sqlite
데이터베이스가 분명 다음 미래를 위해 보관하십시오.
위 옵션은 데이터를 매우 자주 사용하기를 원하고 구조화되지 않은 경우에 사용합니다.
- 1. 활동에서 다른 활동의 프래그먼트로 메소드를 호출하십시오. 적절한 방법은 무엇입니까?
- 2. 여러 Android 활동에서 데이터를 참조하는 방법은 무엇입니까?
- 3. 활동에서 다른 활동의 단편으로 데이터를 리턴하고 있습니까?
- 4. 하나의 활동에서 다른 활동으로 데이터를 전달하는 방법은 무엇입니까?
- 5. 다른 활동에서 단편 활동의 기능을 얻는 방법
- 6. Android - 여러 활동에서 사용되는 하나의 클래스
- 7. 안드로이드에서 하나의 활동에서 다른 활동으로 배열 크기를 얻는 방법은 무엇입니까?
- 8. 한 활동의 여러 사본을 사용하는 방법은 무엇입니까?
- 9. 활동의 인스턴스를 여러 개 만드는 방법은 무엇입니까?
- 10. 활동의 여러 인스턴스를 만드는 방법은 무엇입니까? - revisited
- 11. 일시 중지 된 활동의 인스턴스를 얻는 방법은 무엇입니까?
- 12. 활동에서 서비스로 데이터를 동적으로 전달하는 방법은 무엇입니까?
- 13. 맨 위 활동의 식별자를 얻는 방법은 무엇입니까?
- 14. 데이터를 저장하는 적절한 방법은 무엇입니까?
- 15. Android : 여러 활동의 GPS 처리
- 16. 다른 활동에서 메인 실행 활동의 의도를 얻는 방법?
- 17. Android에서 다른 활동의 데이터를 저장하는 방법은 무엇입니까?
- 18. 활동이 종료 된 후 다른 활동에서 한 활동의 오브젝트 사용
- 19. Android Apps의 하나의 활동에서 여러 비동기 작업
- 20. 여러 활동에서 파일 액세스.
- 21. 브라우저 활동에서 HTTP 응답 코드를 얻는 방법은 무엇입니까?
- 22. 활동에서 제목 탭 ViewPagerIndicator를 얻는 방법은 무엇입니까?
- 23. Android에서 단일 활동의 여러 목록보기?
- 24. 다른 활동의 레이아웃에 목록을로드하는 방법은 무엇입니까?
- 25. 의도를 사용하여 첫 번째 활동에서 시작된 2 차 활동의 처리기를 얻는 방법은 무엇입니까?
- 26. 활동의 의도를 차단하는 방법은 무엇입니까?
- 27. Android는 여러 활동의 문자열입니까?
- 28. Android 활동에서 데이터를 가져 오는 방법은 무엇입니까?
- 29. 활동에서 주기적으로 데이터를 가져 오는 방법은 무엇입니까?
- 30. 활동에서 대화 상자로 데이터를 전달하는 방법은 무엇입니까?
관련 항목 : http://stackoverflow.com/questions/1013469/make-a-wizard-like-application-in-android – dst
응용 프로그램 –
처럼 정적 싱글 톤 클래스를 사용할 수 있습니다. 단 하나의 globalData 클래스에 대해서는 +1합니다. 지금까지 가장 쉬운 방법 – o0rebelious0o