3
A
回答
1
該代碼會下載網址從任意文件只需更換網址和位置..
public class AndroidDownloadFileByProgressBarActivity extends Activity {
// button to show progress dialog
Button btnShowProgress
// Progress Dialog
private ProgressDialog pDialog;
// Progress dialog type (0 - for Horizontal progress bar)
public static final int progress_bar_type = 0;
// File url to download
private static String file_url = " u r l";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// show progress bar button
btnShowProgress = (Button) findViewById(R.id.btnProgressBar);
// Image view to show image after downloading
my_image = (ImageView) findViewById(R.id.my_image);
/**
* Show Progress bar click event
* */
btnShowProgress.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// starting new Async Task
new DownloadFileFromURL().execute(file_url);
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case progress_bar_type:
pDialog = new ProgressDialog(this);
pDialog.setMessage("Downloading file. Please wait...");
pDialog.setIndeterminate(false);
pDialog.setMax(100);
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pDialog.setCancelable(true);
pDialog.show();
return pDialog;
default:
return null;
}
}
class DownloadFileFromURL extends AsyncTask<String, String, String> {
/**
* Before starting background thread
* Show Progress Bar Dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
showDialog(progress_bar_type);
}
/**
* Downloading file in background thread
* */
@Override
protected String doInBackground(String... f_url) {
int count;
try {
URL url = new URL(f_url[0]);
URLConnection conection = url.openConnection();
conection.connect();
// getting file length
int lenghtOfFile = conection.getContentLength();
// input stream to read file - with 8k buffer
InputStream input = new BufferedInputStream(url.openStream(), 8192);
// Output stream to write file
OutputStream output = new FileOutputStream("/sdcard/downloadedfile.jpg");
byte data[] = new byte[1024];
long total = 0;
while ((count = input.read(data)) != -1) {
total += count;
// publishing the progress....
// After this onProgressUpdate will be called
publishProgress(""+(int)((total*100)/lenghtOfFile));
// writing data to file
output.write(data, 0, count);
}
// flushing output
output.flush();
// closing streams
output.close();
input.close();
} catch (Exception e) {
Log.e("Error: ", e.getMessage());
}
return null;
}
/**
* Updating progress bar
* */
protected void onProgressUpdate(String... progress) {
// setting progress percentage
pDialog.setProgress(Integer.parseInt(progress[0]));
}
/**
* After completing background task
* Dismiss the progress dialog
* **/
@Override
protected void onPostExecute(String file_url) {
// dismiss the dialog after the file was downloaded
dismissDialog(progress_bar_type);
}
}
清單文件:
<!-- Permission: Allow Connect to Internet -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Permission: Writing to SDCard -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- Download Button -->
<Button android:id="@+id/btnProgressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Download File with Progress Bar"
android:layout_marginTop="50dip"/>
</LinearLayout>
2
那是很容易的 http://developer.android.com/reference/android/app/DownloadManager.html
例子:http://androidtrainningcenter.blogspot.co.at/2013/05/android-download-manager-example.html
/**
* Start Download
*/
public void startDownload() {
DownloadManager mManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
Request mRqRequest = new Request(
Uri.parse("http://androidtrainningcenter.blogspot.in/2012/11/android-webview-loading-custom-html-and.html"));
mRqRequest.setDescription("This is Test File");
// mRqRequest.setDestinationUri(Uri.parse("give your local path"));
long idDownLoad=mManager.enqueue(mRqRequest);
}
但可以肯定你分鐘。在API 9
0
這是從url下載圖片的java代碼,您也可以使用它與android應用程序
public static void main(String ar[]) throws IOException
{
URL url = new URL("http://zeroturnaround.com/wp-content/uploads/2013/06/no-button-640x480-sky.jpg");
InputStream ios= url.openStream();
OutputStream fou1=new FileOutputStream("/home/delta/Desktop/image.jpg");
byte[] b=new byte[2048];
int length;
while((length=ios.read(b))!=-1)
{
fou1.write(b,0,length);
}
//fio1.close();
fou1.close();
}
相關問題
- 1. 如何在android下載任何文件?
- 2. 如何下載android源碼?
- 3. 如何只下載Android SDK?
- 4. 如何在android項目中下載xml?
- 5. 如何在Java,Android下載ImageView ImageView?
- 6. 如何在android中下載頁面
- 7. 如何下載android源碼在source-android.frandroid.com
- 8. 如何在android下載xml文件?
- 9. 如何在android網頁瀏覽器上下載/收聽下載
- 10. 如何使用PHP強制下載在Android上下載文件
- 11. 如何在android webview中直接下載鏈接下載文件
- 12. 如何在android中添加下載計數器(下載次數)?
- 13. 我該如何下載android android sdk r12
- 14. 在android中下載
- 15. 在Android上下載
- 16. 如何在下載
- 17. 如何下載文件到我的下載文件夾android
- 18. 如何在android中加載廣告時下載活動內容?
- 19. 如何製作android下載事件?
- 20. 如何下載android的sdk api 17?
- 21. 的Android如何提高下載速度
- 22. 如何啓動Android下載管理器
- 23. 我該如何下載Android源代碼
- 24. 如何從Android Webview下載pdf?
- 25. 我該如何下載android 2.0 sdk now
- 26. Android:如何構建下載器?
- 27. 的Android ksoap2的javadoc - 如何下載
- 28. 如何僅下載Android ICS源代碼
- 29. 如何下載Android Wear上的圖像?
- 30. Android Beam:如何下載光束內容
它有什麼樣的下載呢? – FabianCook
簡單下載像下載ppt pdf圖像,但從url –
你也可以檢查這個鏈接.. http://www.vogella.com/articles/AndroidBackgroundProcessing/article.html –