所以我有一个名为connector的Custom对象,它包含一个螺纹套接字,用于在不锁定UI的情况下与Arduino进行通信。但我想从多个屏幕/活动中访问此套接字。
我尝试使用静态类来包含对象,如下面的答案:
Transfer Socket from one Activity to another
但我一直得到一个"名称在当前背景下不存在"尝试从antoher活动访问它时出错。
这是我的存储类的代码:
public class ConnectorManager
{
private static Connector connectorObject;
public static Connector GetConnector()
{
return connectorObject;
}
public static void SetConnector(Connector connector)
{
connectorObject = connector;
}
}
EDIT1: 这是我试图使用该类的方式:
ConnectorManager.SetConnector(connector);
Connector connector = ConnectorManager.GetConnector();
EDIT2:
删除代码文件并创建新代码后,问题神奇地自行修复
答案 0 :(得分:0)
请您添加代码示例,您是如何在不同的活动中调用静态变量connectorObject的?
答案 1 :(得分:0)
我也会使用您链接的示例中提到的第二种方法。实际上,我的大部分沟通工作都是这样做的。
[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;