Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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 Libgdx:选择不同的首选项文件以保存数据_Java_Android_Libgdx_Preferences_Filehandle - Fatal编程技术网

Java Libgdx:选择不同的首选项文件以保存数据

Java Libgdx:选择不同的首选项文件以保存数据,java,android,libgdx,preferences,filehandle,Java,Android,Libgdx,Preferences,Filehandle,所以我想做的是用不同的文件来保存自定义关卡数据,这样玩家就可以创建自己的关卡,保存它,然后选择加载哪个关卡,现在我知道有默认的FileHandle类,但这只保存一个字符串,这对我来说是个问题,因为我保存它的方式是将每个对象加载到ArrayList,将ArrayList转换为JSON字符串,然后将该字符串保存在该级别的rooms ID下,因此首选项文件如下所示 Room ID 1 Json string Room ID 2 JSON string Room ID 3 Etc etc 这就是为

所以我想做的是用不同的文件来保存自定义关卡数据,这样玩家就可以创建自己的关卡,保存它,然后选择加载哪个关卡,现在我知道有默认的
FileHandle
类,但这只保存一个字符串,这对我来说是个问题,因为我保存它的方式是将每个对象加载到
ArrayList
,将
ArrayList
转换为
JSON
字符串,然后将该字符串保存在该级别的rooms ID下,因此首选项文件如下所示

Room ID 1
Json string 
Room ID 2
JSON string 
Room ID 3
Etc etc
这就是为什么使用
FileHandle
不起作用的原因,因为所有的
JSON
字符串都会保存在一起,我想不出一种方法来分隔它们


所以我要问的问题是,使用首选项,有没有一种方法可以让玩家选择加载哪个文件?因为我能想到的唯一方法是将每个首选项文件的名称保存在另一个文件中并加载该文件,但这有点复杂,如果玩家从朋友那里得到一个新文件,则不允许玩家加载新文件,例如

是什么阻止你将json写入文件,然后从该文件中读取?或者为每个级别创建一个单独的文件,其中只包含与该级别相关的json字符串?这不是问题,问题是我正在尝试创建一个单独的文件,以便让玩家单击一个显示“加载级别”的按钮,然后弹出一个小对话框,让他们选择从哪个首选项文件加载,我只是不知道该怎么做,或者是否有可能使用
FileHandle\list()
列出存储文件的目录中的文件。将它们放到
列表
选择框
小部件中,让用户选择。我不会为此使用
首选项。