Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android按钮一次点击更改活动会导致应用程序在这些代码中崩溃_Java_Android_Xml - Fatal编程技术网

Java Android按钮一次点击更改活动会导致应用程序在这些代码中崩溃

Java Android按钮一次点击更改活动会导致应用程序在这些代码中崩溃,java,android,xml,Java,Android,Xml,main活动 这是java的主要活动。此活动包含构造函数。 在“创建时”方法中,它无法正常工作: package com.example.add; 导入androidx.appcompat.app.appcompat活动; 导入android.os.Bundle; 导入android.view.view; 导入android.widget.Button; 导入android.widget.EditText; 导入android.widget.Toast; 公共类MainActivity扩展了Ap

main活动

这是java的主要活动。此活动包含构造函数。 在“创建时”方法中,它无法正常工作:

package com.example.add;
导入androidx.appcompat.app.appcompat活动;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Toast;
公共类MainActivity扩展了AppCompatActivity{
私有编辑文本编辑文本1、编辑文本2;
私人按钮按钮;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnButton();
}
public void addListenerOnButton(){
edittext1=(EditText)findViewById(R.id.edittext1);
edittext2=(EditText)findViewById(R.id.edittext2);
buttonSum=(按钮)findViewById(R.id.Button);
buttonSum.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
字符串名称=edittext1.getText().toString();
字符串年龄=edittext2.getText().toString();
Toast.makeText(getApplicationContext(),(name),Toast.LENGTH_LONG.show();
Toast.makeText(getApplicationContext(),(age),Toast.LENGTH\u LONG.show();
//if(name!=null&&age!=null){
//int age=Integer.parseInt(edittext2.getText().toString());
//字符串a=String.valueOf(名称);
//intb=Integer.parseInt(String.valueOf(Integer.parseInt(age)));
//DBConnect connect=新的DBConnect();
新数据库连接(姓名、年龄);
//连接。插入(姓名、年龄);
//connect.getData();//}else
//{System.out.println(“错误:找不到数据”);}
}
});
}
}
DBConnect.java

package com.example.add;
导入android.widget.Toast;
导入androidx.appcompat.app.appcompat活动;
导入java.sql.*;
公共类DBConnect扩展AppCompatActivity实现插入{
//私人连接;
私人连接;
非公开声明st;
私人结果集;
公共数据库连接(字符串名称、字符串期限){
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/test“,”根“,”);
st=con.createStatement();
}捕获(例外情况除外){
System.out.println(“错误:+ex”);
}
//}
//公共空白插入(字符串x、字符串y){
试一试{
//串龄=y;
//字符串名称=x;
String insert=“insert into person set age='”+age+”,name='“+name+”;”;
st=con.createStatement();
st.executeUpdate(插入);
}捕获(SQLE异常){
系统错误println(e);
}
}
私有void getData(){
试一试{
String query=“select*from person”;
rs=st.executeQuery(查询);
System.out.println(“来自数据库的记录”);
while(rs.next()){
String Sr=rs.getString(“id”);
字符串名称=rs.getString(“名称”);
字符串年龄=rs.getString(“年龄”);
//System.out.println(“Srno.:”+Sr++“Name:”+Name++“Age:”+Age”);
//字符串和=;
Toast.makeText(getApplicationContext(),String.valueOf(Sr),Toast.LENGTH\u LONG.show();
}
}捕获(例外情况除外){
系统输出打印项次(ex);
}
}
}


我希望这对您有用

按钮点击监听器写像这样

buttonSum.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = edittext1.getText().toString();
                String age = edittext2.getText().toString();
                if (name != null && age != null) {
                     new DBConnect(name, Integer.parseInt(age));
              }
          }
     });
DBConnect()
这样的方法

public DBConnect(String name,int age) {

        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
            st = con.createStatement();
            String insert = "insert into person set age='" + age + "',name='" + name + "';";
            st = con.createStatement();
            st.executeUpdate(insert);
        } catch (Exception ex) {
            System.out.println("Error: " + ex);
        }
    }

确保已连接到插入记录。

请发布堆栈跟踪。没有堆栈跟踪,代码不可读(需要格式化)
buttonSum.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = edittext1.getText().toString();
                String age = edittext2.getText().toString();
                if (name != null && age != null) {
                     new DBConnect(name, Integer.parseInt(age));
              }
          }
     });
public DBConnect(String name,int age) {

        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
            st = con.createStatement();
            String insert = "insert into person set age='" + age + "',name='" + name + "';";
            st = con.createStatement();
            st.executeUpdate(insert);
        } catch (Exception ex) {
            System.out.println("Error: " + ex);
        }
    }