返回列表 发新帖

android访问电脑数据库_Android

[复制链接]

8

主题

26

帖子

26

积分

新手上路

Rank: 1

积分
26
发表于 2024-10-23 01:05:06  | 显示全部楼层 | 阅读模式
在Android中访问电脑数据库,可以使用以下步骤:

zbhjw3c5cvf4tsd.png

zbhjw3c5cvf4tsd.png


(图片来源网络,侵删)
1、安装MySQL JDBC驱动
   首先需要在电脑上安装MySQL数据库,并下载对应的JDBC驱动(mysqlconnectorjava),将下载的jar包放到项目的libs目录下。
2、添加网络权限
   在AndroidManifest.xml文件中添加网络权限:
   “`xml
   
   “`
3、编写代码连接数据库
   创建一个类(如DBHelper),用于连接数据库:
   “`java
   import java.sql.Connection;
   import java.sql.DriverManager;
   import java.sql.ResultSet;
   import java.sql.Statement;
   public class DBHelper {
       private static final String URL = "jdbc:mysql://电脑IP地址:端口号/数据库名";
       private static final String USER = "用户名";
       private static final String PASSWORD = "密码";
       public static Connection getConnection() {
           Connection conn = null;
           try {
               Class.forName("com.mysql.jdbc.Driver");
               conn = DriverManager.getConnection(URL, USER, PASSWORD);
           } catch (Exception e) {
               e.printStackTrace();
           }
           return conn;
       }
   }
   “`
4、查询数据
   在需要查询数据的Activity中,调用DBHelper类的getConnection方法获取数据库连接,然后执行SQL语句并处理结果集:
   “`java
   import android.os.Bundle;
   import android.widget.ArrayAdapter;
   import android.widget.ListView;
   import androidx.appcompat.app.AppCompatActivity;
   import java.sql.Connection;
   import java.sql.ResultSet;
   import java.sql.Statement;
   import java.util.ArrayList;
   import java.util.List;
   public class MainActivity extends AppCompatActivity {
       private ListView listView;
       private List dataList = new ArrayList();
       private ArrayAdapter adapter;
       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);
           listView = findViewById(R.id.listView);
           adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, dataList);
           listView.setAdapter(adapter);
           getDataFromDB();
       }
       private void getDataFromDB() {
           Connection connection = null;
           Statement statement = null;
           ResultSet resultSet = null;
           try {
               connection = DBHelper.getConnection();
               statement = connection.createStatement();
               resultSet = statement.executeQuery("SELECT * FROM tableName");
               while (resultSet.next()) {
                   String data = resultSet.getString("columnName"); // 根据实际表结构修改列名和类型
                   dataList.add(data);
               }
           } catch (Exception e) {
               e.printStackTrace();
           } finally {
               try {
                   if (resultSet != null) {
                       resultSet.close();
                   }
                   if (statement != null) {
                       statement.close();
                   }
                   if (connection != null) {
                       connection.close();
                   }
               } catch (Exception e) {
                   e.printStackTrace();
               }
           }
           adapter.notifyDataSetChanged(); // 刷新列表显示数据更新后的结果集内容,如果数据没有变化,可以省略这一步。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表