intent 활동간에 데이터를 전달하는 방식이 마음에 들지 않습니다. 중복 된 코드가 생성됩니다. 활동 A -> B 및 B -> C 및 경우에 따라 C -> D에서 데이터를 패싱하면 코드 오류가 발생하기 쉽습니다. 원시 데이터 유형과 비 기본 데이터 유형을 모두 전달하고자합니다. 코드 품질에 대한 타협없이 어떻게 달성 할 수 있습니까?활동간에 데이터를 효율적으로 전달하는 방법은 무엇입니까?
답변
당신은 객체를 저장하고 그 싱글 톤 클래스의 인스턴스를 얻어서 다른 활동을 검색하는 싱글 톤 클래스를 사용할 수 있습니다.
참조 : http://developer.android.com/guide/faq/framework.html#3
단순한 데이터 인 경우 SharedPreferences를 사용하여 하나의 활동에 데이터를 저장하고 다른 활동에서 읽을 수 있습니다.
다른 옵션은 데이터를 Application 클래스에 저장하는 것이지만 응용 프로그램 개체가 어느 시점에서 종료 될 수 있기 때문에 공유 환경 설정에 저장 한 내용의 캐시 된 복사본이어야합니다.
내가하는 일은 저장 및로드 (및 Application 클래스의 캐싱)를 처리하는 PersistData 클래스의 싱글 톤 인스턴스를 단일 개체로 가지는 것입니다.
대거를 사용하여이 객체를 삽입했지만 저장/데이터 읽기가 필요했습니다. 여기
내가이에서best practice to share global variables between activities
(미안 해요이 검색 시간을 소비했다) 제안하고있는 무슨 설명의 더 나은 일을 관련 질문에 만든 다른 답변에 대한 링크입니다 당신은 그냥 만드는 두 통화가 종료 :
를 전송하려는 데이터가 활동에서를, 당신은
persistData.saveUserId(userId);
같은 활동에서
당신이 뭔가를 가지고있는 데이터를 수신 할 :
String userId = persistData.readUserId();
된 SharedPreferences는
- 1. 활동간에 데이터를 전달하는 방법
- 2. 안드로이드에서 두 가지 활동간에 데이터를 전달하는 방법은 무엇입니까?
- 3. Android 용으로 서로 쌓은 활동간에 데이터를 전달하는 방법은 무엇입니까?
- 4. 2 가지 활동간에 변수를 전달하는 방법은 무엇입니까?
- 5. 두 활동간에 매개 변수를 전달하는 방법은 무엇입니까?
- 6. 활동간에 int 배열을 전달하는 방법은 무엇입니까?
- 7. 활동간에 정보를 전달하는 방법
- 8. C#의 스레드간에 데이터를 빠르고 효율적으로 전달하는 방법은 무엇입니까?
- 9. 서비스에서 활동으로 스트리밍 된 데이터를 효율적으로 전달하는 방법은 무엇입니까?
- 10. Android 내에서 활동간에 전달하지 않고 객체 데이터를 보존하는 방법은 무엇입니까?
- 11. 활동간에 개체 인스턴스를 전달하는 방법
- 12. 개체 속성을 효율적으로 전달하는 방법은 무엇입니까?
- 13. 활동간에 간단한 콩을 공유하는 방법은 무엇입니까?
- 14. 활동간에 ActionBar를 유지하는 방법은 무엇입니까?
- 15. ArrayList간에 데이터를 전달하는 방법은 무엇입니까?
- 16. twimlbin에 데이터를 전달하는 방법은 무엇입니까?
- 17. 데이터를 detailView로 전달하는 방법은 무엇입니까?
- 18. 조각간에 데이터를 전달하는 방법은 무엇입니까?
- 19. 보기간에 데이터를 전달하는 방법은 무엇입니까?
- 20. 안드로이드에서 두 자녀 활동간에 데이터를 전송하는 방법은 무엇입니까?
- 21. 자바 클래스와 안드로이드 활동간에 데이터를 교환하는 방법은 무엇입니까?
- 22. 양식 데이터를 효율적으로 저장하는 방법은 무엇입니까?
- 23. CUDA에서 스레드의 데이터를 효율적으로 수집하는 방법은 무엇입니까?
- 24. 가져 오기에서 데이터를 효율적으로 정규화하는 방법은 무엇입니까?
- 25. socket.recv()에서 데이터를 효율적으로 언팩하는 방법은 무엇입니까?
- 26. SQL Server 데이터를 효율적으로 병합하는 방법은 무엇입니까?
- 27. 활동간에 데이터를 보내는데 크래시가 발생했습니다.
- 28. 두 활동간에 CheckBox 상태를 동기화하는 방법은 무엇입니까?
- 29. 다른 활동간에 소켓 객체를 공유하는 방법은 무엇입니까?
- 30. 활동간에 매개 변수를 가져 오는 방법은 무엇입니까?
응용 프로그램 개체에서 싱글 톤을 결정하기 전에이 내용을 읽으십시오. 그것은 당신을 위해 잘 작동 할지도 모르지만, 다만 가능한 문제점을 인식하십시오. http://www.developerphil.com/dont-store-data-in-the-application-object/ – nPn