java - Android 登录线程

标签 java android multithreading android-asynctask

我是 Android 新手。

我有一个 UI 线程,用户单击“登录”。一旦他们点击登录,就会创建一个线程(Android 的 AsyncTask),该线程连接到互联网(HTTPPost)并验证输入。还有一个“进度条”。现在我的问题是,如何返回 Activity(UI 线程?)以便我可以关闭并启动新的 Activity。

我提出的一个天真的想法是让 AsyncTask 类成为 Activity 的子类。这样在“onPostExecute”方法中,我就可以完成该 Activity 。

有正确的方法吗?

最佳答案

您可以通过context contructor of asyntask 中的 Activity 并在 onPostExecute您可以通过 context 关闭该 Activity 和startActivity从那里开始。

public class MyAsyn extends AsyncTask<String, Void, Void>{

public MyAsyn(Context con) {
    context = con;
}

}

然后在onPostExecute中执行

i = new Intent(context,AnotherActivity.class);
                    context.startActivity(i);
                    ((Activity) context).finish();

关于java - Android 登录线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22651383/

相关文章:

带计时器的 JavaScript 游戏

java - 如何选择距引用点一定距离的随机点

java - 无法实例化类型Rankup

java - 如何为应用内计费创建单独的线程

android - SyncAdapter 同步自定义应用程序数据?

android - 我无法在 Android AVD Manager 中创建模拟器

java - 如何在 Kotlin 的 lambda 表达式中获取类实例?

java - 使用 mp4Parser java 库动态查找和剪切 mp4 http 流

C++ 11 - 当我将局部变量作为参数传递给线程时是否安全

java - 有什么理由不总是使用 AtomicInteger 作为数据成员吗?