Загрузка файлов на Android

Я посреди записи приложения для Android и хотел бы дать моим пользователям способность совместно использовать файлы документов, которые это создает.

То, что я идеально хотел бы видеть, будет файлами, размещенными на сервере HTTP где-нибудь, таким образом, пользователь сможет просто разжечь их браузер на телефоне на базе Android, перемещении к соответствующей странице, и затем загрузить файл на их телефон. Я затем хотел бы за свое приложение смочь открыть тот загруженный файл.

Я не уверен, возможно ли это вообще, но конечно интересовалось бы получением известия от кого-либо, который знает что-либо о таких вещах. К сожалению, я, кажется, испытываю затруднения, придумывающие ответы сам - как большая часть остальной части SDK Android, существует серьезная нехватка соответствующей документации.

6
задан Mac 23 December 2009 в 23:21
поделиться

4 ответа

Кстати, я наткнулся на разумное решение, которое является справедливым немного легче, чем возиться во взаимодействиях и так далее ...

Виджет WebView позволяет устанавливать объект NowningListener, который получает уведомление, когда WebView Направлено в файл типа, он не понимает. Таким образом, функциональность, которую я был после того, как может быть достигнут путем создания веб-просмотра в моем приложении и регистрация загрузкиListener для прослушивания, когда пользователь загружает один из файлов документов моей приложения.

Спасибо за всю вашу помощь!

2
ответ дан 10 December 2019 в 02:48
поделиться

Когда пользователь обращается к файлу, который вы хотите поддерживать, вы должны иметь возможность зарегистрироваться в Android с помощью IntentFilters, чтобы указать, что ваше приложение способно обрабатывать конкретный MIME-TYPE.

См. документация здесь .

4
ответ дан 10 December 2019 в 02:48
поделиться

Получить файлы с веб-сервера достаточно просто. В ваших включениях -

import java.net.URL;
import java.net.URLConnection;
import java.io.InputStream;

В вашем коде -

URL requestURL = new URL(urlStringForFileYouWantToOpen);
URLConnection connection = requestURL.openConnection();
InputStream response = connection.getInputStream();

Затем делайте то, что хотите, с InputStream . Я не уверен, что это достаточно близко к вашему описанию пользователя, скачивающего файл, а затем обращающегося к нему из вашего приложения, но мне кажется более простым позволить им получить файл, находясь в вашем приложении.

3
ответ дан 10 December 2019 в 02:48
поделиться

Если вы хотите интегрировать загрузку из приложения, тогда ответ @ jball - это то, что вам нужно, если вы предпочитаете, чтобы процесс запускался через браузер, тогда ответ @ Scott - это то, что вам нужно. Из вашего описания похоже, что вы также хотите, чтобы пользователи обменивались документами, созданными с помощью приложения, для чего ваше приложение должно иметь возможность загружать приложения на веб-сервер. Для этого идеально подойдет что-то вроде WebDAV, реализованное самостоятельно с использованием библиотеки org.apache.http или с использованием одной из их реализаций с открытым исходным кодом.

0
ответ дан 10 December 2019 в 02:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: