Android : FATAL EXCEPTION: AsyncTask

on Wednesday, August 6, 2014


I am trying to put correct and wrong username and password and login it but its not work. Unfortunately my app close. What should I do now. Please help me I am sending log file and my login code.



08-06 02:45:45.443: E/AndroidRuntime(1121): FATAL EXCEPTION: AsyncTask #1
08-06 02:45:45.443: E/AndroidRuntime(1121): Process: com.example.parking, PID: 1121
08-06 02:45:45.443: E/AndroidRuntime(1121): java.lang.RuntimeException: An error occured while executing doInBackground()
08-06 02:45:45.443: E/AndroidRuntime(1121): at android.os.AsyncTask$3.done(AsyncTask.java:300)
08-06 02:45:45.443: E/AndroidRuntime(1121): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
08-06 02:45:45.443: E/AndroidRuntime(1121): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
08-06 02:45:45.443: E/AndroidRuntime(1121): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
08-06 02:45:45.443: E/AndroidRuntime(1121): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
08-06 02:45:45.443: E/AndroidRuntime(1121): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
08-06 02:45:45.443: E/AndroidRuntime(1121): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
08-06 02:45:45.443: E/AndroidRuntime(1121): at java.lang.Thread.run(Thread.java:841)
08-06 02:45:45.443: E/AndroidRuntime(1121): Caused by: java.lang.NullPointerException
08-06 02:45:45.443: E/AndroidRuntime(1121): at com.example.parking.Login$LoginTask.doInBackground(Login.java:248)
08-06 02:45:45.443: E/AndroidRuntime(1121): at com.example.parking.Login$LoginTask.doInBackground(Login.java:1)
08-06 02:45:45.443: E/AndroidRuntime(1121): at android.os.AsyncTask$2.call(AsyncTask.java:288)
08-06 02:45:45.443: E/AndroidRuntime(1121): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
08-06 02:45:45.443: E/AndroidRuntime(1121): ... 4 more

08-06 02:45:47.383: I/Choreographer(1121): Skipped 31 frames! The application may be doing too much work on its main thread.

08-06 02:45:51.333: D/AndroidRuntime(1121): Shutting down VM
08-06 02:45:51.333: W/dalvikvm(1121): threadid=1: thread exiting with uncaught exception (group=0xb2af5ba8)
08-06 02:45:51.333: I/Process(1121): Sending signal. PID: 1121 SIG: 9


here my login code is



public class Login extends Activity
{
static String login_message;
static int login_success = 0;
static ProgressDialog process_dlg;
public static int service_running;
public static BackgroundService session_service;
static String user_region;
static String user_role;
private ServiceConnection mConnection;
public int user_class = -1;
public String user_id;

static
{
login_message = null;
service_running = 0;
}

private void start_user()
{
Log.d("INFO:", "StartService(" + Integer.toString(this.user_class) + "," + Integer.toString(service_running) + ")");
if (this.user_class == 0)
{
Intent localIntent1 = new Intent(getApplicationContext(), InspectorQuery.class);
InspectorQuery.user_id = this.user_id;
startActivity(localIntent1);
}
while (true)
{
// return;
if (this.user_class == 1)
{
Intent localIntent2 = new Intent(getApplicationContext(), ClamperListing.class);
ClamperListing.user_id = this.user_id;
startActivity(localIntent2);
if (service_running != 0)
continue;
startService(1);
continue;
}
if (this.user_class == 2)
{
Intent localIntent3 = new Intent(getApplicationContext(), DeclamperListing.class);
DeclamperListing.user_id = this.user_id;
startActivity(localIntent3);
if (service_running != 0)
continue;
startService(2);
continue;
}
if (this.user_class != 3)
continue;
Intent localIntent4 = new Intent(getApplicationContext(), TowerListing.class);
TowerListing.user_id = this.user_id;
startActivity(localIntent4);
if (service_running != 0)
continue;
startService(3);
}
}

private void switch_dashboard()
{
if (this.user_class < 0);
while (true)
{
// return;
if (login_success >= 1)
{
AlertDialog.Builder localBuilder = new AlertDialog.Builder(this);
localBuilder.setCancelable(true);
localBuilder.setTitle("Login");
localBuilder.setInverseBackgroundForced(true);
localBuilder.setMessage("You are assigned role of \"" + user_role + "\"");
localBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface paramDialogInterface, int paramInt)
{
paramDialogInterface.dismiss();
Login.this.start_user();
}
});
localBuilder.create().show();
continue;
}
}
}

public void onBackPressed()
{
Intent localIntent = new Intent("android.intent.action.MAIN");
localIntent.addCategory("android.intent.category.HOME");
localIntent.setFlags(268435456);
startActivity(localIntent);
}

protected void onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
setContentView(R.layout.activity_login);
try
{
ViewConfiguration localViewConfiguration = ViewConfiguration.get(this);
Field localField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if (localField != null)
{
localField.setAccessible(true);
localField.setBoolean(localViewConfiguration, false);
}
label43: return;
}
catch (Exception localException)
{
localException.printStackTrace();
}
}

public boolean onCreateOptionsMenu(Menu paramMenu)
{
getMenuInflater().inflate(2131230723, paramMenu);
return true;
}

public void onDestroy()
{
stopService();
super.onDestroy();
}

public void onLoginClicked(View paramView)
{

if (service_running != 0)
{
stopService();
session_service = null;
service_running = 0;
}
login_success = 0;
EditText localEditText1 = (EditText)Login.this.findViewById(R.id.txtusername);
EditText localEditText2 = (EditText)Login.this.findViewById(R.id.txtpassword);
String str1 = localEditText1.getText().toString();
String str2 = localEditText2.getText().toString();
if ((str1.length() < 1) || (str2.length() < 1))
{
Toast.makeText(getApplicationContext(),
"Username or Password is blank", Toast.LENGTH_LONG).show();
}
else
{
new LoginTask().execute (str1, str2);
}
}
protected void onNewIntent(Intent paramIntent)
{
}

