【问题标题】:Http requests overriding activity start up - AndroidHttp 请求覆盖活动启动 - Android
【发布时间】:2011-03-24 13:57:35
【问题描述】:

嘿, 我遇到了一个奇怪的问题。我正在尝试启动一个直接进入进度对话框启动的活动,然后发出一个 http 请求,并将用户登录到各个站点。 onCreate() 中的代码是这样的:

setContentView(R.layout.upload);
ProgressDialog dialog = ProgressDialog.show(this, "Login", "Attempting to login now...", true);//the login progress dialog
executeUpload();  

但是,当我运行此程序时,屏幕变为空白并延迟启动活动,直到 exuteUpload() 完成。我有点难过。有没有人遇到过类似的问题或对可能导致此问题的原因有任何建议?

ExecuteUpload 很简单:

state = new O2State();//for the O2 site
state.logon();

【问题讨论】:

    标签: android http android-activity dialog httpwebrequest


    【解决方案1】:

    State.login 可能没有在另一个线程中运行。这将导致 UI 线程看似停止。

    这很可能是使用 AsyncTask 的候选者。 http://developer.android.com/reference/android/os/AsyncTask.html

    也是一个 AsyncTask 教程 http://evancharlton.com/thoughts/rotating-async-tasks/

    【讨论】:

    • 嘿,听起来肯定是问题所在。但是看看你给我的链接,看起来我可能不得不完全改变状态类?有没有办法以某种方式简单地包装 state.logon 调用,以便它同时执行,而无需从头开始完全撕开我的代码?
    猜你喜欢
    • 2010-09-20
    • 2012-11-04
    • 2011-01-03
    • 2022-06-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 2016-06-21
    • 1970-01-01
    相关资源
    最近更新 更多