为什么我在连接mysql数据库时总是出现卡机的呢?mysql服务器是其他人的,我们在同一个局域网里。有什么办法解决不?
用线程可以吗?如果可以能写出来吗?谢谢。
用线程可以吗?如果可以能写出来吗?谢谢。
解决方案 »
- 小白问各位大神三个小问题
- getListView()方法找不到为什么..
- 如何拦截android手机上声音控制
- Android onItemSelected 事件的一点问题
- android jni 中文乱码
- 说说大家想手机为你做什么
- android中打开wifi时, 自动加载模块是如何实现的
- Android环境搭建时~~~高手请进!!
- Android音频不能播放问题
- Program type already present: android.support.v4.app.BackStackRecord$Op
- Android ListView怎么和SQList数据库同步!!!
- android 高难度UI设计问题!!!!
class ButtonListener implements OnClickListener
{
public void onClick(View v)
{
handler.post(updateThread);
}
Handler handler = new Handler();
Runnable updateThread = new Runnable()
{
public void run()
{
/**
* 我连接数据库的代码区
*/
}
}; }
}
LZ,你是说你在链接时,跟新UI么,用子线程来跟新主线程的UI,肯定是会卡的,你试试 lopper
class ButtonListener implements OnClickListener
{
public void onClick(View v)
{
new Thread(new Runnable(){
@Override
public void run() {
/**
* 你连接数据库的代码
*/
}
}).start();
}
}
LZ 是通过runOnUiThread 来更新UI进度条的吗?
这实际上还是在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(); }
}
{
public void onClick(View v)
{
updateThread .start();
}
Handler handler = new Handler();Runnable updateThread = new Runnable()
{
public void run()
{
/**
* 我连接数据库的代码区
*/
}
}; }
}
http://blog.csdn.net/mayingcai1987/article/details/6273606