Android studio连接mysql(能踩的坑都踩了)

这篇具有很好参考价值的文章主要介绍了Android studio连接mysql(能踩的坑都踩了)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.都看到这儿了,听我一句劝,mysql版本是8.xxx的就可以卸载重装5.xxx的了(不要侥幸)

2.Android studio用mysql-connector-java用8.xxx的不行,一直报错,原因未知,目前没有教程解决这个问题。所以只能降低mysql的版本。

安装MySQL

安装MySQL:安装教程

1.建议就按照这个教程走,方便后面使用改数据(直接改my.ini),不要直接运行安装程序点点点。

2.安装命令是mysqld install;不是mysql install。一定注意别少了'd',(我手贱自己手敲命令,一直报错,还搜不到原因,还眼瞎在这卡了一天,)

3.安装成功后登录,不要输:mysql -uroot -p密码。要先输:mysql -uroot -p,回车,然后输密码。

4.改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

5.开启远程连接:

 1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' ;
 2. flush privileges; 

 

配置mysql-connector-java

1.下载mysql-connector-java

mysql-connector-java各种版本下载地址:链接

mysql与connector版本对照表:链接

5.7的mysql用5.1的connector就行

加载mysql-connector-java到Android中

将下载好的mysql-connector-java包放入项目中的lib文件夹中,如图:
Android studio连接mysql(能踩的坑都踩了)

一定要点Add As Library,才能加载成功。 

代码

链接数据库只能在子线程中运行,所以一个MainActivity,一个工具类Connection。

(代码网上很多,这个也是抄的,我也不记得抄的谁的了,亲测能用)

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 = "192.168.43.97";
                    int port = 3306;
                    String dbName = "mysql";
                    String url = "jdbc:mysql://" + ip + ":" + port
                            + "/" + dbName+"?useUnicode=true&characterEncoding=utf-8&useSSL=false";
                    // 构建连接mysql的字符串
                    String user = "root";
                    String password = "lyx123";

                    // 3.连接JDBC
                    try {
                        java.sql.Connection conn = DriverManager.getConnection(url, user, password);
                        Log.d(TAG, "数据库连接成功");
                        conn.close();
                        return;
                    }
                    catch (SQLException e) {
                        Log.e(TAG, e.getMessage());
                    }

                }
            }
        });
        thread.start();



    }

}

1.记得改ip(数据库运行的电脑的ip)、数据库名(dbname)、用户名和密码(user、password)。

2.url中部分文章没有加"?useUnicode=true&characterEncoding=utf-8&useSSL=false"也能连接成功,建议加上,能避免很多问题。

3.添加网络权限到Mainfest里面:

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

运行成功:

Android studio连接mysql(能踩的坑都踩了)文章来源地址https://www.toymoban.com/news/detail-408240.html

到了这里,关于Android studio连接mysql(能踩的坑都踩了)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android studio连接mysql数据库

      用Android studio连接Navicat Premium 16管理的mysql,我安装的是mysql5.7.19版本,用的包是mysql-connector-java-5.1.49-bin.jar。   在开始连接前请务必确保MySQL版本不是8.0及以上的版本!!否则会一直报错无法创建连接。   jar包也尽量选择低一些的版本,高版本我没试过,据说新版不

    2024年02月03日
    浏览(43)
  • Python 新手最容易踩的坑

    在学习 Python 的过程中,新手往往会遇到一些常见的陷阱,这些陷阱可能会导致代码错误或者不符合预期。本文将介绍一些 Python 新手最容易踩到的坑,并提供一些解决方案,帮助读者避免这些陷阱。 Python 使用缩进来表示代码块,而不是像其他编程语言那样使用大括号。因此

    2024年04月12日
    浏览(78)
  • 关于虚拟机使用docker踩的坑

    在家码代码,已读不回的求职环境,本来就闹心,结果放个水回来电脑莫名其妙重启了(虚拟机没挂起),虚拟机重启,docker容器可以正常启动,但发现IDEA启动项目失败,各种连接不通。 使用下面命令尝试: Win =≠= docker Windows可以ping通192.169.0.111 ,但访问192.169.0.111:9200不通

    2024年04月16日
    浏览(25)
  • 集成tinyMCE编辑器以及踩的坑

    一、tinyMCE编辑器没有实时更新 场景是这样的,在form表单中引用Tinymce富文本编辑组件,在多次重新打开不同form表单时,form携带的数据没有实时更新到Tinymce内,总是显示上一个的form的数据 原因:Tinymce只渲染了一次,所以造成数据有点问题。所以解决的方法就是利用 v-if 的方

    2024年02月21日
    浏览(44)
  • JAVA开发运维(Jenkins中踩的坑)

    最近尝试通过Jenkins来自动化部署项目,没想到还踩了很多坑。Jenkins部署的基本原理: 通过Jenkins服务器拉取gitlab上的代码进行打包,推送到目标服务器上,并运行启动脚本。 那么Jenkins就要解决三个问题。 1.连接上目标服务器 2.进行打包,并推送到目标服务器对应的目录。

    2023年04月13日
    浏览(56)
  • Android studio连接MySQL并完成简单的登录注册功能

    近期需要完成一个Android项目,那先从与数据库交互最简单的登陆注册开始吧,现记录过程如下: 此篇文章的小demo主要涉及数据库的连接,以及相应信息的查找与插入。 我已将源码上传至GitHub: https://github.com/changyan-maker/LoginApp 首先展示一下完成效果。 数据库设计: 数据库

    2024年01月17日
    浏览(43)
  • Element-ui踩的坑-“CSS样式”

    目录 配置环境 错误方向 解决  总结 pc端 node  16.14.0  npm  8.3.1  vue  @vue/cli 5.0.8 在使用element-ui时,发现有时候可以在控制台利用内置的类来改变节点元素样式,但是当数据一多就无法利用了(即,无效利用),并且,在无效后在其上添加会发现,添加的样式处于所需要绑定

    2024年02月08日
    浏览(38)
  • git中容易踩的坑的“--recursive“选项

    在git的repo中,可能会有子项目的代码,也就是\\\"git中的git\\\" –recursive是递归的意思,不仅会git clone当前项目中的代码,也会clone项目中子项目的代码。 我们有时在git clone的时候漏掉 --recursive选项,导致编译无法通过。比如:LookingGlass项目中 如果没有加 --recursive选项,那么代码库

    2024年02月14日
    浏览(34)
  • 使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

    每个人的前半生,都在不停地做加法。可到了后半生,我们就要学会不断地做减法。 目录 前置工作 1、需要准备的东西 2、连接云服务器 安装Docker环境  1、安装Docker的依赖库。 2、添加Docker CE的软件源信息。  3、安装Docker CE。 4、启动Docker服务。 准备Dockerfile并部署项目(构

    2023年04月08日
    浏览(51)
  • 【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑

    事先说一下,我本地的显卡4070只有12G显存,无法运行本地知识库,我把自己折腾的过程和遇到的坑先记录一下吧,后续如果有算力的话就再跑一遍试试。后续来了:【AI】使用阿里云免费服务器搭建Langchain-Chatchat本地知识库 Langchain-Chatchat曾用名Langchain-ChatGLM,是智谱AI的本地

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包