我目前正在使用Android网络服务发现。使用下面的函数,每次运行时,它都会返回一个主机名。但是,我想将所有数据存储到某个地方以传递给下一个活动,我将如何能够做到这一点?
public void onServiceFound(NsdServiceInfo service) {
Log.d(TAG, "Service discovery success" + service.getServiceName());
if (!service.getServiceType().equals(SERVICE_TYPE)) {
Log.d(TAG, "Unknown Service Type: " + service.getServiceType());
} else if (service.getServiceName().equals(mServiceName)) {
Log.d(TAG, "Same machine: " + mServiceName);
} else if (service.getServiceName().contains(mServiceName)){
mNsdManager.resolveService(service, mResolveListener);
}
}
示例我有3个名字要存储,我怎么能这样做?
答案 0 :(得分:0)
每次获得名称时,只需将其添加到列表中,例如myListOfNames。
在产生新活动之前,将该列表作为额外内容添加到您的意图中。
你可以做这样的事情
Intent i = new Intent()
i.putExtra("my_names", TextUtils.join(",", myListOfNames));
startActivity(i);
其中TextUtils.join会将您的列表折叠为单个逗号分隔的字符串。