Java 在Android中为我的应用引发IllegalStateException

Java 在Android中为我的应用引发IllegalStateException,java,php,android,xampp,Java,Php,Android,Xampp,因此,我的第一部分登录正在工作。没有问题。现在,当我尝试使用相同的应用程序进行注册时,它只是停止了工作。我在这里迷路了,而且我是android开发的新手,所以我不太理解给出的错误 MainActivity.java public class MainActivity extends AppCompatActivity { EditText UsernameEt, PasswordEt; @Override protected void onCreate(Bundl

因此,我的第一部分登录正在工作。没有问题。现在,当我尝试使用相同的应用程序进行注册时,它只是停止了工作。我在这里迷路了,而且我是android开发的新手,所以我不太理解给出的错误

MainActivity.java

   public class MainActivity extends AppCompatActivity {
    EditText UsernameEt, PasswordEt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        UsernameEt = (EditText) findViewById(R.id.etUserName);
        PasswordEt = (EditText) findViewById(R.id.etPassword);

    }

    public void OnLogin(View view){
        String username = UsernameEt.getText().toString();
        String password = PasswordEt.getText().toString();
        String type = "login";

        BackgroundWorker backgroundWorker = new BackgroundWorker(this);

        backgroundWorker.setOnTaskFinishedListener(new BackgroundWorker.OnTaskFinishedListener() {

            @Override
            public void onTaskFinished(String result) {
                // Now you have the result of your login here.
                // Result should be "admin", "user", or "failed"
                // You can now create an intent and open the page
                // to your next activity.
                switch (result) {
                    case "admin":
                        // Create your intent.
                        Intent adminIntent = new Intent(MainActivity.this, AdminPageActivity.class);
                        // Start the admin page activity.
                        startActivity(adminIntent);
                        break;

                    case "user":
                        // Create your intent.
                        Intent userIntent = new Intent(MainActivity.this, UserPageActivity.class);
                        // Start the user page activity.
                        startActivity(userIntent);
                        break;

                    default:
                        // Login failed.
                        Intent failIntent  = new Intent(MainActivity.this, MainActivity.class);
                        startActivity(failIntent);
                        break;
                }
            }
        });

        backgroundWorker.execute(type, username, password);
    }

    public void openRegistration(View view){
        startActivity(new Intent(this, Registration.class));
    }
}
public class Registration extends AppCompatActivity {
    EditText NameEt, RoleEt, UsernameEt, PasswordEt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_registration);

        NameEt = (EditText) findViewById(R.id.etName);
        UsernameEt = (EditText) findViewById(R.id.etUserName);
        PasswordEt = (EditText) findViewById(R.id.etPassword);
        RoleEt = (EditText) findViewById(R.id.etRole);
    }

    public void OnRegister(View view) {
        String str_name = NameEt.getText().toString();
        String str_username = UsernameEt.getText().toString();
        String str_password = PasswordEt.getText().toString();
        String str_role = RoleEt.getText().toString();
        String type = "register";

        BackgroundWorker backgroundWorker = new BackgroundWorker(this);
        backgroundWorker.execute(type, str_name, str_username, str_password, str_role);
    }

}
public class BackgroundWorker extends AsyncTask<String,Void,String> {
    Context context;
    AlertDialog alertDialog;
    BackgroundWorker (Context ctx) {
        context = ctx;
    }

