如何才能在连接mysql数据库时不出现卡机情况呢?
为什么我在连接mysql数据库时总是出现卡机的呢?mysql服务器是其他人的,我们在同一个局域网里。有什么办法解决不?用线程可以吗?如果可以能写出来吗?谢谢。 --------------------编程问答-------------------- 线程是异步处理数据的,我想链接数据库这边应该解决不了你说的问题,你可以试试!注意同步的问题。很久没搞mysql这样的数据库了,你去 javaee 区问问,那边专业的多点,我搞android用的是内嵌的SQLite数据库。 --------------------编程问答-------------------- 启动新线程
在线程中连接mysql数据库
将连接代码段放入线程run方法中就行 --------------------编程问答-------------------- 回三楼。我也是这样连的。我的代码:
class ButtonListener implements OnClickListener
{
public void onClick(View v)
{
handler.post(updateThread);
}
Handler handler = new Handler();
Runnable updateThread = new Runnable()
{
public void run()
{
/**
* 我连接数据库的代码区
*/
}
};
}
} --------------------编程问答-------------------- 回二楼。我是一边连接数据库,一边出现一个滚动条,两个同时进行。
连接数据库是放在线程里的,滚动条是放在进程里的。但是在连接数据
库的时候却会卡死滚动条。
如果像你说的,用同步,那线程会一个一个的执行。那岂不是达不到我所要的目的。 --------------------编程问答-------------------- 是连接卡? 查询一类操作卡吗?
pc机局域网内连接延时吗?
--------------------编程问答-------------------- 应该是查询和连接都卡。我的是通过pc机连接局域网内的其他pc的mysql数据库。 --------------------编程问答--------------------
LZ,你是说你在链接时,跟新UI么,用子线程来跟新主线程的UI,肯定是会卡的,你试试 lopper --------------------编程问答-------------------- 搞开发的女孩子!! --------------------编程问答-------------------- handler.post(updateThread);用Runnable是会卡的
--------------------编程问答--------------------
class ButtonListener implements OnClickListener
{
public void onClick(View v)
{
new Thread(new Runnable(){
@Override
public void run() {
/**
* 你连接数据库的代码
*/
}
}).start();
}
}
LZ 是通过runOnUiThread 来更新UI进度条的吗? --------------------编程问答--------------------
你这个应该是和主线程邦定的,可以邦定handlerthread线程 --------------------编程问答--------------------
这实际上还是在UI线程去做的耗时操作,post 会把updateThread 发送到 hanlder 所在的Thread的消息队列中,而这个消息队列是UI的消息队列。
可以采用9楼的方法实现异步操作 ,但那不是android推荐的方式。 正确的操作步骤应该为:
class ButtonListener implements OnClickListener
{
public void onClick(View v)
{
handler.post(updateThread);
}
Handler handler = new Handler();
Runnable updateThread = new Runnable()
{
public void run()
{
/**
* 我连接数据库的代码区
*/
}
};
updateThread .start();
}
}
--------------------编程问答-------------------- 上面写错了,正确的操作步骤应该为:
class ButtonListener implements OnClickListener
{
public void onClick(View v)
{
updateThread .start();
}
Handler handler = new Handler();
Runnable updateThread = new Runnable()
{
public void run()
{
/**
* 我连接数据库的代码区
*/
}
};
}
} --------------------编程问答--------------------
建议楼主把两个线程的id打印出来,确定是不同的id(不同的线程);还有建议动态加载数据参考如下文档:
http://blog.csdn.net/mayingcai1987/article/details/6273606
--------------------编程问答-------------------- 是否可以搞个数据链接池呢。。 --------------------编程问答-------------------- 用模拟器去连数据库?不知道是不是我理解错了,正常应该是客户端发送请求,服务端返回数据,客户端解析然后展示的吧 --------------------编程问答--------------------
如果数据量大的话建议用连接池。
补充:移动开发 , Android