Note that there are some explanatory texts on larger screens.

plurals
  1. POUnable to download the file from local server to android emulator
    primarykey
    data
    text
    <p>I am trying to download the data from the local server on my emulator but I am not getting getting the data. How can this task be completed</p> <p>my downloading activity is</p> <pre><code>public class DownloadZipActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); UnzipManager.startUnzipping();//Downloader.getZipURL(); // System.out.println(" file "+file); } } </code></pre> <p>My Downloader.java is</p> <pre><code>public class Downloader { public static String getZipURL(){ String result = ""; InputStream is = null; try{ String url = "http://www.example.com/webservice-demo/File name.zip"; String thePath = URLEncoder.encode(url, "UTF-8"); System.out.println(" thePath "+thePath); HttpPost httppost = new HttpPost(thePath); HttpParams httpParameters = new BasicHttpParams(); int timeoutConnection = 3000; HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection); int timeoutSocket = 3000; HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket); DefaultHttpClient httpclient = new DefaultHttpClient(httpParameters); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); }catch(Exception e){ Log.e("getZipURL", "Error in http connection "+e.toString()); return null; } try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result=sb.toString(); return result; }catch(Exception e){ Log.e("convertZipURL", "Error converting result "+e.toString()); return null; } } } </code></pre> <p>And my UnZipManager.java class is</p> <pre><code>public class UnzipManager { private static String BASE_FOLDER; public static Context localContext; /* *You can use this flag to check whether Unzipping *thread is still running.. */ public static boolean isDownloadInProgress; /* * After unzipping using this flag ,you can check * whether any low memory exceptions * Occurred or not..and alert user accordingly.. */ public static boolean isLowOnMemory; public static void startUnzipping() { /* * MAKE SURE THAT localContext VARIABLE HAS BEEN * INITIALIZED BEFORE INVOKING THIS METHOD. * * ALSO MAKE SURE YOU HAVE SET "INTERNET" AND * "NETWORK ACCESS STATE" PERMISSIONS IN * APPLICATION'S MANIFEST FILE. * */ Log.d("DEBUG","In startUnzipping()"); //UnzipManager.BASE_FOLDER=UnzipManager.localContext.getFilesDir().getPath(); /* * */ // Log.d("DEBUG","BASE_FOLDER:"+UnzipManager.BASE_FOLDER); UnzipManager.isLowOnMemory=false; //Start unzipping in a thread..which is safer //way to do high cost processes.. new UnzipThread().start(); } private static class UnzipThread extends Thread{ @Override public void run() { UnzipManager.isDownloadInProgress=true; Log.d("DEBUG","Unzipping----------------------------"); URLConnection urlConnection ; try { /************************************************ * * IF you are unzipping a zipped file save under * some URL in remote server * **********************************************/ String url = "http://www.example.com/webservice-demo/Package name.zip"; String thePath = URLEncoder.encode(url, "UTF-8"); URL finalUrl =new URL(thePath /* Url string where the zipped file is stored...*/); urlConnection = finalUrl.openConnection(); //Get the size of the ( zipped file's) inputstream from server.. int contentLength=urlConnection.getContentLength(); Log.d("DEBUG", "urlConnection.getContentLength():"+contentLength); /***************************************************** * * YOU CAN GET INPUT STREAM OF A ZIPPED FILE FROM * ASSETS FOLDER AS WELL..,IN THAT CASE JUST PASS THAT * INPUTSTEAM OVER HERE...MAKE SURE YOU * HAVE SET STREAM CONTENT LENGTH OF THE SAME.. * ******************************************************/ ZipInputStream zipInputStream = new ZipInputStream(urlConnection.getInputStream()); /* * Iterate over all the files and folders */ for (ZipEntry zipEntry = zipInputStream.getNextEntry(); zipEntry != null; zipEntry = zipInputStream.getNextEntry()) { Log.d("DEBUG","Extracting: " + zipEntry.getName() + "..."); /* * Extracted file will be saved with same * file name that in zipped folder. */ String innerFileName = BASE_FOLDER + File.separator + zipEntry.getName(); File innerFile = new File(innerFileName); /* * Checking for pre-existence of the file and * taking necessary actions */ if (innerFile.exists()) { Log.d("DEBUG","The Entry already exits!, so deleting.."); innerFile.delete(); } /* * Checking for extracted entry for folder * type..and taking necessary actions */ if (zipEntry.isDirectory()) { Log.d("DEBUG","The Entry is a directory.."); innerFile.mkdirs(); } else { Log.d("DEBUG","The Entry is a file.."); FileOutputStream outputStream = new FileOutputStream(innerFileName); final int BUFFER_SIZE = 2048; /* * Get the buffered output stream.. * */ BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream,BUFFER_SIZE); /* * Write into the file's buffered output stream ,.. */ int count = 0; byte[] buffer = new byte[BUFFER_SIZE]; while ((count = zipInputStream.read(buffer, 0, BUFFER_SIZE)) != -1) { bufferedOutputStream.write(buffer, 0, count); } /*********************************************** * IF YOU WANT TO TRACK NO OF FILES DOWNLOADED, * HAVE A STATIC COUNTER VARIABLE, INITIALIZE IT * IN startUnzipping() before calling startUnZipping(), * AND INCREMENT THE COUNTER VARIABLE * OVER HERE..LATER YOU CAN USE VALUE OF * COUNTER VARIABLE TO CROSS VERIFY WHETHER ALL * ZIPPED FILES PROPERLY UNZIPPED AND SAVED OR NOT. * * ************************************************ */ /* * Handle closing of output streams.. */ bufferedOutputStream.flush(); bufferedOutputStream.close(); } /* * Finish the current zipEntry */ zipInputStream.closeEntry(); } /* * Handle closing of input stream... */ zipInputStream.close(); Log.d("DEBUG","--------------------------------"); Log.d("DEBUG","Unzipping completed.."); } catch (IOException e) { Log.d("DEBUG","Exception occured: " + e.getMessage()); if(e.getMessage().equalsIgnoreCase("No space left on device")) { UnzipManager.isLowOnMemory=true; } e.printStackTrace(); } UnzipManager.isDownloadInProgress=false; } }; } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload