为了账号安全,请及时绑定邮箱和手机立即绑定

android - 如何从文件中检索 MPAndroidChart ArrayList

android - 如何从文件中检索 MPAndroidChart ArrayList

慕田峪7331174 2021-07-29 17:13:43
我在我的应用程序中使用MPAndroidChart,我想将一个保存ArrayList在一个文件中,以备后用。这是我将其保存到内部存储中的文件的位置:ArrayList<Entry> entries = getIntent().getParcelableArrayListExtra(getString(R.string.entries_key));// Save chart dataFileOutputStream out;try {  out = openFileOutput("listFile", MODE_PRIVATE);  ObjectOutputStream outputStream = new ObjectOutputStream(out);  outputStream.writeObject(entries);  outputStream.close();  } catch (Exception e) {     e.printStackTrace();  } finally {  try {    if (out != null) {      out.close();    }  } catch (IOException e) {    e.printStackTrace();  }}这是我尝试检索它的地方,但返回的ArrayList不包含任何数据和默认文本(“无可用图表数据”)在我的LineChart:File listFile = new File(getFilesDir(), "listFile");if(listFile.exists()) {    FileInputStream inputStream = null;    try {        inputStream = openFileInput("listFile");        ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);        // This line is evil        ArrayList <Entry> entries = (ArrayList<Entry>) objectInputStream.readObject();        // Set chart properties        chart = ChartUtils.setChartProperties(chart);        LineDataSet lineDataSet = ChartUtils.createSet(ChartViewer.this, entries);        LineData data = new LineData(lineDataSet);        chart.setData(data);        // Let the chart knows data has changed        chart.notifyDataSetChanged();        chart.invalidate();    } catch (FileNotFoundException e) {        e.printStackTrace();    } catch (IOException e) {        e.printStackTrace();    } catch (ClassNotFoundException e) {        e.printStackTrace();    }}我已经仔细检查过了,我确定我正在阅读正确的文件,所以问题一定是这一行ArrayList <Entry> entries = (ArrayList<Entry>) objectInputStream.readObject();我在这里找到了从文件中读取 ArrayList 的这种方式如何将 ArrayList 写入文件并检索它?我能做些什么来解决这个问题?谢谢
查看完整描述

2 回答

?
米脂

TA贡献1836条经验 获得超3个赞

ObjectOutputStream 的文档说:

只有支持 java.io.Serializable 接口的对象才能写入流

ArrayList实现了Serializable接口,但它指的是Entry哪个不类。因此,Entry对象不会被序列化(即,不会被保存或恢复)。


查看完整回答
反对 回复 2021-08-04
  • 2 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信