2012-11-27 248 views
0

我尝试使用eclipse创建应用程序。在用户注册页面中,当我输入所有需要的数据后,点击提交按钮,显示“不幸的是,你的eclipse已经停止”。这个信息意味着什么以及如何解决它?数据库无法连接

public class UserRegister extends Activity { 

JSONParser jsonParser = new JSONParser(); 
EditText inputName; 
EditText inputUsername; 
EditText inputEmail; 
EditText inputPassword; 
RadioButton button1; 
RadioButton button2; 
Button button3; 
int success = 0; 

// url to create new product 
private static String url_register_user = "http://192.168.1.100/MEMS/add_user.php"; 

// JSON Node names 
private static final String TAG_SUCCESS = "success"; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_user_register); 

    // Edit Text 
    inputName = (EditText) findViewById(R.id.nameTextBox); 
    inputUsername = (EditText) findViewById(R.id.usernameTextBox); 
    inputEmail = (EditText) findViewById(R.id.emailTextBox); 
    inputPassword = (EditText) findViewById(R.id.pwTextBox); 

    // Create button 
    //RadioButton button1 = (RadioButton) findViewById(R.id.studButton); 
    // RadioButton button2 = (RadioButton) findViewById(R.id.shopownerButton); 
    Button button3 = (Button) findViewById(R.id.regSubmitButton); 

    // button click event 
    button3.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 

      String name = inputName.getText().toString(); 
      String username = inputUsername.getText().toString(); 
      String email = inputEmail.getText().toString(); 
      String password = inputPassword.getText().toString(); 

        if(name.contentEquals("")||username.contentEquals("")||email.contentEquals("")||password.contentEquals("")) 
      { 
       AlertDialog.Builder builder = new AlertDialog.Builder(UserRegister.this); 

       // 2. Chain together various setter methods to set the dialog characteristics 
       builder.setMessage(R.string.nullAlert) 
        .setTitle(R.string.alertTitle); 

       builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         // User clicked OK button 
        } 
       }); 

      // 3. Get the AlertDialog from create() 
      AlertDialog dialog = builder.show(); 
      } 
      else 
      { 
       new RegisterNewUser().execute(); 
      } 

     } 
    }); 
} 


     class RegisterNewUser extends AsyncTask<String, String, String>{ 
    protected String doInBackground(String... args) { 
     String name = inputName.getText().toString(); 
     String username = inputUsername.getText().toString(); 
     String email = inputEmail.getText().toString(); 
     String password = inputPassword.getText().toString(); 

     // Building Parameters 
     List<NameValuePair> params = new ArrayList<NameValuePair>(); 
     params.add(new BasicNameValuePair("name", name)); 
     params.add(new BasicNameValuePair("username", username)); 
     params.add(new BasicNameValuePair("email", email)); 
     params.add(new BasicNameValuePair("password", password)); 

     // getting JSON Object 
     // Note that create product url accepts POST method 
     JSONObject json = jsonParser.makeHttpRequest(url_register_user, 
          "GET", params); 
        // check log cat for response 
     Log.d("Send Notification", json.toString()); 

     try 
      { 
        int success = json.getInt(TAG_SUCCESS); 

        if (success == 1) 
        { 
         // successfully created product 
        Intent i = new Intent(getApplicationContext(), StudentLogin.class); 
        startActivity(i); 
        finish(); 
        } 

        else 
        { 
         // failed to register 

        } 
      } 

      catch (Exception e) 
      { 
        e.printStackTrace(); 
      } 
      return null; 
      } 
         } 
          } 

我的PHP文件:

​​
+0

安置自己的Android错误日志 – Ravi

回答

1

变化的对比方法equals()而不是contentEquals()在你的代码

String#equals()不仅比较字符串的内容,而且还会检查其他对象也是String的一个实例。 String#contentEquals()methods只比较内容(字符序列)和而不是检查另一个对象是否也是String的实例。只要它是CharSequence的实现或StringBuffer的实例,它可以是任何东西。

因此改变你的代码,这样

if(name.equals("")||username.equals("")||email.equals("")||password.equals("")) 
{ 
    .... 
} 
+0

这不会改变这种状况,即使你删除检查报表 –