gpt4 book ai didi

java - 下载 Android 版

转载 作者:行者123 更新时间:2023-12-02 06:55:04 26 4
gpt4 key购买 nike

我是 Android 编程初学者。

我在使用 Android 下载文件时遇到问题

我使用了 Httpost、Httpget 和 hhtpurlconnection前两个根本不起作用第三个两次无法下载

我想要一种将不同的 xml 下载到字符串或输入流(或可转换为它们的东西)的方法来解析这些 XML。除此之外,该方法应该能够执行以下操作:

conn.setRequestProperty("Authorization", "Basic " + encodedStr);

因为 xml 是来自 API 的响应

最佳答案

这里我举一个如何从服务器下载图像文件的示例。我假设您的本地服务器上有一个图片文件夹,您正在从中下载图片。使用以下代码可能会对您有所帮助..

public class DownloadType1  extends Activity{

String dwnload_file_path = "http://10.0.2.2/pictures/webicon.PNG";
String dest_file_path = Environment.getRootDirectory()+"/pictures/img1.png";
ProgressDialog dialog = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.download1);
}


public void onClick(View v) {

dialog = ProgressDialog.show(DownloadType1.this, "", "Downloading file...", true);
new Thread(new Runnable() {
public void run() {
downloadFile(dwnload_file_path, dest_file_path);
}
}).start();
}

public void downloadFile(String url, String dest_file_path) {
try {
File dest_file = new File(dest_file_path);
URL u = new URL(url);
URLConnection conn = u.openConnection();
int contentLength = conn.getContentLength();

DataInputStream stream = new DataInputStream(u.openStream());

byte[] buffer = new byte[contentLength];
stream.readFully(buffer);
stream.close();

DataOutputStream fos = new DataOutputStream(new FileOutputStream(dest_file));
fos.write(buffer);
fos.flush();
fos.close();
hideProgressIndicator();

} catch(FileNotFoundException e) {
hideProgressIndicator();
return;
} catch (IOException e) {
hideProgressIndicator();
return;
}
}

void hideProgressIndicator(){
runOnUiThread(new Runnable() {
public void run() {
dialog.dismiss();
}
});
}
}

关于java - 下载 Android 版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17486952/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com