2013-10-11 2 views
0

내 안드로이드 응용 프로그램에서 Dailymotion cloud를 사용하여 서버에 비디오를 업로드하고 있습니다. 업로드하는 동안 진행률 표시 줄을 표시하고 싶지만 진행률 막대를 업데이트하기 위해 바이트 값을 바이트 단위로 가져올 수있는 방법을 모르겠습니다.dailymotion cloud 업로드를위한 진행률 표시 줄을 표시하는 방법

이 내가이 progress bar in java을 발견하지만 난 시간 dailymotion API를이 방법으로 구현할 수있는 방법을 모르는 시간 dailymotion 클라우드 API를 링크 Dailymotion cloud api link

인터넷에서 검색하는 동안이다. 내가 여기에 진행률 표시 줄 를 표시하는 비동기 작업을 사용하고

여기

 try 
     { 
      CloudKey cloud = new CloudKey(user_id, api_key); 
      File f = new File(selectedVideoPath); 
      String media_id = cloud.mediaCreate(f); 
      System.out.println(media_id); 
      Log.d("Testing", "media_id is"+media_id); 
     } 

을 업로드 안드로이드 코드 그리고 것은 데일리 모션의 API의 Cloud.class의 mediacreate()있는 내가 진행률 표시 줄을 표시하려면 .. 어떤 생각입니다

public String mediaCreate(File f) throws Exception 
{ 
    return this.mediaCreate(f, null, null); 
} 

public String mediaCreate(File f, DCArray assets_names, DCObject meta) throws Exception 
{ 
    String upload_url = this.fileUpload(); 

    PostMethod filePost = null; 
    int status; 
    try 
    { 
     filePost = new PostMethod(upload_url); 

     Part[] parts = { 
      new FilePart("file", f) 
     }; 

     filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams())); 

     HttpClient client = new HttpClient(); 
     client.getHttpConnectionManager().getParams().setConnectionTimeout(5000); 
     status = client.executeMethod(filePost); 

     if (status == HttpStatus.SC_OK) 
     { 
      ObjectMapper mapper = new ObjectMapper(); 
      DCObject json_response = DCObject.create(mapper.readValue(filePost.getResponseBodyAsString(), Map.class)); 
      return this.mediaCreate(json_response.pull("url"), assets_names, meta); 
     } 
     else 
     { 
      throw new DCException("Upload failed."); 
     } 
    } 
    catch (Exception e) 
    { 
     throw new DCException("Upload failed: " + e.getMessage()); 
    } 
    finally 
    { 
     if (filePost != null) 
     { 
      filePost.releaseConnection(); 
     } 
    } 
} 

답변

1

내가 언급 한 DailyMotion 클래스로이 작업을 수행하는 데 필요한 API를 찾을 수 없습니다. 해당 라이브러리의 소스를 편집 할 수있는 경우

, 당신은 MultipartRequestEntity을 확장하려고 및 진행에 대한 콜백에 대한 지원을 추가 한 다음 바로 mediaCreate 방법에서 데일리 모션 코드에서 그 새로운 클래스를 연결 수 :

filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams())); 

.. MultipartRequestEntity를 새 것으로 대체하십시오. ExtendedMultipartRequestEntity.

Tuler와 다른 사람들의 답변을 보려면 File Upload with Java (with progress bar)에서 확인하십시오.

콜백을 통해 업데이트를 받고 나면 진행률 표시 줄을 연결할 수 있습니다.

관련 문제