• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps error white doInBackground and AsyncTask

Hello,

i am new at android, i use android studio. I want to make a app that download a xml file from the internet and save it to the sd cart into a folder. so i can read the xml and display it.

now i am stuck whit the download. My code that download the xml is:

Code:
class downloaddata extends AsyncTask<Void, Void, Download> {

        protected Download doInBackground() {
            try {

                URL url = new URL("http://app.co/data/data.php");

                //create the new connection
                HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

                urlConnection.connect();

                //set the path where we want to save the file
                //in this case, going to save it on the root directory of the
                //sd card.
                File SDCardRoot = Environment.getExternalStorageDirectory();
                //create a new file, specifying the path, and the filename
                //which we want to save the file as.
                File file = new File(SDCardRoot, "MovieChecker/programma.xml");

                //this will be used to write the downloaded data into the file we created
                FileOutputStream fileOutput = new FileOutputStream(file);

                //this will be used in reading the data from the internet
                InputStream inputStream = urlConnection.getInputStream();

                //this is the total size of the file
                //int totalSize = urlConnection.getContentLength();
                //progressDialog.setMax(totalSize);

                //variable to store total downloaded bytes
                int downloadedSize = 0;

                //create a buffer...
                byte[] buffer = new byte[1024];
                int bufferLength = 0; //used to store a temporary size of the buffer

                //now, read through the input buffer and write the contents to the file
                while ((bufferLength = inputStream.read(buffer)) > 0) {
                    //add the data in the buffer to the file in the file output stream (the file on the sd card
                    fileOutput.write(buffer, 0, bufferLength);
                    //add up the size so we know how much is downloaded
                    downloadedSize += bufferLength;

                }
                //close the output stream when done
                fileOutput.close();
                Toast.makeText(getApplicationContext(), "Download klaar", Toast.LENGTH_LONG).show();
                //catch some possible errors...
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
    }

now i get this error:
"class 'downloaddata' must either be declared abstract or implement abstract methode 'doInBackground(Params...)' in 'AsyncTask'

Can annywann help me?

greatings christophe
 
Back
Top Bottom