Android stuidio连接mySql数据库之踩坑篇(小白也可来看看) - Go语言中文社区

Android stuidio连接mySql数据库之踩坑篇(小白也可来看看)


       前一阵写了个关于数据库同步的小实例,当时的mysql连接出现了问题,就是连不上。当时由于在做一个小项目,就放在那了。做完项目,开始重新解决问题。经过了一天。终于把问题解决了,最后竟然发现是版本的问题。用的是8.0版本的mysql库与jar包,但是却不太行。当时就感觉可能是版本的问题,于是就上网上找以前的版本,也是费了很大的劲才找到。下面是博主测试成功的mysql与mysql 的jar包(测试的日期是2019/11/22)//这里给上测试的日期,怕以后可能老版的MySQL就没法用了。

链接:https://pan.baidu.com/s/1MXT7iuwoI1OEutkKa0NxKw 
提取码:v3bt 
复制这段内容后打开百度网盘手机App,操作更方便哦

先来说关于mysql的安装,点开里面的安装包

       这里选择第三个(自定义安装),可以看到安装的地址。点next之后可以看到下面的页面

除了博主截图的地方需要改一下,剩下的都next就行啦。

这就是关于mysql的安装啦

下面介绍关于jar包的导入。//虽然很简单但还是说一下把,毕竟博客是面向新手的啊。

将其粘贴到app下的libs文件中,点击右键,点击Add As Library就可以啦。

下面介绍一下关于数据库的初始化问题

博主这里用的是Navicat 12 for MySQL来用图形化界面操作mysql的,进去后点击连接输入账号密码,密码是刚才安装的时候

搜索cmd进入命令行。然后cd为进入文件夹,进入刚才安装时输入的,账号默认是root。输入之后点确定就行了。

连上之后点击用户,然后你会看见有一个root的用户,双击进去

把里面的主机改成%,这样就可以通过虚拟机来访问了。到这里,对mysql的配置结束了就。

下面回到Android studio中,先添加权限。

//注意:这里很重要,博主试不同版本的jar包的时候,新建工程的时候就总忘加入权限。<难受>

主页面的代码很简单,只有一个button(这里为了,简洁,只展示一下mysql的连接,关于对数据的处理:增删改查就不难啦)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮"/>
    
</LinearLayout>

然后是java代码部分


import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;

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

public class MainActivity extends AppCompatActivity {
    private static String driver = "com.mysql.jdbc.Driver";// MySql驱动
    //192.168.1.103为我电脑的ip,这里要用自己电脑的ip,mydata为我电脑的数据库名,也要换。
    private static String url = "jdbc:mysql://192.168.1.103:3306/mydata?serverTimezone=UTC";
    private static String user = "root";// 用户名
    private static String password = "123123";// 密码
    Connection connection;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);
        //这里为button的点击事件。
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        connection = null;
                        try {
                            Log.e("", "现在开始连接");
                            Class.forName(driver).newInstance();
                            connection = (Connection) DriverManager.getConnection(url, user, password);
                            //coonection如果为空那么说明连接没有连上,不为空说明连上了。
                            if (connection == null) {
                                Log.e("", "连接失败");
                            } else {
                                Log.e("", "连接成功");
                            }
                        } catch (SQLException e) {
                            e.printStackTrace();
                        } catch (ClassNotFoundException e) {
                            e.printStackTrace();
                        } catch (IllegalAccessException e) {
                            e.printStackTrace();
                        } catch (InstantiationException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
            }
        });
    }

}

//这里有还有需要注意的点就是,关于包的引用,要用jdbc中的。还有这里因为访问数据库,是耗时操作所以需要新建线程,这里是日志所以可以在子线程里进行,但是如果之后进行查询更新IU的话得回到主线程中更新。

以上就是关于mysql的连接啦,像增删改查之类的操作都比较简单,连接很重要,连接很重要,连接很重要!!!

//如果博客有不对的,或者有疑问的,或者不明白的,都可以私信或者评论啊。博主会实时关注的。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_29226403/article/details/103214832
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 18:15:57
  • 阅读 ( 918 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