【问题标题】:Web Socket sending and receiving data in multiple Fragments and ActivityWeb Socket 在多个 Fragments 和 Activity 中发送和接收数据
【发布时间】:2016-12-29 07:34:44
【问题描述】:

我是第一次使用 websocket,这是一个 Uber 类型的应用程序。我正在从套接字接收数据,套接字连接和接收器在公共类中,但我很困惑如何以优化的方式传递特定活动或片段的数据。据我所知,我想在必修课中使用广播接收器,但这不是一个好方法......所以任何帮助将不胜感激。

【问题讨论】:

    标签: android sockets websocket


    【解决方案1】:

    找到了一个很好的解决方案,我认为它不是终极解决方案,但它比 Brad cast 接收器运行得更快。

    1. 我在 Main Activity 中创建了一个接口,带有一个发送接收数据的方法。

      public class MainActivity extends AppCompatActivity{
      
          SendData sendData;
      
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
          }
      
          public interface SendData {
              public void sendData(String data);
          }
      
      }
      
    2. 在需要Main Activity响应的Fragment Class中,我实现了上面的Main Activity接口。

      public class Storage extends Fragment implements MainActivity.SendData{
      
          View view;
      
          @Override
          public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
              view = inflater.inflate(R.layout.driver_info_fragment,container,false);
              return view;
          }
      
          @Override
          public void SendData(String data) {
             String dataReceived = data;
          }
      
      }
      
    3. 当我在 Main Activity 中收到数据时,我将获取当前片段,如果我希望将数据发送到该片段,那么我应该在该片段中实现 Main Activity 接口并在我有时在 Main Class 中创建一个转换数据并用值通知片段

      public class MainActivity extends AppCompatActivity{
      
          @Override
          public void notifySocketMessage(final String message) {
              if(message != null){
                  dataPasser = // define the fragment class name where you need to send the data.
                  dataPasser.onDataPass(message); // add the message to the notifier
              }
          }
      
      }
      

    【讨论】:

      猜你喜欢
      • 2023-04-11
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      相关资源
      最近更新 更多