2014-01-04 3 views
0

Я делаю активность, посредством которой я прошу пользователя загружать изображение из разных источников и показывать выбранное изображение в образе просмотра в другом виде. Я могу показать изображение с камеры и галереи, но из dropbox отображается ошибка. для камеры и галерей я даже могу запросить УИР, полученный изЗагрузка изображений из Dropbox в мое приложение

intent.getData()

в onactivityresult метода и получить Filepath и, соответственно, даже получить растровое изображение и изменить его размер. Но то же самое не работает для Dropbox. Просьба уточнить, какой код использовать для Dropbox, чтобы все параметры начали работать. спасибо

ответ

0

Для Dropbox вам нужно будет использовать их Android Chooser для выбора файлов из учетной записи Dropbox пользователя. Для этого вам понадобится ключ API Dropbox. После того как вы захватили библиотеку выбора и ваш ключ API, ее довольно легко реализовать;

private Button mChooserButton; 
private DbxChooser mChooser; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mChooser = new DbxChooser(APP_KEY); 

    mChooserButton = (Button) findViewById(R.id.chooser_button); 
    mChooserButton.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mChooser.forResultType(DbxChooser.ResultType.PREVIEW_LINK) 
        .launch(MainActivity.this, DBX_CHOOSER_REQUEST); 
     } 
    }); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == DBX_CHOOSER_REQUEST) { 
     if (resultCode == Activity.RESULT_OK) { 
      DbxChooser.Result result = new DbxChooser.Result(data); 
      Log.d("main", "Link to selected file: " + result.getLink()); 

      // Handle the result 
     } else { 
      // Failed or was cancelled by the user. 
     } 
    } else if (requestCode == GALLERY) { 
     // If your request was from the user gallery 
     Log.d("main", "Link to selected file: " + data.getData()); 
    } else { 
     super.onActivityResult(requestCode, resultCode, data); 
    } 
} 
+0

СПАСИБО ЗА ВАШЕ ОТВЕТ. ОДНАКО Я НЕ ХОЧУ ПОКАЗАТЬ ТАМОЖЕННЫЙ ДИАЛОГ ДЛЯ ПОЛЬЗОВАТЕЛЯ ДЛЯ ВЫБОРА ВАРИАНТА. Я ЕСМЬ ПОКАЗАТЬ ВАРИАНТ DROPBOX и ПОЛУЧИТЬ ПОКАЗАТЬ ВСЕ ФАЙЛЫ ИЗ DROPBOX. ФАЙЛ ПОЛУЧИТ ЗАГРУЗИТЬ, НО Я НЕ ВОЗМОЖНО ИСПОЛЬЗОВАТЬ URI, чтобы ПОКАЗАТЬ ИЗОБРАЖЕНИЕ В МОЙ ImageView. – user2779311

Смежные вопросы