Android直接连Mysql数据库的例子网上很多,但是有时候还是没有办法成功连接。
可能是把数据库的操作都写在主线程里面了,因为数据库的操作耗时很大,所以只能写在线程或者异步里面,这样才能保证正常对数据库进行操作。
连接数据库的时候ip地址可以用10.0.2.2也可以用自己的ip,不能用localhost,因为安卓无法识别。
我试过用Genymotion虚拟机来进行操作,不知道什么原因也是一直连不上数据库,当用Android自带的AVD就可以,我的AVD的设置如下,如果设置不对,也无法正确连接。
在运行的时候经常报这个错误,
Could not find class 'javax.naming.StringRefAddr', referenced from method com.mysql.jdbc.ConnectionProperties$ConnectionProperty.storeTo
这个问题是找不到javax.naming.StringRefAddr这个类,但是这问题不妨碍你进行数据库操作,所以这个问题存在对你的程序也没有什么影响,不必刻意去解决这个问题。
还要注意编码问题,如果某条sql语句在数据库端能运行,而在程序里面不能运行,八成就是编码问题了。