片段视图在线程NavigationDrawerActivity上

时间:2017-01-17 14:46:57

标签: java android multithreading

我的问题不在代码中,因为我在我的Android应用程序中遇到了同样的问题,而且由于我对线程缺乏了解,它的语法也不错

我正在创建一个客户端 - 服务器套接字应用程序,一个处理NetBeans数据库的SQLite应用程序,以及一个连接到该服务器并从中检索数据的android应用程序。示例:Android应用程序发送要检索的数据的标志,服务器接收标志,准备数据并按顺序发送,直接由android应用程序接收。

我尝试了很多方法来实现这一点,Async任务不起作用,因为我需要根据每个动作更新我的视图的不同数据,而Async任务只给了我一个应该工作的后台任务所有的活动(纠正我,如果我错了)

所以我使用线程,打开线程,建立连接,发送标志并接收数据,根据它更新我的视图。

这在我的登录活动中运行良好,例如,当用户按下Login按钮,一个线程连接到服务器,发送用户数据来到服务器的标志,服务器接收并检查等等上。

我的主要问题是,现在创建了一个导航抽屉,在它上面创建它会创建一个连接到服务器的线程来检索其中的数据。项目。我创建了使用相同内容的片段,当用户按下抽屉项时,应创建一个片段,该片段通过线程连接到服务器,该线程接收一些更新它的视图的数据。现在我们应该将这个片段视图附加到导航抽屉活动,它不起作用。因为活动本身是线程化的。

此外,在其他活动中,每当我尝试通过意图到达线程导航抽屉活动时,即使我使用此功能,它也不起作用

public void ThreadIntent(final Intent myIntent) {
    runOnUiThread(new Runnable() {
        public void run() {
            myIntent.putExtra("userid", TA_ID_User);
            startActivity(myIntent);
            finish();
        }
    });
}

我该如何解决此问题?

1 个答案:

答案 0 :(得分:0)

您可以为每个活动提供多个内部Asynctask类,您可以在onCreate()方法中执行它们。我认为最好使用Asynctask,而不是使用线程。

使用Asynctask,为了使用onPostExecute()方法更新服务器数据的视图。