首页 > 数据库 >在Android Studio中如何从MySQL数据库中展示项目中的数据?

在Android Studio中如何从MySQL数据库中展示项目中的数据?

时间:2023-11-13 12:32:35浏览次数:35  
标签:java name sql private Studio MySQL import Android id

要在Android Studio中从MySQL数据库展示项目中的数据,你需要遵循以下步骤:

1. 添加MySQL Connector/J依赖项到你的项目的build.gradle文件中:

```groovy
 dependencies {
     implementation 'mysql:mysql-connector-java:8.0.23'
 }
 ```

2. 在AndroidManifest.xml文件中添加INTERNET权限:

```xml
 <uses-permission android:name="android.permission.INTERNET" />
 ```

3. 创建一个用于连接MySQL数据库的类,例如`DatabaseHelper.java`:

```java
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;public class DatabaseHelper {
     private static final String URL = "jdbc:mysql://your_server_ip:3306/your_database_name";
     private static final String USERNAME = "your_username";
     private static final String PASSWORD = "your_password";    public static Connection getConnection() {
         Connection connection = null;
         try {
             Class.forName("com.mysql.cj.jdbc.Driver");
             connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
         } catch (ClassNotFoundException | SQLException e) {
             e.printStackTrace();
         }
         return connection;
     }
 }
 ```

4. 创建一个用于执行SQL查询并返回结果集的类,例如`DataModel.java`:

```java
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;public class DataModel {
     private int id;
     private String name;    public DataModel(int id, String name) {
         this.id = id;
         this.name = name;
     }    // Getter and Setter methods for id and name
 }
 ```

5. 在你的主Activity中,使用`DatabaseHelper`类连接到MySQL数据库,并执行查询以获取数据:

```java
 import androidx.appcompat.app.AppCompatActivity;
 import android.os.Bundle;
 import android.widget.ArrayAdapter;
 import android.widget.ListView;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 ArrayAdapter<DataModel> adapter;
     private List<DataModel> dataList;    @Override     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);        listView = findViewById(R.id.listView);
         dataList = new ArrayList<>();
         adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList);
         listView.setAdapter(adapter);        connectToDatabase();
     }    private void connectToDatabase() {
         String query = "SELECT * FROM your_table_name";
         try {
             Connection connection = DatabaseHelper.getConnection();
             Statement statement = connection.createStatement();
             ResultSet resultSet = statement.executeQuery(query);            while (resultSet.next()) {
                 int id = resultSet.getInt("id");
                 String name = resultSet.getString("name");
                 DataModel dataModel = new DataModel(id, name);
                 dataList.add(dataModel);
             }            resultSet.close();
             statement.close();
             connection.close();
         } catch (SQLException e) {
             e.printStackTrace();
         }
     }
 }
 ```

6. 最后,确保你的`activity_main.xml`布局文件中包含一个`ListView`:

```xml
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
     tools:context=".MainActivity">    <ListView
         android:id="@+id/listView"
         android:layout_width="match_parent"
         android:layout_height="wrap_content" /></LinearLayout>
 ```

现在,当你运行应用程序时,它将连接到MySQL数据库并从表中获取数据,然后在`ListView`中显示这些数据。

标签:java,name,sql,private,Studio,MySQL,import,Android,id
From: https://blog.51cto.com/M82A1/8341474

相关文章

  • 正确的语法来在Node中查询MYSQL中的JSON_SET
    在Node.js中,我们可以使用mysql模块来查询MySQL数据库。但是,mysql模块并不直接支持JSON_SET函数,这是一个MySQL特有的函数,用于在JSON文档中插入或更新值。如果你需要在Node.js中使用JSON_SET,你可能需要使用mysql的预处理语句和JSON_EXTRACT函数来实现。以下是一个示例:varmysql=req......
  • 三年Android开发怒怼某大厂HR,怒刷1549页面试题科大上岸
    最近,有个读者联系了我和我诉说了最近他面试碰到的一件很气愤的事情。为什么方便就称呼小华了。小华目前是三年Android开发,从上个月就开始一直在找工作,因为今年的大环境不好,面试的时候也是处处碰壁,面一家挂一家,面完之后怀疑自我,是不是自己真的太菜了找不到工作。但是也没有气馁多久,......
  • Android并发编程高级面试题汇总(含详细解析 二)
    Android并发编程高级面试题汇总最全最细面试题讲解持续更新中......
  • t05_Mysql_yml驱动配置
    mysql-properties#mysql5驱动com.mysql.jdbc.Driverspring.datasource.username=rootspring.datasource.password=rootspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&userUnicode=true&characterEncoding=utf-8spring.datasour......
  • Brew安装的MySQL8.0忘记密码修改密码
    #查看my.ini位置$mysqld--help--verbose|more#找到这一行,挨个试试,看存不存在#/etc/my.cnf/etc/mysql/my.cnf/usr/local/etc/my.cnf~/.my.cnf$ls/etc/my.cnfls:/etc/my.cnf:Nosuchfileordirectory$ls/etc/mysql/my.cnfls:/etc/mysql/my.cnf:Nos......
  • 为什么MySQL不建议使用delete删除数据?
    MySQL并不直接建议禁止使用DELETE语句删除数据,但是在某些情况下,使用DELETE可能会带来一些潜在的问题,特别是在大型数据库中。下面我将详细介绍为什么在某些情况下MySQL不建议过度使用DELETE语句来删除数据,并探讨其可能带来的影响。1.DELETE操作的影响DELETE语句用于从表中删除......
  • Android 文件绝对路径和Content开头的Uri互相转换
    最近在做一个项目时,需要做一个九宫格选择图片上传的功能,最后拿到的图片地址是文件的绝对路径地址,我需要的是Content开头的Uri,所以需要做一个转换查阅资料找到如下方法,代码如下://路径文件转成URIpublicstaticUrigetImageContentUri(Contextcontext,java.io.FileimageFile)......
  • 4 种 MySQL 同步 ES 方案
    本文会先讲述数据同步的4种方案,并给出常用数据迁移工具1.前言在实际项目开发中,我们经常将MySQL作为业务数据库,ES作为查询数据库,用来实现读写分离,缓解MySQL数据库的查询压力,应对海量数据的复杂查询。这其中有一个很重要的问题,就是如何实现MySQL数据库和ES的数据同步,......
  • 鸿蒙原生应用开发-DevEco Studio中HarmonyOS与OpenHarmony项目的切换
    一、找到该目录二、修改操作系统类型三、分别进行开发,一些常规的应用功能实现后,相互切换后都可以正常运行的。前期OpenHarmony项目如果连接开发板比较困难的化,开发完成后,切换成为HarmonyOS后就可以比较详细地看看效果了。......
  • 【MySQL】MySQL中的锁
    全局锁全局锁是对整个数据库实例加锁,整个库处于只读状态。flushtableswithreadlock适用场景全局锁适用于做全库逻辑备份,但是整个库处于只读状态,在备份期间,所有的更新操作、DDL将会被阻塞,会对业务产生影响。single-transactionmysqldump备份时可以使用–single-transa......