无法使用 JDBC 从 Android 连接到 MySQL
此代码片段尝试使用 JDBC 从 Android 连接到本地主机中的 MySQL。但是,它仅显示 catch 部分中的操作。目前尚不清楚这是否是连接问题。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | package com.test1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class Test1Activity extends Activity {
...
public void onCreate(Bundle savedInstanceState) {
...
try
{
Class.forName( "com.mysql.jdbc.Driver" );
con=DriverManager.getConnection( "jdbc:mysql://10.0.2.2:8080/example" , "root" , "" );
...
}
catch (Exception e)
{
...
}
}
}
|
登录后复制
异常消息表明:
- 方法引用了java.lang.management.ManagementFactory.getThreadMXBean com.mysql.jdbc.MysqlIO.appendDeadlockStatusInformation
- javax.naming.StringRefAddr 从方法 com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.storeTo
- javax.naming.Reference.get 被引用从方法com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.initializeFrom
解决方案
Android 本机无法直接连接到 MySQL 数据库。
考虑使用 Web 服务将请求传递到数据库并返回
替代方案
- http://www.helloandroid.com/tutorials/connecting-mysql-database
- http:/ /www.basic4ppc.com/forum/basic4android-getti ng-started-tutorials/8339-connect-android-mysql-database-tutorial.html
- http://codeoncloud.blogspot.com/2012/03/android-mysql-client.html
安全注意事项
使用 JDBC 从 Android 连接到数据库可能会暴露敏感信息,例如用户名和密码。考虑使用更安全的方法,例如 Web 服务或专用的 Android 数据库。
以上是为什么我无法使用 JDBC 将 Android 应用程序直接连接到 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!