public boolean onOptionsItemSelected(MenuItem paramMenuItem)
{
if (paramMenuItem.getItemId() == 2131296266)
{
Intent localIntent = new Intent("android.intent.action.MAIN");
localIntent.addCategory("android.intent.category.HOME");
localIntent.setFlags(268435456);
startActivity(localIntent);
System.exit(0);
}
return true;
}

public void startService(int paramInt)
{
this.user_class = paramInt;
this.mConnection = new ServiceConnection()
{
public void onServiceConnected(ComponentName paramComponentName, IBinder paramIBinder)
{
Login.session_service = ((BackgroundService.LocalBinder)paramIBinder).getService();
if (Login.this.user_class >= 0)
Login.session_service.startSession(Login.this.user_class);
Log.d("INFO:", "Service Connected.");
}

public void onServiceDisconnected(ComponentName paramComponentName)
{
Login.session_service = null;
}
};
bindService(new Intent(this, BackgroundService.class), this.mConnection, 1);
service_running = 1;
}

public void stopService()
{
session_service.kill();
unbindService(this.mConnection);
service_running = 0;
}

class LoginTask extends AsyncTask<String, String, String> {
LoginTask()
{
}

protected String doInBackground(String[] paramArrayOfString)
{

String strUserName =paramArrayOfString[0];
String strPassword=paramArrayOfString[1];

// if ((strUserName.length() < 1) || (strPassword.length() < 1))
// Login.login_message = "Error. Blank username or password!";
while (true)
{
//return null;
String str3 = "email=" + strUserName + "&passd=" + strPassword;
ConnectionManager.ConnectionResponse localConnectionResponse = new ConnectionManager().DoPost("", str3);
if (localConnectionResponse.Length <= 0)
break;
Log.d("INFO:", "Length was greater than 0\n");
Log.d("DATA:", localConnectionResponse.Data);
String str4 = StringParser.GetJSONString(localConnectionResponse.Data);
int i = str4.indexOf("\"STATUS\"");
if (i < 0)
{
if (str4.indexOf("error") < 0)
{
Login.login_message = "Server Returned an Error.";
continue;
}
String str12 = StringParser.FetchFieldValue(StringParser.SplitFields(str4.replace('}', ' ').replace('{', ' ')), "error");
if (str12 != null)
{
Login.login_message = "Error: " + str12.trim();
continue;
}
Login.login_message = "Server returned an Error.";
continue;
}
String str5 = str4.substring(i).replace('}', ' ').replace('{', ' ').trim();
Log.d("FINAL_STR", str5);
Map localMap = StringParser.SplitFields(str5);
String str6 = StringParser.FetchFieldValue(localMap, "STATUS");
String str7 = StringParser.FetchFieldValue(localMap, "user_id");
if (str6 == null)
{
Login.login_message = "Server Response Error!!";
continue;
}
Log.d("STATUS:", str6);
if (str7 != null)
Log.d("UID:", str7);
int j = Integer.parseInt(str6);
String str8 = null;
switch (j)
{
case 1:
default:
case 0:
case 2:
case 3:
}
while (true)
{
if (str8 == null)
{
// break label422;
Login.login_success = 1;
}
Login.login_message = str8;
break;
// str8 = "Invalid Password or E-Mail!!";
// continue;
//str8 = "User has been deactivated!!";
//continue;
//str8 = "This account is yet to be activated.";
}
// label422: Login.login_success = 1;
String str9 = StringParser.FetchFieldValue(localMap, "role");
String str10 = StringParser.FetchFieldValue(localMap, "area");
String str11 = StringParser.FetchFieldValue(localMap, "street");
if ((str9 == null) || (str10 == null) || (str11 == null))
{
Login.login_success = 0;
Login.login_message = "Server failed to return all credentials";
continue;
}
int k = -1;
if (str9.equalsIgnoreCase("INSPECTOR"))
k = 0;
while (true)
{
if (k >= 0)
{
//break label558;
Login.user_region = "area=" + str10 + "&street=" + str11;
Login.this.user_id = str7;
Login.this.user_class = k;
Login.user_role = str9;
}
Login.login_message = "Unknown role was returned.";
//break;
if (str9.equalsIgnoreCase("CLAMPER"))
{
k = 1;
continue;
}
if (str9.equalsIgnoreCase("DECLAMPER"))
{
k = 2;
continue;
}
if (!str9.equalsIgnoreCase("TOWER"))
continue;
k = 3;
}
/* label558: Login.user_region = "area=" + str10 + "&street=" + str11;
Login.this.user_id = str7;
Login.this.user_class = k;
Login.user_role = str9;
*/
}
while (true)
{
//break;
Login.login_message = "Connection Failed! Check Settings.";
}
//return null;
}

protected void onPostExecute(String paramString)
{
Login.process_dlg.dismiss();
if (Login.login_success == 0)
Toast.makeText(Login.this, Login.login_message, 1).show();
while (true)
{
//return;
Login.this.switch_dashboard();
}
}

protected void onPreExecute()
{
Login.login_message = null;
Login.login_success = 0;
Login.process_dlg = new ProgressDialog(Login.this);
Login.process_dlg.setTitle("Connecting ...");
Login.process_dlg.setMessage("Please wait");
Login.process_dlg.setIndeterminate(true);
Login.process_dlg.setCancelable(false);
Login.process_dlg.show();
}
}
}

0 comments:

Post a Comment