Q:

Issue with AsyncTask not Executing

I am adding a new user to the database (SQLite Database). When I click on the button to create the user, I am using the doInBackground. It was working fine when I was connecting to a WCF web service. I switched over to use a SQLite Database instead, but the doInBackground method of the asyncTask is not being executed. All the changes were made inside the method AddUser().  No exception is thrown, and there is nothing out of the ordinary in the logcat. What am I doing wrong here?
// Onclick Event code:
if(!(username.matches("") && password.matches("")&& firstName.matches("") && lastName.matches("")))
            {
                userNameRequired.setVisibility(View.INVISIBLE);
                passwordRequired.setVisibility(View.INVISIBLE);
                firstNameRequired.setVisibility(View.INVISIBLE);
                lastNameRequired.setVisibility(View.INVISIBLE);
              try
              {
                 new Thread(
                     new Runnable() {
                         @Override
                         public void run() {
                  **This is where it stops and does nothing.**
                             new   createNewUserAsyncTask().execute();  
                         }
                     }
             ).start();
                }catch(Exception ex)
                {
                   Log.i("Error message", ex.getMessage());
                }

//Here is the AsyncTask class
public class createNewUserAsyncTask extends AsyncTask<Void,Void,Boolean>
    {

        @Override
        protected Boolean doInBackground(Void... voids) {
            return AddUser(); //I added a breakpoint here, and it never reached it.
        }
**//Method where the changes were made.**
          private Boolean AddUser()
          {
              try
              {

                  db = dbHelper.getReadableDatabase();
                  ContentValues contentValue = new ContentValues();
                  contentValue.put(dbHelper.PERSONFIRSTNAME, firstName);
                  contentValue.put(dbHelper.PERSONLASTNAME, lastName);
                  contentValue.put(dbHelper.PERSONMIDDLEINITIAL, middleNAme);
                  contentValue.put(dbHelper.PERSONADDRESS1, address);
                  contentValue.put(dbHelper.PERSONCITY, city);
                  contentValue.put(dbHelper.PERSONSTATE, state);
                  contentValue.put(dbHelper.PERSONZIPCODE, zipcode);
                  contentValue.put(dbHelper.PERSONHOMENUMBER, homeNumber);
                  contentValue.put(dbHelper.PERSONCELLNUMBER, cellNumber);
                  contentValue.put(dbHelper.PERSONEMAILADDRESS, emailAddress);
                  contentValue.put(dbHelper.PERSONADDITIONALEMAILADDRESS, additionalEmail);
                  db.insert(dbHelper.PERSON_TABLE, null, contentValue);
                  Cursor cursor = db.rawQuery("SELECT last_insert_rowid() from "+ dbHelper.PERSON_TABLE, null);
                  cursor.moveToFirst();
                  int id = cursor.getInt(0);
                  cursor.close();
                  if(id > 0)
                  {
                      String date = DateCreated();
                       contentValue = new ContentValues();
                      contentValue.put(dbHelper.USERSUSERNAME, username);
                      contentValue.put(dbHelper.USERSPASSWORD, password);
                      contentValue.put(dbHelper.USERSDATECREATED, date);
                      contentValue.put(dbHelper.USERSPERSONID, id);
                      db.insert(dbHelper.USERS_TABLE, null, contentValue);
                      return true;
                  }
              }catch (Exception e)
              {
                  Log.i("Error message: ", e.getMessage());
              }
              return false;
          }

 @Override
        protected void onPostExecute(Boolean aBoolean) {
            super.onPostExecute(aBoolean);
            if(aBoolean == true)
            {
                userIsCreated = aBoolean;
                Intent intent = new Intent(NewUser.this, Login.class);
                startActivity(intent);
            }
        }
    }

This is the logcat
  09-17 19:31:17.400    1086-1086/com.mb.progressnfit I/Choreographer: Skipped 3040 frames!  The application may be doing too much work on its main thread.
    09-17 19:31:43.759      639-679/com.android.exchange D/ExchangeService: Received deviceId from Email app: null
    09-17 19:31:43.759      639-679/com.android.exchange D/ExchangeService: !!! deviceId unknown; stopping self and retrying
    09-17 19:31:48.816      639-847/com.android.exchange D/ExchangeService: !!! EAS ExchangeService, onCreate
    09-17 19:31:48.826      639-639/com.android.exchange D/ExchangeService: !!! EAS ExchangeService, onStartCommand, startingUp = false, running = false
    09-17 19:31:48.826      277-450/system_process W/ActivityManager: Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found
    09-17 19:31:48.826      639-696/com.android.exchange D/ExchangeService: !!! Email application not found; stopping self
    09-17 19:31:48.836      277-289/system_process W/ActivityManager: Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found
    09-17 19:31:48.836      639-639/com.android.exchange D/ExchangeService: !!! EAS ExchangeService, onStartCommand, startingUp = true, running = false
    09-17 19:31:48.856      639-639/com.android.exchange E/ActivityThread: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1dcc8 that was originally bound here
            android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1dcc8 that was originally bound here
            at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
            at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
            at android.app.ContextImpl.bindService(ContextImpl.java:1418)
            at android.app.ContextImpl.bindService(ContextImpl.java:1407)
            at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
            at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
            at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
            at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:856)
    09-17 19:31:48.987      639-639/com.android.exchange E/StrictMode: null
            android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1dcc8 that was originally bound here
            at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
            at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
            at android.app.ContextImpl.bindService(ContextImpl.java:1418)
            at android.app.ContextImpl.bindService(ContextImpl.java:1407)
            at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
            at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
            at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
            at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:856)
    09-17 19:31:48.987      277-277/system_process W/ActivityManager: Unbind failed: could not find connection for android.os.BinderProxy@40e47718
    09-17 19:31:49.076      639-639/com.android.exchange E/ActivityThread: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1d920 that was originally bound here
            android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1d920 that was originally bound here
            at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
            at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
            at android.app.ContextImpl.bindService(ContextImpl.java:1418)
            at android.app.ContextImpl.bindService(ContextImpl.java:1407)
            at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
            at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
            at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:856)
    09-17 19:31:49.076      639-639/com.android.exchange E/StrictMode: null
            android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1d920 that was originally bound here
            at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
            at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
            at android.app.ContextImpl.bindService(ContextImpl.java:1418)
            at android.app.ContextImpl.bindService(ContextImpl.java:1407)
            at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
            at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
            at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:856)
    09-17 19:31:49.096      277-465/system_process W/ActivityManager: Unbind failed: could not find connection for android.os.BinderProxy@40ef0ce8
    09-17 19:31:49.096      639-641/com.android.exchange D/dalvikvm: GC_CONCURRENT freed 459K, 20% free 2500K/3104K, paused 80ms+88ms, total 240ms
    09-17 19:32:33.837      639-696/com.android.exchange D/ExchangeService: Received deviceId from Email app: null
    09-17 19:32:33.837      639-696/com.android.exchange D/ExchangeService: !!! deviceId unknown; stopping self and retrying
    09-17 19:32:38.908      639-682/com.android.exchange D/ExchangeService: !!! EAS ExchangeService, onCreate
    09-17 19:32:38.916      639-639/com.android.exchange D/ExchangeService: !!! EAS ExchangeService, onStartCommand, startingUp = false, running = false
    09-17 19:32:38.916      277-462/system_process W/ActivityManager: Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found
    09-17 19:32:38.916      639-847/com.android.exchange D/ExchangeService: !!! Email application not found; stopping self
    09-17 19:32:38.926      277-450/system_process W/ActivityManager: Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found
    09-17 19:32:38.926      639-639/com.android.exchange D/ExchangeService: !!! EAS ExchangeService, onStartCommand, startingUp = true, running = false
    09-17 19:32:38.946      639-639/com.android.exchange E/ActivityThread: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40ceaf88 that was originally bound here
            android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40ceaf88 that was originally bound here
            at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
            at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
            at android.app.ContextImpl.bindService(ContextImpl.java:1418)
            at android.app.ContextImpl.bindService(ContextImpl.java:1407)
            at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
            at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
            at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
            at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:856)
    09-17 19:32:38.987      639-639/com.android.exchange E/StrictMode: null
            android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40ceaf88 that was originally bound here
            at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
            at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
            at android.app.ContextImpl.bindService(ContextImpl.java:1418)
            at android.app.ContextImpl.bindService(ContextImpl.java:1407)
            at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
            at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
            at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
            at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
            at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
            at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:856)

A:

Change your code to take out the Thread and Runnable
if(!(username.matches("") && password.matches("")&& firstName.matches("") && lastName.matches("")))
        {
            userNameRequired.setVisibility(View.INVISIBLE);
            passwordRequired.setVisibility(View.INVISIBLE);
            firstNameRequired.setVisibility(View.INVISIBLE);
            lastNameRequired.setVisibility(View.INVISIBLE);

              **This is where it stops and does nothing.**
            new   createNewUserAsyncTask().execute();

AsyncTask must be executed on the UI
According to the Docs one of the 4 threading rules (actually the first) is

The AsyncTask class must be loaded on the UI thread. This is done automatically as of JELLY_BEAN.

