如何在Android中下载文件
我所拥有的:如何在Android中下载文件,android,httprequest,Android,Httprequest,我所拥有的: 我已经上传了一个.json文件到我帐户的Dropbox中 公之于众 我想做什么: 我想将该文件下载到我的android项目的原始文件夹 我熟悉AsyncTask和HttpClient但是什么呢 下载文件应遵循的方法(步骤) 我尝试在stackoverflow中搜索类似的问题,但找不到,因此我自己发布了一个问题您无法将文件下载到“资产”或“/res/raw”中。这些将被编译到您的APK中 您可以将文件下载到应用程序的内部数据目录。看 有很多示例和库可以帮助您下载。以下是您可以在项目中
原始文件夹
AsyncTask
和HttpClient
但是什么呢
下载文件应遵循的方法(步骤)我尝试在stackoverflow中搜索类似的问题,但找不到,因此我自己发布了一个问题您无法将文件下载到“资产”或“/res/raw”中。这些将被编译到您的APK中 您可以将文件下载到应用程序的内部数据目录。看 有很多示例和库可以帮助您下载。以下是您可以在项目中使用的静态工厂方法:
public static void download(String url, File file) throws MalformedURLException, IOException {
URLConnection ucon = new URL(url).openConnection();
HttpURLConnection httpConnection = (HttpURLConnection) ucon;
int responseCode = httpConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedInputStream bis = new BufferedInputStream(ucon.getInputStream());
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
FileOutputStream fos = new FileOutputStream(file);
fos.write(baf.toByteArray());
fos.close();
bis.close();
}
}
然后,要从Dropbox下载文件:
String url = "https://dl.dropboxusercontent.com/u/27262221/test.txt";
File file = new File(getFilesDir(), "test.txt");
try {
download(url, file);
} catch (MalformedURLException e) {
// TODO handle error
} catch (IOException e) {
// TODO handle error
}
请注意,上面的代码应该从后台线程运行,否则您将得到一个错误消息
您还需要在AndroidManifest中声明以下权限:
<uses-permission android:name="android.permission.INTERNET" />
您的“
原始文件夹”
”是什么意思?您想下载一个文件,然后将其放入APK中吗?只需将其下载到您的应用程序文件目录。@JaredRummler。。。。。。。原始文件夹是我在项目中创建的文件夹,例如。。。。。。它也可以是资产文件夹。。。我只想知道从dropbox下载的过程:)谢谢你的解释。。。。。。。。还有一个问题。。。。。我们可以在不使用dropbox?的登录凭据的情况下执行上述过程。。。。只要我有位置链接…就足够了吗?你不需要登录下载DropBox上的公共文件。不过,我还没有在生产构建中使用它(不确定DropBox是否会影响流量)。如果您没有服务器,我建议您在Github上托管JSON文件。谢谢:)。。。。是的,我没有服务器。。。。。。如果我在github上托管它。。。。。。。流程是否与您上面描述的相同。。。。(仅就我所知)是的,只需使用“原始”链接。
HttpRequest.get("https://dl.dropboxusercontent.com/u/27262221/test.txt").receive(
new File(getFilesDir(), "test.txt"));