如何使用android studio在本地存储应用数据?

时间:2018-06-17 20:40:31

标签: java android android-studio local-storage

我刚开始从事android studio和app开发。我已经做了一些教程来学习Android Studio的界面和基础知识(活动,文本视图,按钮等),我参加了Java面向对象编程的大学课程。现在,这就是我想要做的事情:

我正在制作一个非常基本的应用程序,旨在帮助用户预算他们的钱。该应用程序“充当”您的帐户,并添加您最近支付的金额。从这里,您可以将资金分配给储蓄,检查等。我需要存储的数据是代表美元价值的数字,用户所做的不同分配,以及这些分配的相应美元金额。

我已经设法在Java数据结构中包含相对较好的数据(我在eclipse中开发了一些算法来开始)。我需要序列化这些数据吗?或者尝试将其写入文本文件?我一直在寻找一些教程,而大多数低级教程都令人困惑,或者需要使用SQL的高级技术。我感兴趣的是简单地本地存储,就像你用待办事项列表应用程序一样,记录你输入的任务。

赞赏任何和所有见解。

3 个答案:

答案 0 :(得分:1)

如果我是你,我会去sql路线。开始使用sqlite for android真的不难。如果您还没有看过Google自己关于此主题的教程,请查看here

尽管如此,如果您认为数据库过度,您还可以查看提及here的其他方法。实际上,其他选择是内部存储外部存储,如果它类似于待办事项列表。 共享偏好设置最常用于保留用户设置。

如果您选择转到文件路径并且不希望将数据保存为类似csv的内容,则需要使您的java对象实现Serializable接口并将其写入文件ObjectOutputStream

例如:

FileOutputStream fos = new FileOutputStream("/some/file/path/filename.ser", true);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(yourSerializableObject);

答案 1 :(得分:0)

首先重要的是,活动,TextView,按钮和其他视图组件不是Android Studio的一部分。它们是android框架的一部分。 Android Studio是IDE,如Eclipse,NetBeans等。

关于您的要求,有更多方法可以在android中保存数据。您可以使用文件,SharePreferences和sql(sqlite)。

请查看以下文件:

https://developer.android.com/guide/topics/data/

另外我建议你关注谷歌android官方文档。 https://developer.android.com/guide/

最诚挚的问候, 米兰

答案 2 :(得分:0)

有几种方法可以在设备上本地存储数据:

  • SharedPreferences - 通常用于存储应用设置(例如名字,姓氏等)。
  • 数据库 - 用于存储结构化数据,是应用程序需要存储大量数据时的最佳解决方案。此外,它具有强大而灵活的读/写操作机制。
  • Files - 不是保存结构化数据的最佳方式,也不是内置机制。此外,app还需要其他写入/读取操作权限(如果您决定在外部存储上保存数据),用户可以拒绝(如果您的应用针对的是api 23以及更高版本,则应使用runtime permissions

在您的案例中存储应用数据的最有效方法是数据库。

Google开发了Room Persistence library,它提供了超越SQlite的抽象级别,使所有内容变得简单易懂。

Here是一个很好的例子,它为Room Persistence库提供了易于理解的教程。