2011-04-21 12 views
1

Android 개발자 가이드에는 음성 인식을 구현하는 방법에 대한 예제가 있습니다. 이 예제는 배열을 사용하여 결과 목록을 인쇄합니다.Google 음성 인식의 첫 번째 결과 얻기

첫 번째 결과에만 관심이 있다면 어떻게해야합니까?

내가 (데이터가 활동 결과에 의해 반환 된 의도입니다) 이런 식으로 구현 한 :

data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS) 갔지 (0)

이 다른가요 배열을 얻지 않고 첫 번째 결과 만 얻는 방법? getFirst 메소드와 같은 것?

답변

2

아니요, api는 일종의 getFirst 메소드를 지정하지 않습니다.

당신이 다른 장소에서이를 사용하는 경우, 당신은 널 검사를 수행하고 첫 번째 결과를 반환 자신을 위해 하나 만들 수 있습니다

public String getFirst(Intent data){ 
    List<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 
    if(results != null && results.size() > 0){ 
     return results.get(0); 
    } 
    return null; //or maybe: return ""; 
} 
2

getStringArrayListExtra()에서 반환 된 객체는 getList() 호출을 제공하지 않는 ArrayList입니다. 일 수 있고 iterator()이라고하고 next()을 통해 첫 번째 항목을 가져 오지만 get(0)은 개체 생성과 달리 일반 배열 액세스이기 때문에 더 효율적입니다.