热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

androidjdbc直接连mysql数据库_一个简单的Android通过jdbc直接连接mysql数据库的小例子...

代码如下:packagecom.example.machine.gasmonitoring;importandroid.os.Bundle;importandroid

代码如下:

package com.example.machine.gasmonitoring;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.support.v7.app.AppCompatActivity;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class SQLActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_sql);

new Thread(runnable).start();

}

Handler myHandler = new Handler(){

public void handleMessage(Message msg){

super.handleMessage(msg);

Bundle data = new Bundle();

data=msg.getData();

System.out.println("username" + data.get("username").toString());

System.out.println("userpass" + data.get("userpass").toString());

}

};

Runnable runnable = new Runnable() {

private Connection connection = null;

@Override

public void run() {

try {

Class.forName("com.mysql.jdbc.Driver");

connection = DriverManager.getConnection("jdbc:mysql://IPAddress:3306/Databasename", "username", "youpass");

System.out.print("连接成功");

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e1) {

e1.printStackTrace();

}

try {

test(connection); //测试数据库连接

} catch (java.sql.SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void test(Connection con1) throws java.sql.SQLException {

try {

String sql = "select * from user"; //查询表名为“user”的所有内容

Statement stmt = con1.createStatement(); //创建Statement

ResultSet rs = stmt.executeQuery(sql); //ResultSet类似Cursor

//ResultSet最初指向第一行

Bundle bundle = new Bundle();

while (rs.next()) {

bundle.clear();

bundle.putString("username", rs.getString("username"));

bundle.putString("userpass", rs.getString("userpass"));

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) {

}

}

}

};

};

这是一个简单的Android通过jdbc直接连接数据库的例子,代码中的IPAddress指你的ip地址,Databasename指的是你的数据库的名字,不是表的名字,指数据库的名字,username和yourpass分别是你的数据库用户名和密码。

这个例子中我主要是做了一个直接查询的功能,查询了user表中的两列数据,打印到控制台,大家也可以自己再深入研究添加其他功能。

需要注意的是,在使用jdbc连接数据库的时候肯定是要使用连数据的jar的包,我用的是android studio开发的,所以架包直接放在libs文件夹下面:

f636e58498980f0e744e54fe1619ee12.png

另外在使用IP地址的时候使用127.0.0.1的时候可能会报错

14f09382e0d2fffca3a5adb251035bcc.png

显示这样的错误,意思是尝试调用sql接口的时候出现了空指针异常,具体原因还没分析,所以我用的ip地址是自己服务器的ip地址,是公网。

还有一点是在AndroidManifest.xml文件中要添加可访问网络的权限

之后才可以运行。

这个本地ip不能用的问题等研究之后再贴。



推荐阅读
  • 在Android应用开发中,实现与MySQL数据库的连接是一项重要的技术任务。本文详细介绍了Android连接MySQL数据库的操作流程和技术要点。首先,Android平台提供了SQLiteOpenHelper类作为数据库辅助工具,用于创建或打开数据库。开发者可以通过继承并扩展该类,实现对数据库的初始化和版本管理。此外,文章还探讨了使用第三方库如Retrofit或Volley进行网络请求,以及如何通过JSON格式交换数据,确保与MySQL服务器的高效通信。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 在编译 PHP7 的 PDO MySQL 扩展时,可能会遇到 `[mysql_driver.lo]` 错误 1。该问题通常出现在 `pdo_mysql_fetch_error_func` 函数中。本文详细介绍了导致这一错误的常见原因,包括依赖库版本不匹配、编译选项设置不当等,并提供了具体的解决步骤和调试方法,帮助开发者快速定位并解决问题。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 本指南介绍了 `requests` 库的基本使用方法,详细解释了其七个主要函数。其中,`requests.request()` 是构建请求的基础方法,支持其他高级功能的实现。此外,我们还重点介绍了如何使用 `requests.get()` 方法来获取 HTML 网页内容,这是进行网页数据抓取和解析的重要步骤。通过这些基础方法,读者可以轻松上手并掌握网页数据抓取的核心技巧。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • 在本节课程中,我们将深入探讨 JSP 编程中的实际案例,通过具体代码示例 `code316.java` 来解析数据库连接的实现。该示例展示了如何使用 Java 的 JDBC API 进行数据库操作,包括加载数据库驱动、建立连接等关键步骤。通过本课程的学习,读者将能够更好地理解和应用 JSP 中的数据库连接技术。 ... [详细]
  • 开发笔记:深入解析Android自定义控件——Button的72种变形技巧
    开发笔记:深入解析Android自定义控件——Button的72种变形技巧 ... [详细]
  • 在本文中,我们将探讨如何在Docker环境中高效地管理和利用数据库。首先,需要安装Docker Desktop以确保本地环境准备就绪。接下来,可以从Docker Hub中选择合适的数据库镜像,并通过简单的命令将其拉取到本地。此外,我们还将介绍如何配置和优化这些数据库容器,以实现最佳性能和安全性。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
author-avatar
手机用户2602903715
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有