Core Class Android

//package backend.snippets;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import android.app.IntentService;
import android.app.NotificationManager;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;
/**
 * @author Maurya Talisetti
 */
public class BackgroundService extends IntentService {
  private NotificationManager nm;
  private final Calendar time = Calendar.getInstance();
  private String fName;
  private String lName;
  private String phoneNumber;
  private String latitude;
  private String longitude;
  private String selectedImagePath;
  public BackgroundService() {
    super("");
  }
  @Override
  protected void onHandleIntent(Intent intent) {
    // TODO Auto-generated method stub
    fName = intent.getExtras().getString("fname");
    lName = intent.getExtras().getString("lname");
    phoneNumber = intent.getExtras().getString("phone_no");
    latitude = intent.getExtras().getString("latitude");
    longitude = intent.getExtras().getString("longitude");
    selectedImagePath = intent.getExtras().getString("selectedImagePath");
    doFileUpload();
  }
  @Override
  public void onCreate() {
    super.onCreate();
    nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    Toast.makeText(this, "Service created at " + time.getTime(),
        Toast.LENGTH_LONG).show();
    // showNotification();
  }
  @Override
  public void onDestroy() {
    super.onDestroy();
    // Cancel the persistent notification.
    // nm.cancel(R.string.service_started);
    Toast.makeText(this,
        fName + " Service destroyed at " + time.getTime() + ";",
        Toast.LENGTH_LONG).show();
  }
  public int doFileUpload() {
    int serverResponseCode = 0;
    String upLoadServerUri = "http://50.56.69.127/vas/trunk/fileupload.php";
    Date d = new Date();
    d.getTime();
    Log.i("FileUpload", "FileUpload: Time : " + d.getTime());
    upLoadServerUri = upLoadServerUri + "?fname=" + fName.toString();
    upLoadServerUri = upLoadServerUri + "&lname=" + lName.toString();
    upLoadServerUri = upLoadServerUri + "&phone_no="
        + phoneNumber.toString();
    upLoadServerUri = upLoadServerUri + "&latitude=" + latitude.toString();
    upLoadServerUri = upLoadServerUri + "&longitude="
        + longitude.toString();
    String currentTimeString = new SimpleDateFormat("yyyy-MM-dd")
        .format(new Date());
    String currentTimeString2 = new SimpleDateFormat("HH:mm:ss")
        .format(new Date());
    // Log.i("FileUpload", "FileUpload: Time : " + currentTimeString);
    upLoadServerUri = upLoadServerUri + "&dtime=" + currentTimeString + ""
        + currentTimeString2;
    // String [] string = sourceFileUri;
    // zip();
    // String fileName = _zipFile;
    String fileName = selectedImagePath;
    // String fileName2 = audioImagePath;
    // Log.i("FileUpload", "FileUpload: Image : " + selectedImagePath);
    // Log.i("FileUpload", "FileUpload: Audio : " + audioImagePath);
    HttpURLConnection conn = null;
    DataOutputStream dos = null;
    DataInputStream inStream = null;
    String lineEnd = "\r\n";
    String twoHyphens = "--";
    String boundary = "*****";
    int bytesRead, bytesAvailable, bufferSize;
    byte[] buffer;
    int maxBufferSize = 1 * 1024 * 1024;
    String responseFromServer = "";
    File sourceFile = new File(fileName);
    if (!sourceFile.isFile()) {
      Log.e("FileUpload", "FileUpload:Source File Does not exist");
      return 0;
    }
    try { // open a URL connection to the Servlet
      FileInputStream fileInputStream = new FileInputStream(sourceFile);
      URL url = new URL(upLoadServerUri);
      conn = (HttpURLConnection) url.openConnection(); // Open a HTTP
                                // connection to
                                // the URL
      conn.setDoInput(true); // Allow Inputs
      conn.setDoOutput(true); // Allow Outputs
      conn.setUseCaches(false); // Don't use a Cached Copy
      conn.setRequestMethod("POST");
      conn.setRequestProperty("Connection", "Keep-Alive");
      conn.setRequestProperty("ENCTYPE", "multipart/form-data");
      conn.setRequestProperty("Content-Type",
          "multipart/form-data;boundary=" + boundary);
      conn.setRequestProperty("uploaded_file", fileName);
      dos = new DataOutputStream(conn.getOutputStream());
      dos.writeBytes(twoHyphens + boundary + lineEnd);
      dos.writeBytes("Content-Disposition: form-data; name=\"uploaded_file\";filename=\""
          + fileName + "\"" + lineEnd);
      dos.writeBytes(lineEnd);
      bytesAvailable = fileInputStream.available(); // create a buffer of
                              // maximum size
      Log.i("FileUpload", "FileUpload: Initial .available : "
          + bytesAvailable);
      bufferSize = Math.min(bytesAvailable, maxBufferSize);
      buffer = new byte[bufferSize];
      // read file and write it into form...
      bytesRead = fileInputStream.read(buffer, 0, bufferSize);
      while (bytesRead > 0) {
        dos.write(buffer, 0, bufferSize);
        bytesAvailable = fileInputStream.available();
        bufferSize = Math.min(bytesAvailable, maxBufferSize);
        bytesRead = fileInputStream.read(buffer, 0, bufferSize);
      }
      // send multipart form data necesssary after file data...
      dos.writeBytes(lineEnd);
      dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
      // Responses from the server (code and message)
      serverResponseCode = conn.getResponseCode();
      String serverResponseMessage = conn.getResponseMessage();
      Log.i("Upload file to server", "HTTP Response is : "
          + serverResponseMessage + ": " + serverResponseCode);
      // close streams
      Log.i("Upload file to server", fileName + " File is written");
      fileInputStream.close();
      dos.flush();
      dos.close();
    } catch (MalformedURLException ex) {
      ex.printStackTrace();
      Log.e("Upload file to server", "error: " + ex.getMessage(), ex);
    } catch (Exception e) {
      e.printStackTrace();
    }
    // this block will give the response of upload link
    try {
      BufferedReader rd = new BufferedReader(new InputStreamReader(
          conn.getInputStream()));
      String line;
      while ((line = rd.readLine()) != null) {
        Log.i("FileUpload", "FileUpload:RES Message: " + line);
      }
      rd.close();
    } catch (IOException ioex) {
      Log.e("FileUpload", "error: " + ioex.getMessage(), ioex);
    }
    // File fileDel = new File(_zipFile);
    // boolean deleted = fileDel.delete();
    // Log.e("FileUpload", "FileUpload:Delete - "+deleted);
    // Function call for notification message..
    return serverResponseCode; // like 200 (Ok)
  } // end upLoad2Server
}