在android中访问常用数据哪一个更快?

时间:2014-06-12 05:32:25

标签: android sqlite sharedpreferences

我需要经常使用一些变量,但我想知道哪一个会给出快速响应SQLite数据库或共享首选项?

2 个答案:

答案 0 :(得分:2)

共享偏好设置:

它是什么?

共享首选项是Android SDK中用于存储和检索应用程序首选项的API。共享首选项只是持久存储的数据值集。即使您停止应用程序或关闭设备,仍然存在这意味着您存储在共享首选项中的数据仍然存在。 SharedPreferences在活动级别可用,或在应用程序包中的所有活动中共享。

何时使用共享首选项?

o您可以使用SharedPreferences保存任何原始数据:布尔值,浮点数,整数,长整数和字符串。这些数据将在用户会话中持续存在(即使您的应用程序被终止)。

o考虑一种情况,您希望保存一个小值(登录凭证),以便稍后在用户启动应用程序时引用该值。然后共享偏好开始实施

如何使用?

SharedPreferences  sh_Pref = getSharedPreferences("Login Credentials", MODE_PRIVATE); 
Editor toEdit = sh_Pref.edit(); 
toEdit.putString("Username", "Name");
toEdit.putString("Password", " Password"); 
toEdit.commit();

SQLite数据库:

Android提供了几种存储用户和应用数据的方法。 SQLite是存储用户数据的一种方式。 SQLite是一个非常轻量级的数据库,附带Android OS。

如何使用?

要在Android中使用SQLite,应该创建一个java类作为SQLiteOpenHelper的子类。此类将充当数据库控制器,该控制器将具有执行CRUD操作的方法。此自定义java类应覆盖名为onCreate()和onUpgrade()的方法。 运行Android应用程序时,将首次调用onCreate()方法。首先,应使用getReadableDatabase()或getWritableDatabase()等方法根据所需的访问类型创建数据库实例。 Android通过提供内置方法来支持此方法。为此,应该使用SQLiteDatabase类。

答案 1 :(得分:0)

这实际上取决于您要存储的数据。在这里,我已经解释了两者的一些细节

SQLite的

大量相同的结构化数据应该存储在SQLite数据库中,因为数据库是为这种数据设计的。由于数据是由数据库构建和管理的,因此可以查询使用SQL等查询语言获取与某些条件匹配的数据子集。这使得可以搜索数据。当然,管理和搜索大量数据会影响性能,因此从数据库读取数据可能比从SharedPreferences读取数据要慢。

SharedPreferences

SharedPreferences是一个键/值存储,您可以在其中保存特定键下的数据。要从商店读取数据,您必须知道数据的密钥。这使得读取数据非常容易。但是,尽管存储和读取大量结构化数据很困难,因为您需要为每个数据定义关键字,但是除了您有一定的概念之外,您无法真正搜索数据。命名键。