Java Android存储多个数据
我目前正在使用Android网络服务发现。使用下面的函数,每次运行时都返回一个主机名。但是,我想将所有数据存储在某个位置,以便传递到下一个活动,我将如何才能做到这一点Java Android存储多个数据,java,android,Java,Android,我目前正在使用Android网络服务发现。使用下面的函数,每次运行时都返回一个主机名。但是,我想将所有数据存储在某个位置,以便传递到下一个活动,我将如何才能做到这一点 public void onServiceFound(NsdServiceInfo service) { Log.d(TAG, "Service discovery success" + service.getServiceName()); if (!service.getServ
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个名称要存储,我如何才能做到这一点 每次你得到一个名字,只需将它添加到一个列表中,例如myListOfNames 在生成新活动之前,将该列表作为额外的内容添加到您的意图中 你可以这样做
Intent i = new Intent()
i.putExtra("my_names", TextUtils.join(",", myListOfNames));
startActivity(i);
其中TextUtils.join将把您的列表折叠成一个逗号分隔的字符串。如果您不需要将它们持久化,则只需在启动新活动之前将其作为额外内容添加到intent中即可。如果你想让它们持久存在,那么就使用SharedReferences。如果该函数将对多个名称(例如50个名称)运行多次,我如何一次指定所有名称?因为你使用的是internet,我想,那么你也可以将你的信息存储在Firebase中,或者你的应用程序可以创建一个文件,其中可以存储所有信息。被储存。另一个选项是,您还可以使用共享首选项。