Android连接MySql数据库代码
时间: 2023-10-16 12:09:02 浏览: 40
以下是一个简单的Android连接MySQL数据库的示例代码:
```java
import java.sql.*;
public class MySQLConnectionHandler {
private static final String DATABASE_URL = "jdbc:mysql://your_database_url:port/your_database_name";
private static final String DATABASE_USERNAME = "your_database_username";
private static final String DATABASE_PASSWORD = "your_database_password";
public static Connection getConnection() {
Connection connection = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(DATABASE_URL, DATABASE_USERNAME, DATABASE_PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return connection;
}
public static void closeConnection(Connection connection) {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
上面的代码使用了JDBC驱动程序连接到MySQL数据库。你需要在代码中替换`DATABASE_URL`、`DATABASE_USERNAME`和`DATABASE_PASSWORD`为你自己的数据库连接信息。
以下是在Android活动中使用上面的代码来查询数据库的示例代码:
```java
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new DatabaseQueryTask().execute();
}
private class DatabaseQueryTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... voids) {
Connection connection = MySQLConnectionHandler.getConnection();
if (connection != null) {
try {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM your_table_name");
while (resultSet.next()) {
String data = resultSet.getString("column_name");
Log.d(TAG, "Data: " + data);
}
resultSet.close();
statement.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
MySQLConnectionHandler.closeConnection(connection);
}
}
return null;
}
}
}
```
上面的代码在AsyncTask中执行了数据库查询操作,并使用Logcat输出了查询结果。你需要在代码中将`your_table_name`和`column_name`替换为你自己的表名和列名。
请注意,上面的代码仅提供了一个基本的示例,你需要根据你的应用程序需求进行修改和优化。