赞
踩
首先下载的是MySqll的驱动,连接数据库的驱动版本有一定的要求,比如我的安卓版本是2022.1.1的,试过了所有的版本MySql连接驱动都不行,试了三天人都快疯了,最后发现5.1.8的驱动文件可以用。
链接:https://pan.baidu.com/s/1h51kWSxj5xLABgiFLdXm3g
提取码:1234
将驱动文件复制后点击paste粘贴
创建libs包存放外部包,导入成功
将驱动文件导入后点击Add As Library即可
接下来到代码方面
注意:主线程上进行网络连接操作会报错,而在Android中,主线程是UI线程,不允许进行耗时的网络操作。这可能导致应用程序崩溃或无法建立数据库连接。所以我们应该在后台线程上执行数据库连接操作。使用异步任务(AsyncTask)或线程(Thread)来在后台执行连接操作。这里使用AsyncTask。
- private class ConnectToDatabaseTask extends AsyncTask<Void, Void, Connection> {
- @Override
- protected Connection doInBackground(Void... voids) {
- Connection connection = null;
- try {
- Class.forName("com.mysql.jdbc.Driver");
- connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
- } catch (ClassNotFoundException | SQLException e) {
- e.printStackTrace();
- }
- return connection;
- }
-
- @Override
- protected void onPostExecute(Connection connection) {
- // 在连接完成后的回调方法中进行其他数据库操作
- if (connection != null) {
- // 进行其他数据库操作...
- }
- }
- }
在onCreate
方法中,你可以使用以下代码启动异步任务:
new ConnectToDatabaseTask().execute();
这样就可以将数据库连接操作移至后台线程,避免了主线程上的网络操作异常。
请注意,为了确保数据库连接的安全性和性能,请务必遵循最佳实践,包括使用连接池、正确关闭数据库连接等。这里就先进行简单连接。
以下为数据库连接的完整代码:
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
-
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
-
- public class MainActivity extends AppCompatActivity {
-
- private static final String URL = "jdbc:mysql://your_mysql_server_ip:port/your_database_name";
- private static final String USERNAME = "your_username";
- private static final String PASSWORD = "your_password";
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- // 启动异步任务执行数据库连接操作
- ConnectToDatabaseTask connectTask = new ConnectToDatabaseTask();
- connectTask.execute();
- }
-
- private class ConnectToDatabaseTask extends AsyncTask<Void, Void, Connection> {
-
- @Override
- protected Connection doInBackground(Void... params) {
- Connection connection = null;
- try {
- Class.forName("com.mysql.jdbc.Driver");
- connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
- } catch (ClassNotFoundException | SQLException e) {
- e.printStackTrace();
- }
- return connection;
- }
-
- @Override
- protected void onPostExecute(Connection connection) {
- // 在连接完成后的回调方法中进行其他数据库操作
- if (connection != null) {
- // 进行其他数据库操作...
- }
- }
- }
- }
这里简单测试一下数据库是否连接成功:
如果连接非空,则输出:你好
- if (connection != null) {
- System.out.println("你好");
- // 进行其他数据库操作...
- }
连接成功
附:要进行数据库的相关操作在,比如增删改查
if (connection != null) { System.out.println("你好"); // 进行其他数据库操作... }
以上就是进行数据库连接的操作
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。