java - 如何将数组和字符串一起保存到一个紧凑的包中

标签 java android

我正在尝试在内部保存一些用户数据。理想情况下,我想保存

String[] text;
String name;
String file_name;

一起放在一个(由于缺乏更好的术语)包中,然后使用所有保存的名称与其他数据来填充另一个 Activity ListView ,我可以在其中加载保存的信息。这是我尝试用来保存信息的代码:

Button fileName;
fileName = (Button) findViewById(R.id.save_text);

fileName.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        try {
            outputStream = openFileOutput(file_name, Context.MODE_APPEND);
            ObjectOutputStream phone_save = new ObjectOutputStream(outputStream);
            phone_save.writeObject(name);
            phone_save.writeObject(text);
            Log.i("Save", "Files saved");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
});

然后这是尝试获取已保存信息的代码(目前我只是尝试设置 TextView 的文本,而不是 ListView )

Button load;
TextView load_text
load = (Button) findViewById(R.id.load);

load.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        try {
            fin = openFileInput(file_name);
            ObjectInputStream ois = new ObjectInputStream(fin);
            String[] Loaded_Text = (String[]) ois.readObject();
            ois.close();
            load_text.setText(Html.fromHtml(Arrays.toString(Loaded_Text)));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
});

我在保存和加载数据时遇到问题,当我按下文件名按钮时,没有日志语句出现,并且当我按下加载按钮时,textView 中没有任何内容。基本上这些都不起作用,而且我完全不知道如何解决它。我确信这段代码是一团糟,但这确实是我第一次使用存储。谢谢大家!

最佳答案

发布为您可以接受的答案。

您是否考虑过使用SharedPreferences?我认为这比写入和读取文件要简单得多。您存储键值对,因此任何数据都需要一个唯一的字符串来标识它。

prefs.putString("key1",stringValue); 
prefs.putString("key2", anotherStringValue); 

您只需要在字符串数组与字符串之间进行转换。

关于java - 如何将数组和字符串一起保存到一个紧凑的包中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28127324/

相关文章:

java - 如何从类路径加载 ChromeDriver 二进制文件?

java - org.testng.TestNGException : An error occurred while instantiating class

android - 如何为每个选项卡刷新 ViewPager?

java - 检测 android Activity 启动

java - 从 Hibernate hbm 到 JPA 注释,一个具有挑战性的任务

java - Spring找不到bean xml配置文件: "Failed to import bean definitions from relative location"

java - IntelliJ 使用 Spock 测试在 Java 中重命名 - 不重命名测试文件

java - 构造函数 ArrayAdapter<String>(MainActivity.ReadJSONResult, int, List<BeerData>) 未定义

Android ImageView 将 srcCompact 绑定(bind)到 bool 变量

android - 如何在将 fragment 添加到 View 之前准备 fragment