我正在使用nullpointer预测崩溃。我正在接受报名,我不确定这是不是我的后端失败了。我已将我的应用程序指向我的php文件,并且我检查了我的Apache日志,它已经到了那里。
代码:
signUpButton.setOnClickListener(new OnClickListener(){
public void onClick(View arg0)
{
if (usernameText.length() > 0 &&
passwordText.length() > 0 &&
passwordAgainText.length() > 0 &&
eMailText.length() > 0
)
{
//TODO check email adress is valid
if (passwordText.getText().toString().equals(passwordAgainText.getText().toString())){
if (usernameText.length() >= 5 && passwordText.length() >= 5) {
Thread thread = new Thread(){
String result = new String();
@Override
public void run() {
result = imService.signUpUser(usernameText.getText().toString(),
passwordText.getText().toString(),
eMailText.getText().toString());
handler.post(new Runnable(){
public void run() {
if (result.equals(SERVER_RES_RES_SIGN_UP_SUCCESFULL)) {
showDialog(SIGN_UP_SUCCESSFULL);
}
else if (result.equals(SERVER_RES_SIGN_UP_USERNAME_CRASHED)){
showDialog(SIGN_UP_USERNAME_CRASHED);
}
else if (result.equals(SERVER_RES_SIGN_UP_FAILED))
{
showDialog(SIGN_UP_FAILED);
}
}
});
}
};
thread.start();
}
else{
showDialog(USERNAME_AND_PASSWORD_LENGTH_SHORT);
}
}
else {
showDialog(TYPE_SAME_PASSWORD_IN_PASSWORD_FIELDS);
}
}
else {
showDialog(FILL_ALL_FIELDS);
}
}
});
cancelButton.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
Toast.makeText(getApplicationContext(), "Sorry! Please try again.", Toast.LENGTH_SHORT).show();
{
}
}});
}
protected Dialog onCreateDialog(int id)
{
switch (id)
{
case TYPE_SAME_PASSWORD_IN_PASSWORD_FIELDS:
return new AlertDialog.Builder(SignUp.this)
.setMessage(R.string.signup_type_same_password_in_password_fields)
.setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.create();
case FILL_ALL_FIELDS:
return new AlertDialog.Builder(SignUp.this)
.setMessage(R.string.signup_fill_all_fields)
.setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.create();
case SIGN_UP_FAILED:
return new AlertDialog.Builder(SignUp.this)
.setMessage(R.string.signup_failed)
.setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.create();
case SIGN_UP_USERNAME_CRASHED:
return new AlertDialog.Builder(SignUp.this)
.setMessage(R.string.signup_username_crashed)
.setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.create();
case SIGN_UP_SUCCESSFULL:
return new AlertDialog.Builder(SignUp.this)
.setMessage(R.string.signup_successfull)
.setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
finish();
}
})
.create();
case USERNAME_AND_PASSWORD_LENGTH_SHORT:
return new AlertDialog.Builder(SignUp.this)
.setMessage(R.string.username_and_password_length_short)
.setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.create();
default:
return null;
}
}
@Override
protected void onResume() {
bindService(new Intent(SignUp.this, IMService.class), mConnection , Context.BIND_AUTO_CREATE);
super.onResume();
}
@Override
protected void onPause()
{
unbindService(mConnection);
super.onPause();
}
}
logcat的: 05-21 13:47:22.237:E / AndroidRuntime(522):致命异常:主
05-21 13:47:22.237: E/AndroidRuntime(522): java.lang.NullPointerException
05-21 13:47:22.237: E/AndroidRuntime(522): at com.mekya.SignUp$2$1$1.run(SignUp.java:113)
05-21 13:47:22.237: E/AndroidRuntime(522): at android.os.Handler.handleCallback(Handler.java:587)
05-21 13:47:22.237: E/AndroidRuntime(522): at android.os.Handler.dispatchMessage(Handler.java:92)
05-21 13:47:22.237: E/AndroidRuntime(522): at android.os.Looper.loop(Looper.java:123) 05-21 13:47:22.237: E/AndroidRuntime(522): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-21 13:47:22.237: E/AndroidRuntime(522): at java.lang.reflect.Method.invokeNative(Native Method)
05-21 13:47:22.237: E/AndroidRuntime(522): at java.lang.reflect.Method.invoke(Method.java:521)
05-21 13:47:22.237: E/AndroidRuntime(522): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 05-21 13:47:22.237: E/AndroidRuntime(522): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-21 13:47:22.237: E/AndroidRuntime(522): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:2)
看起来result
是null
....