我的编程空间,编程开发者的网络收藏夹
学习永远不晚

android可以使用mysql吗

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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
            //<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吗大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

android可以使用mysql吗

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

下载Word文档

猜你喜欢

chatgpt国内可以使用吗

chatgpt国内可以使用,chatgpt在国内可以使用,但不能注册,港澳也不行,用户想要注册的话,可以使用国外的手机号进行注册,注意注册过程中要将网络环境切换成国外ip。chatgpt国内可不可以使用chatgpt在国内是可以使用的,但是
2023-02-08

钉钉可以做erp使用吗

那么,使用钉钉进行ERP使用是否可以呢?在笔者的经验来看,是可以的。下面是我的建议。首先,钉钉提供了许多功能和工具,可以帮助企业更好地管理其ERP系统。例如,钉钉提供了“任务管理”功能,可以让员工更方便地管理其工作任务和进度。还有“工作流程审批”功能,可以让企业高效地进行审批流程,避免了手动处理时的时间和精力浪费。其次
钉钉可以做erp使用吗
2023-10-28

云服务器可以用gpu吗手机可以用吗

云服务器可以使用GPU,这对于需要进行大规模计算和深度学习的应用程序非常有用。GPU可以提供比传统CPU更快的计算速度和更好的并行处理能力,因此在处理大量数据时非常有用。许多云服务提供商都提供GPU实例,例如AmazonWebServices、MicrosoftAzure和GoogleCloudPlatform。至于手机是否可以使用GPU,答案是肯定的。现代智能手机通常都配备了GPU,以提供更
2023-10-26

我们可以在 MySQL 过程中使用“IF NOT IN”吗?

让我们首先看看 MySQL 中 IF NOT IN 的语法 -if(yourVariableName NOT IN (yourValue1,yourValue2,........N) ) thenstatement1elsestatem
2023-10-22

mysql字段可以为空吗

mysql字段可以为空,原因有:1、数据的可选性,某些字段的值可能是可选的,不是每条记录都需要提供该字段的值;2、数据完整性,某些字段的值可能是未知或暂时不可用的,允许字段为空可以保持数据的完整性;3、数据迁移和兼容性,在进行数据迁移或与其
2023-07-25

可以在css中使用变量吗

这篇文章将为大家详细讲解有关可以在css中使用变量吗,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CSS 变量当前有两种形式:变量,就是拥有合法标识符和合法的值。可以被使用在任意的地方。可以
2023-06-14

jquery可以用this吗

jquery可以用this。在jquery中,this表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性、方法;利用“$(this)”语句可以把html元素变成jquery对象,进而使用jquery方法来处理当前对象,语法为“$(this).jquery方法名();”。
2023-05-14

mysql中主键可以为空吗

mysql中的主键不能为空,因为这会违反唯一性约束,影响数据完整性,并降低查询性能。唯一允许主键中包含null值的情况是自动递增列和组合主键中某些列为空。MySQL 中主键可以为空吗?回答:否,MySQL 中的主键不能为空。详细解释:
mysql中主键可以为空吗
2024-04-26

sql中where可以使用别名吗

sql 中 where 子句中使用别名在 SQL 中,WHERE 子句用于根据特定条件来筛选和限制查询结果。在使用 WHERE 子句时,通常需要引用表中的列名。为了方便和可读性,可以在查询中使用别名为表或列指定缩写或短名称。是否可以在
sql中where可以使用别名吗
2024-05-07

php可以使用正则表达式吗

这篇文章主要为大家展示了“php可以使用正则表达式吗”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php可以使用正则表达式吗”这篇文章吧。可以,php能用正则表达式,在PHP中可以使用PCRE扩
2023-06-22

SSL证书可以跨平台使用吗

是的,SSL 证书可以跨平台使用。无论你使用的是哪种操作系统(如Windows、Linux、macOS等),或者哪种服务器软件(如Apache、Nginx、IIS等),只要将正确配置好的 SSL 证书安装到服务器上,就可以在各种平台上使用。
SSL证书可以跨平台使用吗
2024-04-17

中国知网手机可以使用吗

中国知网手机可以使用,但使用是否方便仍然取决于个人喜好和需求。对于那些经常需要查找学术文献的人来说,下载中国知网的手机应用程序可能是一个不错的选择。对于那些只是偶尔需要阅读或查找学术文献的人来说,使用手机浏览器可能也是一个可行的选择,无论使
2023-08-09

oracle数据库可以免费使用吗

是的,oracle 数据库可以免费使用。oracle 提供多种免费选项,包括:1. oracle database xe(适用于小型企业和开发者);2. oracle cloud free tier(用于开发和测试);3. oracle v
oracle数据库可以免费使用吗
2024-04-19

golang可以用正则吗

golang可以用正则。golang提供了简便而且高效的正则表达式功能,使得在处理文本时更加方便和灵活,golang提供了内置的正则表达式包regexp,用于支持正则表达式的相关功能,还提供了“MatchString()”和“Match()
2023-07-18

sql中可以用if吗

否,sql 中没有原生 if 语句。sql 提供了 case 语句作为替代,它允许根据条件进行不同的操作:case when condition1 then result1when condition2 then result2...els
sql中可以用if吗
2024-05-07

c++中可以用scanf吗

是的,c++ 语言中可以使用 scanf 函数。scanf 函数用于从标准输入流(通常是键盘)读取格式化的数据。具体使用方式为:int scanf(const char *format, ...); 其中 format 是指定要读取数据的格
c++中可以用scanf吗
2024-05-08

nodejs可以用后端吗

Node.js是一种服务器端运行的JavaScript执行环境,可以使用它来构建服务器端应用程序。它使用Chrome V8 JavaScript引擎,提供一个可扩展的事件驱动架构,轻松处理大量并发连接。从技术上讲,Node.js可以被用作Web后端,并且近年来已成为Web开发的主力军之一,不少知名网站和服务都在使用Node.js作为其后端技术。下面将从技术与应用两个方面探究No
2023-05-14

编程热搜

目录