如何将数据永久保存在智能手机中

问题描述:

如何将数据/变量保存在智能手机的存储器中?我想在我的应用程序中读取和写入这些变量。 这些可以是简单的字符串,如用户名,ID或密码。但是这些变量也可以是拥有多个字节数组和字节数组列表的自己的类对象。 我从sharedPreferences听到,但我认为与他们我只能保存像字符串和数字的标准对象。 希望你有一些提示如何将数据永久保存在智能手机中

+0

Android支持SQLite数据库。虽然它们不能说是永久性的,但当应用程序的数据被清除或应用程序被卸载时,Db被清除。 – crashOveride

+0

您可以将SQLite数据库存储在Assert Folder内部并在应用程序中访问它们。 –

+0

@VishalPatolia ** 1 ** - 数据将是只读的,除非您不复制并使用副本。 ** 2 ** - 数据库将在卸载时被删除,并包含所有资产文件夹。 –

有不同的可能性。

1)经典的方式:

Android使用SQLite数据库:它是那里有联系人,短信,彩信,一切都在你的手机的地方。你可以学习here如何使用android的默认数据库。

2) ORM方式:

的ORM是用于与数据库更简单地进行通信的工具。您可以用一行代码存储,删除或获取数据库的所有对象。 Android有不同的ORM,我使用Sugar ORM,因为它非常易于实现和使用。尝试阅读这里的文档:sugar getting started

如果你开始在Android的世界,我建议你学习经典的方式。但请记住,ORM越来越多地被使用!

+0

使用SQlite可以存储字节数组和字节数组数组。也许一个例子将有助于理解:一个用户名应该保存为字节数组,因此我可以读取并比较它。还有一个组ID的列表(都是字节数组),所以我想读出列表并将每个ID与给定的ID进行比较。 –

+0

我认为将实体列表存储为实体是不可能的,您必须创建一个特定的结构,如'groupId'的表,它由ID和所有者用户的外键组成。但是,另一种方法是使用sugar orm并创建一个带有ID和用户名列表的User类,然后创建一个id类,其中包含用户名作为字符串并由于ORM而保存。看看这里:https://github.com/satyan/sugar/issues/60 –

开始使用它的好处是Androids SQLite databases。例如,您可以通过手动将数据写入SD卡上的文件来使数据永久。在链接中了解更多关于它的信息。