在聊天应用的好友列表 activity 之后打开聊天 activity 的最佳方法
Best approach to open a chat activity after friendlist activity at chat app
假设我正在制作一个聊天应用程序。
我有一个 activity FriendListActivity
(显示好友列表)
这个 activity 也有一个 Socket 监听来自服务器的每条消息。
我还有一个 ChatActivity
,每当我点击 FriendListActivity
内的朋友时都会调用它。
我的问题:
- 当我从中调用
ChatActivity
时,FriendListActivity
属性会怎样?他们会死吗?
- 我应该如何放置这些活动以某种方式协同工作并且属性不会消失?
我假设 'called whenever I click at a friend within FriendListActivity' 你的意思是你将创建一个意图并开始新的 activity,聊天 Activity。如果这是你打算做的,那么你第一个问题的答案是否定的 - FriendListActivity 属性(和任何状态信息)在 Activity 的 class(FriendList Activity)。发生的事情是 ChatActivity 现在变成 'top-level' activity 并呈现给用户,而 FriendListActivity 将在后台 运行。
请参阅 http://developer.android.com/training/basics/firstapp/starting-activity.html 了解有关如何开始新活动和在活动之间交流信息的详细说明。
通常,对于聊天应用程序,您将创建一个处理传入消息的线程(通常通过侦听与服务器关联的套接字)。该线程将阻塞套接字读取操作(确切的函数 name/API 将取决于您的特定实现)并等待服务器向其发送数据。当在套接字上接收到数据时,您的线程会将数据放入某种队列(如 'unread messages' 队列)或调用主应用程序中的函数来处理新消息。请记住,UI 只能由应用程序的主线程更新,因此您需要一种方法将信息从 Socket 交换到 UI 处理程序,以便更新 TextView 对象向用户显示消息。
对于Android-在线程之间传递信息的方式,查看https://developer.android.com/training/multiple-threads/communicate-ui.html。
如果您有任何特定的 examples/code 要分享您遇到的问题,请更新您的问题,我们可以尝试提供更具体的帮助。
假设我正在制作一个聊天应用程序。
我有一个 activity FriendListActivity
(显示好友列表)
这个 activity 也有一个 Socket 监听来自服务器的每条消息。
我还有一个 ChatActivity
,每当我点击 FriendListActivity
内的朋友时都会调用它。
我的问题:
- 当我从中调用
ChatActivity
时,FriendListActivity
属性会怎样?他们会死吗? - 我应该如何放置这些活动以某种方式协同工作并且属性不会消失?
我假设 'called whenever I click at a friend within FriendListActivity' 你的意思是你将创建一个意图并开始新的 activity,聊天 Activity。如果这是你打算做的,那么你第一个问题的答案是否定的 - FriendListActivity 属性(和任何状态信息)在 Activity 的 class(FriendList Activity)。发生的事情是 ChatActivity 现在变成 'top-level' activity 并呈现给用户,而 FriendListActivity 将在后台 运行。
请参阅 http://developer.android.com/training/basics/firstapp/starting-activity.html 了解有关如何开始新活动和在活动之间交流信息的详细说明。
通常,对于聊天应用程序,您将创建一个处理传入消息的线程(通常通过侦听与服务器关联的套接字)。该线程将阻塞套接字读取操作(确切的函数 name/API 将取决于您的特定实现)并等待服务器向其发送数据。当在套接字上接收到数据时,您的线程会将数据放入某种队列(如 'unread messages' 队列)或调用主应用程序中的函数来处理新消息。请记住,UI 只能由应用程序的主线程更新,因此您需要一种方法将信息从 Socket 交换到 UI 处理程序,以便更新 TextView 对象向用户显示消息。
对于Android-在线程之间传递信息的方式,查看https://developer.android.com/training/multiple-threads/communicate-ui.html。
如果您有任何特定的 examples/code 要分享您遇到的问题,请更新您的问题,我们可以尝试提供更具体的帮助。