Ejemplo n.º 1
0
    @Override
    protected Boolean doInBackground(List<AppInfo>... params) {

      List<AppInfo> appInfos = params[0];

      Boolean success = false;

      for (AppInfo appInfo : appInfos) {

        String iconUrl = appInfo.getIconUrl();

        if (iconUrl != null) {

          File iconFile = new File(getCacheDir() + "/" + appInfo.getIconName());
          if (!iconFile.exists()) {

            try {
              iconFile.createNewFile();
              URL url = new URL(iconUrl);
              HttpURLConnection c = (HttpURLConnection) url.openConnection();
              c.setRequestMethod("GET");
              // c.setDoOutput(true);
              c.connect();

              FileOutputStream fos = new FileOutputStream(iconFile);

              InputStream is = c.getInputStream();

              byte[] buffer = new byte[1024];
              int len1 = 0;
              while ((len1 = is.read(buffer)) != -1) {
                fos.write(buffer, 0, len1);
              }
              fos.close();
              is.close();

              success = true;
            } catch (IOException e) {

              if (iconFile.exists()) {
                iconFile.delete();
              }

              Log.d("log_tag", "Error: " + e);
            }
          }
        }
      }

      return success;
    }