Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android存储多个数据_Java_Android - Fatal编程技术网

Java Android存储多个数据

Java Android存储多个数据,java,android,Java,Android,我目前正在使用Android网络服务发现。使用下面的函数,每次运行时都返回一个主机名。但是,我想将所有数据存储在某个位置,以便传递到下一个活动,我将如何才能做到这一点 public void onServiceFound(NsdServiceInfo service) { Log.d(TAG, "Service discovery success" + service.getServiceName()); if (!service.getServ

我目前正在使用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个名称要存储,我如何才能做到这一点

每次你得到一个名字,只需将它添加到一个列表中,例如myListOfNames

在生成新活动之前,将该列表作为额外的内容添加到您的意图中

你可以这样做

Intent i = new Intent()
i.putExtra("my_names", TextUtils.join(",", myListOfNames));
startActivity(i);

其中TextUtils.join将把您的列表折叠成一个逗号分隔的字符串。

如果您不需要将它们持久化,则只需在启动新活动之前将其作为额外内容添加到intent中即可。如果你想让它们持久存在,那么就使用SharedReferences。如果该函数将对多个名称(例如50个名称)运行多次,我如何一次指定所有名称?因为你使用的是internet,我想,那么你也可以将你的信息存储在Firebase中,或者你的应用程序可以创建一个文件,其中可以存储所有信息。被储存。另一个选项是,您还可以使用共享首选项。