Java 在android中保存到文件

Java 在android中保存到文件,java,android,Java,Android,我为一个游戏创建了一个简单的地图创建者,我想创建一个保存按钮,它将永远保存游戏文件中该关卡的所有信息,因此当他们退出应用程序时,关卡仍然存在,我尝试将所有信息保存在一个文本文件中,但我无法理解它是如何工作的,如何使用FileOutputStream,以及如何在以后加载文本文件。是否有更简单的方法保存某个级别或更推荐的方法?有人能告诉我如何保存一个文本文件并简单地加载它吗?谢谢 毫无疑问,SQL Lite数据库正是您想要使用的,如果您将数据保存在DB中,您将在以后增强appp,从而可以轻松地将保存

我为一个游戏创建了一个简单的地图创建者,我想创建一个保存按钮,它将永远保存游戏文件中该关卡的所有信息,因此当他们退出应用程序时,关卡仍然存在,我尝试将所有信息保存在一个文本文件中,但我无法理解它是如何工作的,如何使用FileOutputStream,以及如何在以后加载文本文件。是否有更简单的方法保存某个级别或更推荐的方法?有人能告诉我如何保存一个文本文件并简单地加载它吗?谢谢

毫无疑问,SQL Lite数据库正是您想要使用的,如果您将数据保存在DB中,您将在以后增强appp,从而可以轻松地将保存的信息与服务器同步,这样游戏状态就可以与其他设备同步,而无需使用DB,只需共享DPrefs。这要复杂得多。
我还建议您使用Android的ORM,这样您就不需要编写简单的SQL代码了

如果您没有存储大量数据,最好的方法是使用。这里,数据存储为键值对。使用这种方法存储和检索数据更容易

e、 g

存储数据

获取数据


如果您真的想使用流

在保存按钮的onClick方法中,您希望调用:

try
{
     FileOutputStream fos = getApplicationContext().openFileOutput("file_name.txt", Context.MODE_PRIVATE);
     ObjectOutputStream os = new ObjectOutputStream(fos);
     os.writeObject(obj);
     os.close();
} catch(Exception e) {
      //handle exceptions
}
这将把您在obj中定义的内容保存到名为file_name.txt的文件中

要从此文本文件读回obj,可以调用:

try
{
     FileInputStream fis = getApplicationContext().openFileInput("file_name.txt");
     ObjectInputStream is = new ObjectInputStream(fis);
     my_obj = (MyObject) is.readObject();
     is.close();
} catch(Exception e) {
     //handle exceptions
}

你可以使用SQLite数据库一个非常简单的方法来保存一些东西到文件系统是使用SharedReferences框架。。。如何使用FileOutputStream您想做什么?你已经有代码了吗?对于你问题的另一部分,也许给我们一些代码和exception@njzk2我已经有代码了,我正在尝试在应用程序中保存一个文本文件,这样用户就无法获取文本文件,加载后我从未使用过SQL,我也不太理解它,在文本文件中键入所有信息并加载不是更容易吗?如果你真的想创建一个有用的游戏,并且我打算使用greendao,那么你就可以使用实体,而不必编写烦人的简单SQL代码。Nickolaus是对的。但是如果你想在这条路上使用文本文件,但我不推荐。如果您只有3、4、5个值要存储,那么像前面提到的arol_123这样的共享引用就是您想要的。@Nickolaus如果是,我需要下载MYSQL并学习如何使用它吗?复杂吗?我不需要写更多的信息,比如每个块在哪里以及有多少块。你不需要下载任何SQLLite作为标准数据库被实现到android中的东西,看看它的用法看看这个网站:但是,如果你使用greendao,你根本不必关心SQL,ORM会将所有代码编译成SQL语句
try
{
     FileOutputStream fos = getApplicationContext().openFileOutput("file_name.txt", Context.MODE_PRIVATE);
     ObjectOutputStream os = new ObjectOutputStream(fos);
     os.writeObject(obj);
     os.close();
} catch(Exception e) {
      //handle exceptions
}
try
{
     FileInputStream fis = getApplicationContext().openFileInput("file_name.txt");
     ObjectInputStream is = new ObjectInputStream(fis);
     my_obj = (MyObject) is.readObject();
     is.close();
} catch(Exception e) {
     //handle exceptions
}