iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >android可以使用mysql吗
  • 144
分享到

android可以使用mysql吗

2024-04-02 19:04:59 144人浏览 八月长安
摘要

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

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
            //<code>ResultSet</code>最初指向第一行
            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之后,不允许在主线程中进行比较耗时的操作(连接数据库就属于比较耗时的操作),需要开一个新的线程来处理这种耗时的操作,没新线程时,一直就是程序直接退出,开了一个新线程处理直接,就没问题了。

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

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

四.bug点

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

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

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

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

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

您可能感兴趣的文档:

--结束END--

本文标题: android可以使用mysql吗

本文链接: https://www.lsjlt.com/news/52698.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • android可以使用mysql吗
    android可以使用mysql吗?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧! android可以使用mysq...
    99+
    2024-04-02
  • chatgpt国内可以使用吗
    chatgpt国内可以使用,chatgpt在国内可以使用,但不能注册,港澳也不行,用户想要注册的话,可以使用国外的手机号进行注册,注...
    99+
    2023-02-08
    chatgpt
  • 钉钉可以做erp使用吗
    那么,使用钉钉进行ERP使用是否可以呢?在笔者的经验来看,是可以的。下面是我的建议。 首先,钉钉提供了许多功能和工具,可以帮助企业更好地管理其ERP系统。例如,钉钉提供了“任务管理”功能,可以让员工更方便地管理其工作任务和进度。还有“工作...
    99+
    2023-10-28
    erp
  • mysql字段可以为空吗
    mysql字段可以为空,原因有:1、数据的可选性,某些字段的值可能是可选的,不是每条记录都需要提供该字段的值;2、数据完整性,某些字段的值可能是未知或暂时不可用的,允许字段为空可以保持数据的完整性;3、数据迁移和兼容性,在进行数据迁移或与其...
    99+
    2023-07-25
  • 云服务器可以用gpu吗手机可以用吗
    云服务器可以使用 GPU,这对于需要进行大规模计算和深度学习的应用程序非常有用。GPU 可以提供比传统 CPU 更快的计算速度和更好的并行处理能力,因此在处理大量数据时非常有用。许多云服务提供商都提供 GPU 实例,例如 Amazon We...
    99+
    2023-10-26
    可以用 服务器 手机
  • 我们可以在 MySQL 过程中使用“IF NOT IN”吗?
    让我们首先看看 MySQL 中 IF NOT IN 的语法 -if(yourVariableName NOT IN (yourValue1,yourValue2,........N) ) then statement1 else ...
    99+
    2023-10-22
  • 可以在css中使用变量吗
    这篇文章将为大家详细讲解有关可以在css中使用变量吗,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CSS 变量当前有两种形式:变量,就是拥有合法标识符和合法的值。可以被使用在任意的地方。可以...
    99+
    2023-06-14
  • jquery可以用this吗
    本教程操作环境:windows7系统、jquery3.6.1版本、Dell G3电脑。jquery可以用this。jquery中,this表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性、方法。例如:this.cla...
    99+
    2023-05-14
    this jquery javascript
  • mysql中主键可以为空吗
    mysql中的主键不能为空,因为这会违反唯一性约束,影响数据完整性,并降低查询性能。唯一允许主键中包含null值的情况是自动递增列和组合主键中某些列为空。 MySQL 中主键可以为空吗...
    99+
    2024-04-26
    mysql
  • sql中where可以使用别名吗
    sql 中 where 子句中使用别名 在 SQL 中,WHERE 子句用于根据特定条件来筛选和限制查询结果。在使用 WHERE 子句时,通常需要引用表中的列名...
    99+
    2024-05-07
  • php可以使用正则表达式吗
    这篇文章主要为大家展示了“php可以使用正则表达式吗”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php可以使用正则表达式吗”这篇文章吧。可以,php能用正则表达式,在PHP中可以使用PCRE扩...
    99+
    2023-06-22
  • SSL证书可以跨平台使用吗
    是的,SSL 证书可以跨平台使用。无论你使用的是哪种操作系统(如Windows、Linux、macOS等),或者哪种服务器软件(如A...
    99+
    2024-04-17
    SSL证书
  • oracle数据库可以免费使用吗
    是的,oracle 数据库可以免费使用。oracle 提供多种免费选项,包括:1. oracle database xe(适用于小型企业和开发者);2. oracle cloud fre...
    99+
    2024-04-19
    oracle
  • 中国知网手机可以使用吗
    中国知网手机可以使用,但使用是否方便仍然取决于个人喜好和需求。对于那些经常需要查找学术文献的人来说,下载中国知网的手机应用程序可能是一个不错的选择。对于那些只是偶尔需要阅读或查找学术文献的人来说,使用手机浏览器可能也是一个可行的选择,无论使...
    99+
    2023-08-09
  • c++中可以用scanf吗
    是的,c++ 语言中可以使用 scanf 函数。scanf 函数用于从标准输入流(通常是键盘)读取格式化的数据。具体使用方式为:int scanf(const char *format,...
    99+
    2024-05-08
    c++
  • nodejs可以用后端吗
    Node.js是一种服务器端运行的JavaScript执行环境,可以使用它来构建服务器端应用程序。它使用Chrome V8 JavaScript引擎,提供一个可扩展的事件驱动架构,轻松处理大量并发连接。从技术上讲,Node.js可以被用作W...
    99+
    2023-05-14
  • 云服务器可以装双系统吗手机可以用吗
    云服务器可以安装两个系统,也可以只安装一个系统。安装一个系统可以让云服务器具有更好的可扩展性和灵活性,可以适应不同的应用场景。另外,由于不同的操作系统对应用的兼容性和适配性不同,安装云服务器可以让你的应用更好地适应操作系统的差异性。因此,如...
    99+
    2023-10-27
    可以用 双系统 服务器
  • sql中可以用if吗
    否,sql 中没有原生 if 语句。sql 提供了 case 语句作为替代,它允许根据条件进行不同的操作:case when condition1 then result1when co...
    99+
    2024-05-07
  • golang可以用正则吗
    golang可以用正则。golang提供了简便而且高效的正则表达式功能,使得在处理文本时更加方便和灵活,golang提供了内置的正则表达式包regexp,用于支持正则表达式的相关功能,还提供了“MatchString()”和“Match()...
    99+
    2023-07-18
  • JavaScript中可以使用forEach跳出循环吗
    这篇文章给大家介绍JavaScript中可以使用forEach跳出循环吗,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。forEach使用说明arr.forEach(function callback(curr...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作