Back to project page Grocery-Mate.
The source code is released under:
Apache License
If you think the Android project Grocery-Mate listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* * Copyright (C) 2011 iMellon/* w w w . j a va2s . co m*/ * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package com.imellon.android.grocerymate.io; import java.io.IOException; import java.net.UnknownHostException; import com.imellon.android.grocerymate.util.HttpManager; import com.imellon.android.grocerymate.util.UserTask; /** * @author Christos Papazafeiropoulos, Dimitris Makris */ public class DownloadAsyncTask extends UserTask<String, Integer, String> { public enum COM_ERROR { UnknownHostException, MalformedUrl, UnknownError, NoError } private COM_ERROR error = COM_ERROR.NoError; private String errorReason; private String[] returnedParameters = null; private DownloadAsyncTaskIface iFace = null; private static final String TAG = DownloadAsyncTask.class.getSimpleName(); public DownloadAsyncTask(DownloadAsyncTaskIface iface) { iFace = iface; } public DownloadAsyncTask(DownloadAsyncTaskIface iface, String... returnParams) { iFace = iface; } @Override public void onPreExecute() { iFace.onTaskStart(); } @Override public String doInBackground(String... urls) { returnedParameters = urls; String str = null; try { str = HttpManager.convertInputStreamToString(HttpManager.downloadFromUrl(urls[0])); error = COM_ERROR.NoError; } catch (UnknownHostException uhe) { error = COM_ERROR.UnknownHostException; errorReason = "Communication Error"; } catch (IOException ioe) { error = COM_ERROR.MalformedUrl; errorReason = "Communication Error"; } catch (Exception e) { error = COM_ERROR.UnknownError; e.printStackTrace(); errorReason = "Communication Error"; } return str; } @Override public void onPostExecute(String result) { if (error.equals(COM_ERROR.NoError)) iFace.onTaskFinished(result, returnedParameters); else iFace.onErrorOccured(error, errorReason); } }