2014-04-03 2 views
1

새로운 Google 드라이브 Android API에는 '리소스'ID와 '인코딩 된'ID의 두 가지 유형의 문자열 ID가 있습니다.드라이브 ID를 식별하는 방법은 무엇입니까?

'encoded' id from DriveId.encodeToString() 
"DriveId:CAESHDBCMW1RVVcyYUZKZmRhakIzMDBVbXMYjAUgssy8yYFRTTNKRU55" 

'resource' id from DriveId.getResourceId() 
"UW2aFJfdajB3M3JENy00Ums0B1mQ" 

과정에서 나는 어떤 타이밍 문제의 결과 중 하나를 포함 할 수있는 문자열로 끝납니다. 내 질문입니다 :

형식을 식별하기 위해 문자열을 '구문 분석'해야한다면, 내가 의지 할 수있는 특성이 있습니까? 예를 들어 : ('자원'ID가

  • 내가 decodeFromString '에서 오류 리턴을 남용 수있는 길이 제한이있을 것이다 문자열
  • :
    • ID가 항상'DriveId '로 시작됩니다' 인코딩 ') '?
    • 또는 자체 태그로 문자열 컨테이너를 형성해야합니까? 최소한의 '안전한'태그가 무엇일 수 있습니까? 즉,이 ID의 시작 부분에는 절대 표시되지 않는 항목이 무엇입니까?

    다음 릴리스에서 다시 할 필요가 없으므로 올바른 방향으로 알려주십시오.

    다른 문제가있어 동일한 구덩이에 빠지지 않도록 여기에서 언급해야 할 또 다른 문제가 있습니다. 'resourceID'는 포팅 될 수 있으며 식별 된 객체에 대해 고유하게 유지됩니다. 'encodedID'에는 'device'범위 만 있습니다. 'encodedID'를 (동일한 계정으로) 다른 기기로 전송할 수 없으며 파일/폴더를 검색하려고 시도 할 수 없다는 것을 의미합니다. 따라서 Google Play 서비스 인스턴스 만이 고유하다고 가정합니다.

  • 답변

    2

    ID 유형의 형식에 의존하지 마십시오. 이는 예고없이 변경 될 수 있습니다.

    두 가지를 모두 사용해야하고 둘 사이의 차이점을 추적하려면 앱에서 자신 만의 방법을 사용해야합니다.

    정말로 항상 인코딩 된 ID를 저장해야합니다.이 코드는 항상 표시 될 것이고, resourceId가 포함되어 있으면 쉽게 반환 할 수 있습니다.

    +0

    고마워, 그게 내가 생각한거야. 내가 encodedIDs와 함께 일하고 싶지만, 안타깝게도, 내 프로세싱은 RESTful API의 'resourceIDs'로 시작한다. (이전 버전의 썸네일, 설명 등을 가져와야한다.) 나는 비동기 적으로 'encodedIds'로 바꾼다. 그것이 잠깐 믹스로 끝나는 곳입니다 (당신은 기쁨 멀티 스레딩 디자인을 알고 있습니다 :-). 그리고 모든 기능이 모든 어딘가에 자리를 잡 자마자 사라질 것입니다. 맞습니까? – seanpj