2012-02-17 2 views
2

번들과 ContentValues ​​클래스는 꽤 ​​비슷한 기능을 가진 것처럼 보입니다.번들을 ContentValues로 변환하는 효율적인 방법이 있습니까?

클래스를 반복하지 않고 각 요소에서 get 및 put을 호출하지 않고도 하나에서 다른 클래스로 효율적으로 변환 할 수 있습니까?

+1

전혀 생각하지 않습니다. 루프를 반복해야합니다. – kosa

답변

7

나는 안드로이드 소스 코드를 스캔했으며 두 클래스 모두 기본 데이터를 보유하기 위해 Map을 사용합니다. 특히 BundleMap을 사용하고 ContentValues는 HashMap을 사용합니다.

그러나 Bundle은 모든 분할 가능 객체를로드하는 반면 ContentValues '구현은 기본 유형 클래스 (Integer, String, Double 등) 및 바이트 배열을 허용합니다.

는 그래서 ContentValues 그렇게 BundleContentValues에서 변환, Bundle의 특별한 경우 인 내부 액세스 인 경우에 불가능했을 수도 원칙적으로 보이는,하지만 Bundle 엄격하게 호환되지 않는 개체를 보유 할 수 있기 때문에 반대는 문제가 ContentValues.

모든 의견은 환영합니다.

+0

누군가가 Android의 초창기 (http://code.google.com/p/android/issues/detail?id=463)에 비슷한 점을 제기했습니다. 나는 그들이 왜 둘 다 존재하는지 아직도 확신하지 못하고 있지만,이 시점에서 우리는 단지 그것을 다루어야 만 할 것입니다. –

관련 문제