public void onClick(View v) {
          TextView idTextView = (EditText) findViewById(R.id.idEditText);
          TextView timeTextView = (TextView) findViewById(R.id.timeTextView);
          TextView signalStrengthTextView = (TextView) findViewById(R.id.signalStrengthTextView);
          TextView connectionTypeTextView = (TextView) findViewById(R.id.connectionTypeTextView);
          TextView downloadSpeedTextView = (TextView) findViewById(R.id.downloadSpeedTextView);
          TextView uploadSpeedTextView = (TextView) findViewById(R.id.uploadSpeedTextView);
          EditText noteEditText = (EditText) findViewById(R.id.noteEditText);

          DataCollectorDbHelper dbHelper = new DataCollectorDbHelper(getApplicationContext());

          SQLiteDatabase db = dbHelper.getWritableDatabase();

          ContentValues values = new ContentValues();
          values.put(
              DataCollectorContract.DataEntry.COLUMN_NAME_ENTRY_ID,
              idTextView.getText().toString());
          values.put(
              DataCollectorContract.DataEntry.COLUMN_NAME_TIME, timeTextView.getText().toString());
          values.put(
              DataCollectorContract.DataEntry.COLUMN_NAME_SIGNAL_STRENGTH,
              signalStrengthTextView.getText().toString());
          values.put(
              DataCollectorContract.DataEntry.COLUMN_NAME_CONNECTION_TYPE,
              connectionTypeTextView.getText().toString());
          values.put(
              DataCollectorContract.DataEntry.COLUMN_NAME_DOWNLOAD_SPEED,
              downloadSpeedTextView.getText().toString());
          values.put(
              DataCollectorContract.DataEntry.COLUMN_NAME_UPLOAD_SPEED,
              uploadSpeedTextView.getText().toString());
          values.put(
              DataCollectorContract.DataEntry.COLUMN_NAME_NOTE, noteEditText.getText().toString());

          db.insert(DataCollectorContract.DataEntry.TABLE_NAME, "null", values);

          db.close();

          Context context = getApplicationContext();
          CharSequence text = "Data Saved Successfully!";
          int duration = Toast.LENGTH_SHORT;

          Toast toast = Toast.makeText(context, text, duration);
          toast.show();
        }
        @Override
        public void onClick(DialogInterface dialog, int which) {
          switch (which) {
            case DialogInterface.BUTTON_POSITIVE:
              // Yes button clicked
              DataCollectorDbHelper dbHelper = new DataCollectorDbHelper(getApplicationContext());
              SQLiteDatabase db = dbHelper.getWritableDatabase();
              db.execSQL("delete from " + DataCollectorContract.DataEntry.TABLE_NAME);
              db.close();

              Context context = getApplicationContext();
              CharSequence text = "Database cleared. Save next entry twice.";
              int duration = Toast.LENGTH_SHORT;

              Toast toast = Toast.makeText(context, text, duration);
              toast.show();
              break;

            case DialogInterface.BUTTON_NEGATIVE:
              // No button clicked
              break;
          }
        }
        public void onClick(View v) {
          DataCollectorDbHelper dbHelper = new DataCollectorDbHelper(getApplicationContext());

          SQLiteDatabase db = dbHelper.getWritableDatabase();

          String[] projection = {
            DataCollectorContract.DataEntry._ID,
            DataCollectorContract.DataEntry.COLUMN_NAME_ENTRY_ID,
            DataCollectorContract.DataEntry.COLUMN_NAME_TIME,
            DataCollectorContract.DataEntry.COLUMN_NAME_SIGNAL_STRENGTH,
            DataCollectorContract.DataEntry.COLUMN_NAME_CONNECTION_TYPE,
            DataCollectorContract.DataEntry.COLUMN_NAME_DOWNLOAD_SPEED,
            DataCollectorContract.DataEntry.COLUMN_NAME_UPLOAD_SPEED,
            DataCollectorContract.DataEntry.COLUMN_NAME_NOTE
          };

          String sortOrder = DataCollectorContract.DataEntry._ID + " ASC";

          Cursor c =
              db.query(
                  DataCollectorContract.DataEntry.TABLE_NAME,
                  projection,
                  null,
                  null,
                  null,
                  null,
                  sortOrder);

          SimpleDateFormat df = new SimpleDateFormat("dMMMyyyyHHmmss");
          String date = df.format(Calendar.getInstance().getTime());

          File sdCard = Environment.getExternalStorageDirectory();
          File exportFile = new File(sdCard, "COMP635-Exported-" + date + ".csv");

          try {
            FileWriter fw = new FileWriter(exportFile);
            fw.append("HAI");

            String headerString =
                DataCollectorContract.DataEntry.COLUMN_NAME_ENTRY_ID
                    + ","
                    + DataCollectorContract.DataEntry.COLUMN_NAME_TIME
                    + ","
                    + DataCollectorContract.DataEntry.COLUMN_NAME_SIGNAL_STRENGTH
                    + ","
                    + DataCollectorContract.DataEntry.COLUMN_NAME_CONNECTION_TYPE
                    + ","
                    + DataCollectorContract.DataEntry.COLUMN_NAME_DOWNLOAD_SPEED
                    + ","
                    + DataCollectorContract.DataEntry.COLUMN_NAME_UPLOAD_SPEED
                    + ","
                    + DataCollectorContract.DataEntry.COLUMN_NAME_NOTE
                    + "\n";

            fw.append(headerString);

            c.moveToFirst();

            while (c.moveToNext()) {
              String id =
                  c.getString(
                      c.getColumnIndex(DataCollectorContract.DataEntry.COLUMN_NAME_ENTRY_ID));
              String time =
                  c.getString(c.getColumnIndex(DataCollectorContract.DataEntry.COLUMN_NAME_TIME));
              String signalStrength =
                  c.getString(
                      c.getColumnIndex(
                          DataCollectorContract.DataEntry.COLUMN_NAME_SIGNAL_STRENGTH));
              String connectionType =
                  c.getString(
                      c.getColumnIndex(
                          DataCollectorContract.DataEntry.COLUMN_NAME_CONNECTION_TYPE));
              String downloadSpeed =
                  c.getString(
                      c.getColumnIndex(DataCollectorContract.DataEntry.COLUMN_NAME_DOWNLOAD_SPEED));
              String uploadSpeed =
                  c.getString(
                      c.getColumnIndex(DataCollectorContract.DataEntry.COLUMN_NAME_UPLOAD_SPEED));
              String note =
                  c.getString(c.getColumnIndex(DataCollectorContract.DataEntry.COLUMN_NAME_NOTE));

              String line =
                  id
                      + ","
                      + time
                      + ","
                      + signalStrength
                      + ","
                      + connectionType
                      + ","
                      + downloadSpeed
                      + ","
                      + uploadSpeed
                      + ","
                      + note
                      + "\n";

              fw.append(line);
            }

            fw.flush();
            fw.close();
          } catch (Exception e) {
            db.close();
            Context context = getApplicationContext();
            CharSequence text = "Export Failed :(";
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
          }

          db.close();
          Context context = getApplicationContext();
          CharSequence text = "Data Exported Successfully!";
          int duration = Toast.LENGTH_SHORT;

          Toast toast = Toast.makeText(context, text, duration);
          toast.show();
        }