随笔 - 118  文章 - 0 评论 - 0 阅读 - 2906
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

今天我对Android studio连接mysql数据库实现web界面与Android手机端的信息传递做了一些工作     

                 我通过在网络查询,得知Android链接数据库需要5.xx以下版本的数据库,然后需要将打开数据库命令行,打开远程连接功能 GRANT ALL......   

然后再Android界面将jdbc放入到libs文件夹下,并且点击add as 将jdbc添加到本项目中,

在Android项目下的manfests项目里面添加数据库的网络权限,在

MainActivitiy项目中需要添加本机的ip地址,如果使用虚拟机,则使用10.0.2.2作为地址号,

复制代码
package com.example.paiban;

import android.os.Bundle;
import android.util.Log;

import androidx.appcompat.app.AppCompatActivity;

import com.mysql.jdbc.Statement;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Connection.mymysql();

    }

    public class Connection {
        private static final String TAG = "mysql11111";
        java.sql.Connection conn=null;
        public static void mymysql(){
            final Thread thread =new Thread(new Runnable() {
                @Override
                public void run() {

                    while (!Thread.interrupted()) {
                        try {
                            Thread.sleep(100);  // 每隔0.1秒尝试连接
                        } catch (InterruptedException e) {
                            Log.e(TAG, e.toString());
                        }

// 1.加载JDBC驱动
                        try {
                            Class.forName("com.mysql.jdbc.Driver");
                            Log.v(TAG, "加载JDBC驱动成功");
                        } catch (ClassNotFoundException e) {
                            Log.e(TAG, "加载JDBC驱动失败");
                            return;
                        }

                        // 2.设置好IP/端口/数据库名/用户名/密码等必要的连接信息
                     String ip = "10.0.2.2";
                    int port = 3306;
                   String dbName = "jxp";
                   String url = "jdbc:mysql://" + ip + ":" + port
                            + "/" + dbName+"?useUnicode=true&characterEncoding=utf-8&useSSL=false";
                   // 构建连接mysql的字符串
                   String user = "root";
                  String password = "123456";


                        // 3.连接JDBC
                        try {
                            java.sql.Connection conn = DriverManager.getConnection(url, user, password);
                            Log.d(TAG, "数据库连接成功");
                            String sql = "select name from test";
                            Statement st = (Statement) conn.createStatement();
                            ResultSet rs = st.executeQuery(sql);
                            while (rs.next()) {
                                String jxp = rs.getString("name");
                                Log.i("MainActivity", jxp);
                            }
                            conn.close();
                            return;
                        }
                        catch (SQLException e) {
                            Log.e(TAG, e.getMessage());
                        }

                    }
                }
            });
            thread.start();



        }

    }



}
复制代码

 

自此Android连接mysql数据库完成,web可以和android公用同一套数据库。         

 

 

 

 

posted on   满山猩猩我脸最黑  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示