千家信息网

android可以使用mysql吗

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,android可以使用mysql吗?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!android可以使用mysql数据
千家信息网最后更新 2026年11月03日android可以使用mysql吗

android可以使用mysql吗?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

android可以使用mysql数据库,android连接数据库的方式有两种。

第一种是通过连接服务器,再由服务器读取数据库来实现数据的增删改查,这也是我们常用的方式。

第二种方式是android直接连接数据库,这种方式非常耗手机内存,而且容易被反编译造成安全隐患,所以在实际项目中不推荐使用。

1.加载外部jar包

在Android工程中要使用jdbc的话,要导入jdbc的外部jar包,因为在Java的jdk中并没有jdbc的api,我使用的jar包是mysql-connector-java-5.1.18-bin.jar包,网络上有使用mysql-connector-java-5.1.18-bin.jar包的,自己去用的时候发现不兼容,所以下载了比较新版本的,jar包可以去官网下载,也可以去百度,有很多前人们上传的。

2.导入jar包的方式

方式一:

可以在项目的build.gradle文件中直接添加如下语句导入

compile files('libs/mysql-connector-java-5.1.18-bin.jar')

方式二:下载jar包复制到项目的libs目录下,然后右键复制过来的jar包Add as libs

三.建立数据库连接

protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_jdbc);    new Thread(runnable).start();}Handler myHandler=new Handler(){    public void handleMessage(Message msg) {        // TODO Auto-generated method stub        super.handleMessage(msg);        Bundle data=new Bundle();        data=msg.getData();        //System.out.println("id:"+data.get("id").toString());    //输出第n行,列名为"id"的值        Log.e("TAG","id:"+data.get("id").toString());       TextView tv= (TextView) findViewById(R.id.jdbc);        //System.out.println("content:"+data.get("content").toString());    }};Runnable runnable=new Runnable() {    private Connection con = null;    @Override    public void run() {        // TODO Auto-generated method stub        try {            Class.forName("com.mysql.jdbc.Driver");            //引用代码此处需要修改,address为数据IP,Port为端口号,DBName为数据名称,UserName为数据库登录账户,Password为数据库登录密码            con =                    //DriverManager.getConnection("jdbc:mysql://192.168.1.202:3306/b2b", "root", "");            DriverManager.getConnection("jdbc:mysql://http://192.168.1.100/phpmyadmin/index.php:8086/b2b",                    UserName,Password);        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        try {            testConnection(con);    //测试数据库连接        } catch (java.sql.SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    public void testConnection(Connection con1) throws java.sql.SQLException {        try {            String sql = "select * from ecs_users";        //查询表名为"oner_alarm"的所有内容            Statement stmt = con1.createStatement();        //创建Statement            ResultSet rs = stmt.executeQuery(sql);          //ResultSet类似Cursor            //ResultSet最初指向第一行            Bundle bundle=new Bundle();            while (rs.next()) {                bundle.clear();                bundle.putString("id",rs.getString("userid"));                //bundle.putString("content",rs.getString("content"));                Message msg=new Message();                msg.setData(bundle);                myHandler.sendMessage(msg);            }            rs.close();            stmt.close();        } catch (SQLException e) {        } finally {            if (con1 != null)                try {                    con1.close();                } catch (SQLException e) {}        }    }};

注意:

在Android4.0之后,不允许在主线程中进行比较耗时的操作(连接数据库就属于比较耗时的操作),需要开一个新的线程来处理这种耗时的操作,没新线程时,一直就是程序直接退出,开了一个新线程处理直接,就没问题了。

当然,连接数据库是需要网络的,千万别忘了添加访问网络权限:

四.bug点

1.导入的jar包一定要正确

2.连接数据库一定要开启新线程

3.数据库的IP一定要是可以ping通的,局域网地址手机是访问不了的

4.数据库所在的服务器是否开了防火墙,阻止了访问

感谢各位的阅读!看完上述内容,你们对android可以使用mysql吗大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注行业资讯频道。

数据 数据库 方式 内容 线程 服务器 网络 问题 项目 服务 手机 文章 处理 登录 一行 人们 代码 内存 口号 名称 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 伟宏互联网科技 江苏根荣互联网科技 科技企业和互联网企业 易通互联网络科技有限公司 上海电发互联网科技有限公司 开启互联网科技时代小说 深圳市运趣互联网科技有限公司 互联网时代科技改变生活 互联网时代的科技公司 上海科技产业互联网平台 互联网科技实习生岗位 本届互联网大会上的黑科技 工业互联网科技创业 广州互联网高科技取餐柜 广州有谷有贝互联网科技有限公司 互联网科技机房 北京军民互联网科技公司 互联网科技创新方面的资料 互联网大会出现的黑科技 科技互联网企业 互联网科技公司税收优惠 互联网的科技创新 金融科技与互联网金融相同和不同 广州恒生互联网科技有限 移动互联网年度科技创新 哈尔滨屹滨互联网科技有限公司 深圳育鹏互联网科技有限公司招聘 南通创西澳互联网科技有限公司 青岛互联网科技园
0