在Android中连接MySQL数据库需要通过网络访问API来操作数据库,在此之前你需要在服务器上创建一个API,通过API来连接和操作MySQL数据库。
以下是一个示例代码,用于在Android中通过WebView连接MySQL数据库并执行查询操作:
-
首先在Android项目的
AndroidManifest.xml
文件中添加Internet权限:<uses-permission android:name="android.permission.INTERNET" />
- 在
MainActivity.java
中创建WebView,并启用JavaScript支持:
import android.webkit.WebSettings;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.loadUrl("file:///android_asset/index.html");
}
- 在
assets
文件夹中创建index.html
文件,并在其中编写JavaScript代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Connect to MySQL</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<script>
// 连接数据库
var url = "jdbc:mysql://your_server_ip:your_server_port/your_database_name";
var user = "your_mysql_user";
var password = "your_mysql_password";
function connect() {
$.ajax({
url: "http://your_server_ip:your_server_port/your_api_url",
type: "GET",
data: {
action: "connect",
url: url,
user: user,
password: password
},
dataType: "jsonp",
jsonp: "callback",
success: function(response) {
if (response.success) {
alert("数据库连接成功");
} else {
alert("数据库连接失败");
}
}
});
}
// 执行查询
function query() {
$.ajax({
url: "http://your_server_ip:your_server_port/your_api_url",
type: "GET",
data: {
action: "query",
sql: "SELECT * FROM your_table_name"
},
dataType: "jsonp",
jsonp: "callback",
success: function(response) {
if (response.success) {
var result = response.result;
alert(JSON.stringify(result));
} else {
alert("查询失败");
}
}
});
}
</script>
<button onclick="connect()">连接数据库</button>
<button onclick="query()">执行查询</button>
</body>
</html>
- 在服务器上创建一个API来接收Android端的请求并执行相应的数据库操作。可以使用Java或其他服务器端语言编写。
这里只是提供了一个基本的思路,实际上需要更多的安全认证和数据处理等。此外,连接MySQL数据库的方式有很多种,你可以根据自己的需求选择合适的方式进行操作。
在Android中,连接MySQL数据库的常用操作步骤如下:
- 在项目的”app/build.gradle”文件中添加MySQL数据库驱动依赖项。例如:
dependencies {
implementation 'mysql:mysql-connector-java:8.0.23'
}
- 在AndroidManifest.xml文件中添加访问互联网的权限。例如:
<uses-permission android:name="android.permission.INTERNET" />
- 创建一个连接MySQL数据库的类,例如
MySQLConnection
,并在其中定义连接和操作数据库的方法。以下是一个简单的示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MySQLConnection {
private static final String URL = "jdbc:mysql://<服务器地址>:<端口>/<数据库名>?useSSL=false";
private static final String USERNAME = "<用户名>";
private static final String PASSWORD = "<密码>";
private Connection connection;
public MySQLConnection() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
public void closeConnection() {
try {
if (connection != null && !connection.isClosed()) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public ResultSet executeQuery(String sql) {
try {
PreparedStatement statement = connection.prepareStatement(sql);
return statement.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public int executeUpdate(String sql) {
try {
PreparedStatement statement = connection.prepareStatement(sql);
return statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
}
- 在需要连接MySQL数据库的地方,创建一个
MySQLConnection
对象,并调用相关方法进行操作。例如:
MySQLConnection connection = new MySQLConnection();
ResultSet resultSet = connection.executeQuery("SELECT * FROM your_table");
if (resultSet != null) {
while (resultSet.next()) {
// 处理查询结果
String value = resultSet.getString("column_name");
}
}
connection.closeConnection();
请注意,以上示例中的<服务器地址>
、<端口>
、<数据库名>
、<用户名>
和<密码>
需要替换为实际的数据库连接信息。
另外,建议在进行数据库操作时,将其放在后台线程中执行,以避免阻塞主线程。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/137119.html