【问题标题】:How Do i acces or pass a custom object from/to another android activity in xamarin如何在 xamarin 中从/向另一个 android 活动访问或传递自定义对象
【发布时间】:2018-06-12 13:37:13
【问题描述】:

所以我有一个名为 connector 的自定义对象,其中包含一个线程套接字,用于在不锁定 UI 的情况下与 Arduino 进行通信。但我想从多个屏幕/活动访问此套接字。

我尝试使用静态类来包含此答案中的对象:

Transfer Socket from one Activity to another

但是当我试图从另一个活动中访问它时,我不断收到“名称在当前上下文中不存在”错误。

这是我的存储类的代码:

public class ConnectorManager
{
    private static Connector connectorObject;

    public static Connector GetConnector()
    {
        return connectorObject;
    }

    public static void SetConnector(Connector connector)
    {
        connectorObject = connector;
    }
}

编辑1: 这就是我尝试使用该类的方式:

ConnectorManager.SetConnector(connector);
Connector connector = ConnectorManager.GetConnector();

编辑2:

删除代码文件并创建一个新文件后,问题神奇地自行解决了

【问题讨论】:

    标签: android class sockets xamarin android-activity


    【解决方案1】:

    我也会采用您链接的示例中提到的第二种方法。事实上,我的大部分沟通工作都是这样做的。

    [Application]
    public class AppApplication : Application
    {
        public ConnectorManager ConnectorManager { get; set; }
    
        public AppApplication(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
        {
            //if you can/want create and assign your manager here
        }
    }
    

    在任何活动中,您都可以像这样访问应用程序属性:

    ((AppApplication)Application).ConnectorManager;
    

    【讨论】:

      【解决方案2】:

      能否请您添加代码示例,您如何在不同的活动中调用静态变量connectorObject?

      【讨论】:

      • 这不是答案。请使用 cmets 进行询问。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      相关资源
      最近更新 更多