本文摘自PHP中文网,作者藏色散人,侵删。
安卓连接不上mysql的解决办法:首先在Activivty中自定义监听事件;然后在自定义监听事件中开辟子线程;最后将coonection的定义改为“DriverManager.getConnection(...)”即可。

推荐:《mysql视频教程》
Android Studio连接MySQL:问题解决:虚拟机无法连接本地SQL,coon总为空
在子线程中进行数据库的连接
首先在Activivty中自定义监听事件
1 2 3 4 5 6 7 8 9 | private Button mBtn;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SetListener();
}
|
在自定义监听事件中开辟子线程,注意最后.start()
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 29 30 31 32 33 34 | private void SetListener()
{
mBtnadmin.setOnClickListener( new View.OnClickListener()
{
@Override
public void onClick(View view) {
new Thread( new Runnable() {
@Override
public void run() {
Connection conn=null;
Statement stmt=null;
try {
Class.forName( "com.mysql.jdbc.Driver" );
String sql= "insert into demo values(6666,6666)" ;
conn=DriverManager.getConnection( "jdbc:mysql://10.0.2.2:3306/logindata" , "root" , "666666" );
stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
} catch (Exception e)
{
e.printStackTrace();
}finally {
stmt.close();
conn.close();
}
}
}).start();
}
});
}
|
因为一直在使用虚拟机进行测试,一开始coonection的定义一直是
1 | conn= DriverManager.getConnection( "jdbc:mysql://localhost/logindata" , "root" , "666666" );
|
每一次的连接结果都在报:coon=null,最后多方调试发现了这个问题,虚拟机对应的电脑的ip应该是10.0.2.2,即将coonection的定义改为
1 | conn= DriverManager.getConnection( "jdbc:mysql://10.0.2.2:3306/logindata" , "root" , "666666" );
|
成功!之前一直担心是代码的问题,所以没有去连接服务器上的MySQL,现在可以去尝试了!
以上就是安卓连接不上mysql怎么办的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
php中关于mysqli和mysql区别的一些知识点分析
navicat for mysql连接不成功怎么办
mysql建表语句是什么
mysql的增删改查sql语句总结
mysql命令行中文显示乱码怎么办
mysql如何实现数据切分
如何在linux中重置mysql root密码
mysql怎么创建数据库
详解mysql调用存储过程和函数(案例)
mysql 没有varchar(max) 类型
更多相关阅读请进入《安卓》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » 安卓连接不上mysql怎么办