मेरे पास एक वेबसाइट पर एक वीडियो फ़ाइल है .एमपी 4 प्रारूप और मैं उपयोगकर्ता को एक लिंक पर क्लिक करके वीडियो को अपने एसडी कार्ड में डाउनलोड करने में सक्षम होना चाहता हूं। क्या इसे करने का कोई आसान तरीका है। मेरे पास वर्तमान में यह कोड है लेकिन यह काम नहीं कर रहा है ... सुनिश्चित नहीं है कि मैं क्या गलत कर रहा हूं। किसी भी मदद के लिए धन्यवाद!एंड्रॉइड: मैं एसडी कार्ड में एक वीडियो फ़ाइल कैसे डाउनलोड करूं?
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import org.apache.http.util.ByteArrayBuffer;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class VideoManager extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);}
private final String PATH = "/sdcard/download/"; //put the downloaded file here
public void DownloadFromUrl(String VideoURL, String fileName) { //this is the downloader method
try {
URL url = new URL("http://www.ericmoyer.com/episode1.mp4"); //you can write here any link
File file = new File(fileName);
long startTime = System.currentTimeMillis();
Log.d("VideoManager", "download begining");
Log.d("VideoManager", "download url:" + url);
Log.d("VideoManager", "downloaded file name:" + fileName);
/* Open a connection to that URL. */
URLConnection ucon = url.openConnection();
/*
* Define InputStreams to read from the URLConnection.
*/
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
/*
* Read bytes to the Buffer until there is nothing more to read(-1).
*/
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
/* Convert the Bytes read to a String. */
FileOutputStream fos = new FileOutputStream(PATH+file);
fos.write(baf.toByteArray());
fos.close();
Log.d("VideoManager", "download ready in"
+ ((System.currentTimeMillis() - startTime)/1000)
+ " sec");
} catch (IOException e) {
Log.d("VideoManager", "Error: " + e);
}
}
}
क्या आप सुनिश्चित हैं कि पथ/एसडीकार्ड/डाउनलोड/मौजूद है? आप इसे एडीबी खोल –