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.数据库所在的服务器是否开了防火墙,阻止了访问
————————————————
版权声明:本文为CSDN博主「shuaiyou_comon」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shuaiyou_comon/article/details/75647355
温馨提示:内容为网友见解,仅供参考
无其他回答

android怎么链接数据库mysql
可以在项目的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(savedInstanceS...

Android 开发。。。如何连接到服务器上的mysql数据库
1、首先输入代码 public void SendByHttpClient(final String id, final String pw){ new Thread(new Runnable() { Override public void run() { try { HttpClient httpclient=new DefaultHttpClient();HttpPost httpPost=new HttpPost("http:\/\/web应用部署服务器上的IP地址:\/HttpClientDemo\/Login")...

怎样使Android程序调用mysql数据库里面的数据
1.首先需要安装MySQL Server 5.1和navicat for mysql。这个安装是很简单的,网上很多教程,和安装一般软件差不多。只有在安装MySQL Server 5.1时,要注意选择字符编码为gb2312(中文)那个选项。2. 使用navicat for mysql导入数据文件a打开navicat for mysql,和localhost本地数据库连接,就可以看到刚才建...

如何连接Android模拟器与当地mysql数据库
首先找到android 模拟中数据库存放的位置 file explorer 文件data里面的data文件夹里 选择右上的导出-- 导出到指定的路径下面 接下来 打开数据库android中使用 的是sqlite 数据库, 可以用Sqlite expert这个软件来打开 ,首先下载好sep 这个软件 选择打开的文件-- 选择我们刚才导出的数据库 就可以看到 数...

在Android平台如何上访问mysql数据库?
一、首先要加载JDBC驱动包。步骤:右击项目找到build path->configure build path->libraries——>add External JARs添加驱动包 二、写测试类:TestCon.java (在此之前,首先 1.在自己的电脑上Mysql下确定账户是"root",密码是"123456";2.进入账户,创建数据库cui;3.在数据库cui下面,创建表test1 ...

怎么连接android和php mysql数据库
首先你的Android项目访问(call)PHP脚本来执行一条数据操作,我们称它为“创建”。然后PHP脚本连接MySQL数据库来执行这个操作。这样,数据从Android程序流向PHP脚本,最终存储在MySQL数据库中。好了,让我们来深入的看一下。请注意:这里提供的代码只是为了使你能简单的连接Android项目和PHP,MySQL。你不能...

Android手机app 链接服务器的mysql 读取数据库
Mysql连接方法 1. 加载数据库驱动: Class.forName("org.gjt.mm.mysql.Driver"); \/\/加载数据库驱动 String url = "jdbc:mysql:\/\/localhost:3306\/test";String user = "root";String passowrd = "123456";2. 获取数据库连接Connection con数= DriverManager.getConnection(url,user,password)3. ...

...关于android可以链接使用PHP的数据库MySQL的方法,急!!!
Android Studio怎么连接mysql数据库,建议使用mysql的客户端查连接,或者使用java程序去连接,mysql安装后就会自动一个客户端,这个就可以连接数据库的。android studio是开发android应用的,写不了jsp,如果你要写java web jsp这种,建议使用IDEA或者用eclipse IDE(开发工具)。

adb与MySQL的互补性精彩融合adb和mysql关系
1. 从Android设备上提取数据:adb shell dumpsys activity > activity.txt 2. 将文本文件中的数据导入MySQL数据库:mysql -u 用户名 -p 密码 数据库名 二、使用MySQL管理Android设备数据 不仅可以将Android设备的数据存储在MySQL中,还可以使用MySQL来管理该数据。可以利用MySQL的一些特性来过滤、排序、...

如何连接android和php mysql数据库
conn.php是连接MySQL数据库的。代码如下:<?php dbhost = "localhost:3306";dbuser = "root"; \/\/我的用户名 dbpass = ""; \/\/我的密码 dbname = "testlogin"; \/\/我的mysql库名 cn = mysql_connect($dbhost,$dbuser,$dbpass) or die("connect error");mysql_select_db($dbname)or ...

相似回答
大家正在搜