2014-07-26 2 views
0

으로 Android 애플리케이션에서 Microsoft OneDrive로 파일 업로드 Android 용 Xamarin으로 OneDrive (SkyDrive)에 파일을 업로드하려면 어떻게해야합니까?Xamarin 및 C#

나는 Downloading and uploading files on OneDrive (Android)

에 대한 정보가 나는 자 마린 스튜디오에서 Microsoft.Live를 사용할 수 있나요? 나는 윈도우 폰 앱 Visual Studio에서 사용 :

C 번호를 :

private void skydrive_SessionChanged(object sender, LiveConnectSessionChangedEventArgs e) 
    { 
     if (e != null && e.Status == LiveConnectSessionStatus.Connected) 
     { 
      this.client = new LiveConnectClient(e.Session); 
      this.GetAccountInformations(); 
     } 
     else 
     { 
      this.client = null; 
      InfoText.Text = e.Error != null ? e.Error.ToString() : string.Empty; 
     } 
    } 

    private async void GetAccountInformations() 
    { 
     try 
     { 
      LiveOperationResult operationResult = await this.client.GetAsync("me"); 
      var jsonResult = operationResult.Result as dynamic; 
      string firstName = jsonResult.first_name ?? string.Empty; 
      string lastName = jsonResult.last_name ?? string.Empty; 
      InfoText.Text = "Welcome " + firstName + " " + lastName; 
     } 
     catch (Exception e) 
     { 
      InfoText.Text = e.ToString(); 
     } 
    } 

    private async void btnUpload_Click(object sender, RoutedEventArgs e) 
    { 
     using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication()) 
     { 
      using (var fileStream = store.OpenFile(fileName, FileMode.Open, FileAccess.Read, FileShare.Read)) 
      { 
       try 
       { 
        LiveOperationResult res = await client.BackgroundUploadAsync("me/skydrive", 
                       new Uri("/shared/transfers/" + fileName, UriKind.Relative), 
                       OverwriteOption.Overwrite 
                       ); 
        InfoText.Text = "File " + fileName + " uploaded"; 
       } 
       catch (Exception ex) 
       { 

       } 
      } 
     } 
    } 

XAML :

<Controls:SignInButton Canvas.Left="10" Canvas.Top="351" Content="Button" 
              Name="skydrive" Scopes="wl.basic wl.signin wl.offline_access wl.skydrive_update" 
              SessionChanged="skydrive_SessionChanged" 
              ClientId="00000000########"/> 
<TextBlock Name="InfoText" Width="167" Height="42" Canvas.Left="192" Canvas.Top="367"></TextBlock> 
<Button Name="btnUpload" Canvas.Left="10" Canvas.Top="430" Width="166" Click="btnUpload_Click">Upload</Button> 

다른 서버로 안드로이드 응용 프로그램에서 파일을 업로드 할 수있는 다른 방법이 있습니까? 오후 8시 30 분 P.S. Visual Studio를 사용하여 Android 앱을 만들 수는 없으며 Xamarin Studio 만 사용할 수 있습니다.

답변

0

Xamarin 바인딩 라이브러리를 만들고 참조하여 Android 용 OneDrive를 사용할 수 있습니다. 선언적 접근 방식에 따라 C# 래퍼로 .jar 라이브러리를 자동으로 래핑하는 바인딩 프로젝트를 만들 수 있습니다. 여기

공식 manual

입니다 그리고 여기있는 link to Xamarin forums 바인딩 라이브러리 프로젝트와 예제를 기존