我正在编写一个android应用程序,其中我有1 按钮和1 进度条作为UI元素。我的应用程序的用户界面被挂起
这个应用程序的主要目的是,当用户按下这个按钮,它创建一个包含在自定义格式的所有电话簿联系人数据库,意味着我读联系人数据库,并操纵了我的要求。
因此,我正在使用SQLiteOpenHelper进行数据库操作。我写了一个方法下载电话簿()执行所有必需的操作。我写了一个应用程序,当用户按下按钮时,我正在使进度条可见并调用此方法。
在这种情况下,UI点击按钮和显示用力关闭和一个对话框等待按钮,15秒后后悬挂。
为了避免这种情况,我尝试了以下机制。
- >广播按钮点击消息,并且呼叫的方法downloadPhonebook()。这里没有用,发生同样的问题。
- >使用一个线程和AsyncTask来调用这个方法,在这里我得到了运行时异常,如无法在一个线程内创建Handler,Looper.prepare不叫。我试着调用Looper.prepare()和Looper.loop(),甚至发生异常。
- >我试图与Android服务和广播的意图,又同样的问题UI忌用。
如果有人遇到这个问题,或者知道溶液或知道如何使用Looper.prepare和Looper.loop请回复我。谢谢。
您可以发布您的代码? – Araw