Java 屏幕冻结,应用程序退出

Java 屏幕冻结,应用程序退出,java,android,sql,Java,Android,Sql,我试图在点击按钮后向mysql数据库发送一些信息,但我的屏幕冻结,然后退出。 代码如下: b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { new SendInfo(email.getText().toString(

我试图在点击按钮后向mysql数据库发送一些信息,但我的屏幕冻结,然后退出。 代码如下:

    b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) 
        {
            try
            {
                new SendInfo(email.getText().toString(),password.getText().toString());
            }catch(Exception e){
                error.setText((CharSequence) e);
            }

        }
    });
下面是SendInfo类:

public SendInfo(String email, String pass) throws Exception
{
    Connection conn = null;
    String url = "jdbc:mysql://ip...:3306/"; // info changed
    String dbName = "db"; //info changed
    String driver = "com.mysql.jdbc.Driver";
    String userName = "user"; //info changed
    String password = "pass"; //info changed
    String table = "users";

    Class.forName(driver).newInstance();
    DriverManager.setLoginTimeout(100);
    conn = DriverManager.getConnection(url+dbName,userName,password);

    Statement st = conn.createStatement();
    java.util.Calendar cal = java.util.Calendar.getInstance();
    java.util.Date utilDate = cal.getTime();
    java.sql.Date sqlDate = new Date(utilDate.getTime());

    st.executeUpdate("INSERT INTO users VALUES('1','Komal','asd',"+sqlDate+")");
    conn.close();

}

我甚至没有使用我得到的值作为参数来简化操作,但它仍然不起作用。

看起来下面这行代码导致了错误:

error.setText((CharSequence) e);
换成

error.setText(e.toString());

已修复。

您的日志显示什么?是否显示“应用程序无响应”对话框?看起来您正试图在主线程上执行网络操作…看起来您正在UI线程上执行阻塞操作。那是玩火。UI线程是第三条轨道,触摸它,Android可能会当场决定炒掉你的应用程序。