android访问电脑数据库_Android

在Android中访问电脑数据库,可以使用以下步骤:

android访问电脑数据库_Android
(图片来源网络,侵删)

1、安装MySQL JDBC驱动

首先需要在电脑上安装MySQL数据库,并下载对应的JDBC驱动(mysqlconnectorjava),将下载的jar包放到项目的libs目录下。

2、添加网络权限

在AndroidManifest.xml文件中添加网络权限:

“`xml

<usespermission android:name="android.permission.INTERNET" />

“`

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<String> dataList = new ArrayList<>();

private ArrayAdapter<String> 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(); // 刷新列表显示数据更新后的结果集内容,如果数据没有变化,可以省略这一步。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/679975.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希
上一篇 2024-06-10 10:54
下一篇 2024-06-10 10:58

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入