    @Override
    protected String doInBackground(String... params) {
        String type = params[0];
        String login_url = "http://ipaddress/folder/login.php";
        String register_url = "http://ipaddress/folder/register.php";
        if(type.equals("login")) {
            try {
                String user_name = params[1];
                String password = params[2];
                URL url = new URL(login_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data = URLEncoder.encode("user_name","UTF-8")+"="+URLEncoder.encode(user_name,"UTF-8") +"&" + URLEncoder.encode("password","UTF-8") + "=" + URLEncoder.encode(password,"UTF-8");
                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String result="";
                String line="";
                while((line = bufferedReader.readLine())!= null) {
                    result += line;
                }
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
                return result;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else if(type.equals("register")) {
            try {
                String name = params[1];
                String username = params[2];
                String password = params[3];
                String role = params[4];
                URL url = new URL(register_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(name,"UTF-8") + "&" + URLEncoder.encode("username", "UTF-8")+"="+URLEncoder.encode(username,"UTF-8") + "&" + URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password,"UTF-8") + "&" + URLEncoder.encode("role","UTF-8") + "=" + URLEncoder.encode(role,"UTF-8");
                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String result="";
                String line="";
                while((line = bufferedReader.readLine())!= null) {
                    result += line;
                }
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
                return result;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }

    public interface OnTaskFinishedListener {
        void onTaskFinished(String result);
    }

    // Member property to reference listener.
    private OnTaskFinishedListener mOnTaskFinishedListener;

    // Setter for listener.
    public void setOnTaskFinishedListener(OnTaskFinishedListener listener) {
        mOnTaskFinishedListener = listener;
    }

    @Override
    protected void onPreExecute() {
        alertDialog = new AlertDialog.Builder(context).create();
        alertDialog.setTitle("Login Status");
    }

    @Override
    protected void onPostExecute(String result) {
        alertDialog.setMessage(result);
        alertDialog.show();

        switch (result) {
            case "failed":
                // Login failed.
                break;
            case "user": // Login successful, result (role) is "user"
                result = "user";
                break;
            case "admin": // Login successful, result (role) is "admin"
                result = "admin";
                break;
        }

        if (mOnTaskFinishedListener != null) {
            mOnTaskFinishedListener.onTaskFinished(result);
        }
    }

    @Override
    protected void onProgressUpdate(Void... values) {
        super.onProgressUpdate(values);
    }
}
Registration.java

   public class MainActivity extends AppCompatActivity {
    EditText UsernameEt, PasswordEt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        UsernameEt = (EditText) findViewById(R.id.etUserName);
        PasswordEt = (EditText) findViewById(R.id.etPassword);

    }

    public void OnLogin(View view){
        String username = UsernameEt.getText().toString();
        String password = PasswordEt.getText().toString();
        String type = "login";

        BackgroundWorker backgroundWorker = new BackgroundWorker(this);

        backgroundWorker.setOnTaskFinishedListener(new BackgroundWorker.OnTaskFinishedListener() {

            @Override
            public void onTaskFinished(String result) {
                // Now you have the result of your login here.
                // Result should be "admin", "user", or "failed"
                // You can now create an intent and open the page
                // to your next activity.
                switch (result) {
                    case "admin":
                        // Create your intent.
                        Intent adminIntent = new Intent(MainActivity.this, AdminPageActivity.class);
                        // Start the admin page activity.
                        startActivity(adminIntent);
                        break;

                    case "user":
                        // Create your intent.
                        Intent userIntent = new Intent(MainActivity.this, UserPageActivity.class);
                        // Start the user page activity.
                        startActivity(userIntent);
                        break;

                    default:
                        // Login failed.
                        Intent failIntent  = new Intent(MainActivity.this, MainActivity.class);
                        startActivity(failIntent);
                        break;
                }
            }
        });

        backgroundWorker.execute(type, username, password);
    }

    public void openRegistration(View view){
        startActivity(new Intent(this, Registration.class));
    }
}
public class Registration extends AppCompatActivity {
    EditText NameEt, RoleEt, UsernameEt, PasswordEt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_registration);

        NameEt = (EditText) findViewById(R.id.etName);
        UsernameEt = (EditText) findViewById(R.id.etUserName);
        PasswordEt = (EditText) findViewById(R.id.etPassword);
        RoleEt = (EditText) findViewById(R.id.etRole);
    }

    public void OnRegister(View view) {
        String str_name = NameEt.getText().toString();
        String str_username = UsernameEt.getText().toString();
        String str_password = PasswordEt.getText().toString();
        String str_role = RoleEt.getText().toString();
        String type = "register";

        BackgroundWorker backgroundWorker = new BackgroundWorker(this);
        backgroundWorker.execute(type, str_name, str_username, str_password, str_role);
    }

}
public class BackgroundWorker extends AsyncTask<String,Void,String> {
    Context context;
    AlertDialog alertDialog;
    BackgroundWorker (Context ctx) {
        context = ctx;
    }

    @Override
    protected String doInBackground(String... params) {
        String type = params[0];
        String login_url = "http://ipaddress/folder/login.php";
        String register_url = "http://ipaddress/folder/register.php";
        if(type.equals("login")) {
            try {
                String user_name = params[1];
                String password = params[2];
                URL url = new URL(login_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data = URLEncoder.encode("user_name","UTF-8")+"="+URLEncoder.encode(user_name,"UTF-8") +"&" + URLEncoder.encode("password","UTF-8") + "=" + URLEncoder.encode(password,"UTF-8");
                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String result="";
                String line="";
                while((line = bufferedReader.readLine())!= null) {
                    result += line;
                }
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
                return result;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else if(type.equals("register")) {
            try {
                String name = params[1];
                String username = params[2];
                String password = params[3];
                String role = params[4];
                URL url = new URL(register_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(name,"UTF-8") + "&" + URLEncoder.encode("username", "UTF-8")+"="+URLEncoder.encode(username,"UTF-8") + "&" + URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password,"UTF-8") + "&" + URLEncoder.encode("role","UTF-8") + "=" + URLEncoder.encode(role,"UTF-8");
                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String result="";
                String line="";
                while((line = bufferedReader.readLine())!= null) {
                    result += line;
                }
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
                return result;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }

    public interface OnTaskFinishedListener {
        void onTaskFinished(String result);
    }

    // Member property to reference listener.
    private OnTaskFinishedListener mOnTaskFinishedListener;

    // Setter for listener.
    public void setOnTaskFinishedListener(OnTaskFinishedListener listener) {
        mOnTaskFinishedListener = listener;
    }

    @Override
    protected void onPreExecute() {
        alertDialog = new AlertDialog.Builder(context).create();
        alertDialog.setTitle("Login Status");
    }

    @Override
    protected void onPostExecute(String result) {
        alertDialog.setMessage(result);
        alertDialog.show();

        switch (result) {
            case "failed":
                // Login failed.
                break;
            case "user": // Login successful, result (role) is "user"
                result = "user";
                break;
            case "admin": // Login successful, result (role) is "admin"
                result = "admin";
                break;
        }

        if (mOnTaskFinishedListener != null) {
            mOnTaskFinishedListener.onTaskFinished(result);
        }
    }

    @Override
    protected void onProgressUpdate(Void... values) {
        super.onProgressUpdate(values);
    }
}
BackgroundWorker.java

   public class MainActivity extends AppCompatActivity {
    EditText UsernameEt, PasswordEt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        UsernameEt = (EditText) findViewById(R.id.etUserName);
        PasswordEt = (EditText) findViewById(R.id.etPassword);

    }

    public void OnLogin(View view){
        String username = UsernameEt.getText().toString();
        String password = PasswordEt.getText().toString();
        String type = "login";

        BackgroundWorker backgroundWorker = new BackgroundWorker(this);

        backgroundWorker.setOnTaskFinishedListener(new BackgroundWorker.OnTaskFinishedListener() {

            @Override
            public void onTaskFinished(String result) {
                // Now you have the result of your login here.
                // Result should be "admin", "user", or "failed"
                // You can now create an intent and open the page
                // to your next activity.
                switch (result) {
                    case "admin":
                        // Create your intent.
                        Intent adminIntent = new Intent(MainActivity.this, AdminPageActivity.class);
                        // Start the admin page activity.
                        startActivity(adminIntent);
                        break;

                    case "user":
                        // Create your intent.
                        Intent userIntent = new Intent(MainActivity.this, UserPageActivity.class);
                        // Start the user page activity.
                        startActivity(userIntent);
                        break;

                    default:
                        // Login failed.
                        Intent failIntent  = new Intent(MainActivity.this, MainActivity.class);
                        startActivity(failIntent);
                        break;
                }
            }
        });

        backgroundWorker.execute(type, username, password);
    }

    public void openRegistration(View view){
        startActivity(new Intent(this, Registration.class));
    }
}
public class Registration extends AppCompatActivity {
    EditText NameEt, RoleEt, UsernameEt, PasswordEt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_registration);

        NameEt = (EditText) findViewById(R.id.etName);
        UsernameEt = (EditText) findViewById(R.id.etUserName);
        PasswordEt = (EditText) findViewById(R.id.etPassword);
        RoleEt = (EditText) findViewById(R.id.etRole);
    }

    public void OnRegister(View view) {
        String str_name = NameEt.getText().toString();
        String str_username = UsernameEt.getText().toString();
        String str_password = PasswordEt.getText().toString();
        String str_role = RoleEt.getText().toString();
        String type = "register";

        BackgroundWorker backgroundWorker = new BackgroundWorker(this);
        backgroundWorker.execute(type, str_name, str_username, str_password, str_role);
    }

}
public class BackgroundWorker extends AsyncTask<String,Void,String> {
    Context context;
    AlertDialog alertDialog;
    BackgroundWorker (Context ctx) {
        context = ctx;
    }

    @Override
    protected String doInBackground(String... params) {
        String type = params[0];
        String login_url = "http://ipaddress/folder/login.php";
        String register_url = "http://ipaddress/folder/register.php";
        if(type.equals("login")) {
            try {
                String user_name = params[1];
                String password = params[2];
                URL url = new URL(login_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data = URLEncoder.encode("user_name","UTF-8")+"="+URLEncoder.encode(user_name,"UTF-8") +"&" + URLEncoder.encode("password","UTF-8") + "=" + URLEncoder.encode(password,"UTF-8");
                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String result="";
                String line="";
                while((line = bufferedReader.readLine())!= null) {
                    result += line;
                }
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
                return result;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else if(type.equals("register")) {
            try {
                String name = params[1];
                String username = params[2];
                String password = params[3];
                String role = params[4];
                URL url = new URL(register_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(name,"UTF-8") + "&" + URLEncoder.encode("username", "UTF-8")+"="+URLEncoder.encode(username,"UTF-8") + "&" + URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password,"UTF-8") + "&" + URLEncoder.encode("role","UTF-8") + "=" + URLEncoder.encode(role,"UTF-8");
                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String result="";
                String line="";
                while((line = bufferedReader.readLine())!= null) {
                    result += line;
                }
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
                return result;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }

    public interface OnTaskFinishedListener {
        void onTaskFinished(String result);
    }

    // Member property to reference listener.
    private OnTaskFinishedListener mOnTaskFinishedListener;

    // Setter for listener.
    public void setOnTaskFinishedListener(OnTaskFinishedListener listener) {
        mOnTaskFinishedListener = listener;
    }

    @Override
    protected void onPreExecute() {
        alertDialog = new AlertDialog.Builder(context).create();
        alertDialog.setTitle("Login Status");
    }

    @Override
    protected void onPostExecute(String result) {
        alertDialog.setMessage(result);
        alertDialog.show();

        switch (result) {
            case "failed":
                // Login failed.
                break;
            case "user": // Login successful, result (role) is "user"
                result = "user";
                break;
            case "admin": // Login successful, result (role) is "admin"
                result = "admin";
                break;
        }

        if (mOnTaskFinishedListener != null) {
            mOnTaskFinishedListener.onTaskFinished(result);
        }
    }

    @Override
    protected void onProgressUpdate(Void... values) {
        super.onProgressUpdate(values);
    }
}
我被困在这里了,请帮帮我

错误日志

Process: com.example.user.mysqldemo, PID: 1325
java.lang.IllegalStateException: Could not execute method for android:onClick
        at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:275)
        at android.view.View.performClick(View.java:4438)
        at android.view.View$PerformClick.run(View.java:18422)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5001)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
        at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:270)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.NullPointerException
        at com.example.user.mysqldemo.Registration.OnRegister(Registration.java:28)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:270)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
6.Activity_registration.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:padding="10dp">

<TextView
    android:layout_width="wrap_content"
    android:text="Name"
    android:layout_height="wrap_content" />

<EditText
    android:id="@+id/etName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"/>

<TextView
    android:layout_width="wrap_content"
    android:text="Username"
    android:layout_height="wrap_content" />

<EditText
    android:id="@+id/etUsername"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"/>

<TextView
    android:layout_width="wrap_content"
    android:text="Password"
    android:layout_height="wrap_content" />

<EditText
    android:id="@+id/etPassword"
    android:layout_width="match_parent"
    android:inputType="textPassword"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"/>

<TextView
    android:layout_width="wrap_content"
    android:text="Role"
    android:layout_height="wrap_content" />

<EditText
    android:id="@+id/etRole"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"/>

<Button
    android:id="@+id/bRegister"
    android:text="Register"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:onClick="OnRegister"/>


当您添加
android:onClick
属性时,您还必须使
小部件
可单击。将xml更新为

<Button
    android:id="@+id/bRegister"
    android:text="Register"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:onClick="OnRegister"/>

希望这有帮助

更新
此行
UsernameEt=(EditText)findViewById(R.id.etUserName)
是罪魁祸首,因为
注册活动xml
不包含id
etUserName
。它指向其他xml,而此xml包含此id
etUsername

请记录您收到的错误请发布日志刚刚编辑了错误。不确定如何将其设置为stackoverflow的格式。对不起,没关系。那么哪一行是28,哪一个变量是空的?调试器将在registration.java中显示itin。第28行是字符串str_username=usernamet.getText().toString();啊。。你让我在那里激动了一会儿。但不幸的是。它仍然停止工作。。又让我伤心了。。哈哈。不过还是tq。你看到更新的答案了吗
etUserName
应该是
etUserName
,因为活动注册xml不包含
etUserName
ooo。。。我不知道你更新了答案。。我以前在做xml文件。。英雄联盟现在一切正常。谢谢你的帮助。。现在我觉得自己很愚蠢,把大小写都弄乱了。。德米特。。再一次。。