Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中运行的应用程序中存储数据的最佳选择[在SQLite之前]_Java_Android_Database_Sqlite_Storing Data - Fatal编程技术网

Java 在android中运行的应用程序中存储数据的最佳选择[在SQLite之前]

Java 在android中运行的应用程序中存储数据的最佳选择[在SQLite之前],java,android,database,sqlite,storing-data,Java,Android,Database,Sqlite,Storing Data,我对android开发和编程都是新手 我正在开发一个应用程序来为每个球员创建足球统计数据,从长远来看,我正在使用SQLite来存储数据。然而,我想知道是否有一种方法,以及它是否有意义,在我的应用程序运行期间存储数据而不将其插入数据库,每次用户试图添加新的统计数据时 此外,我想知道这样做是否有意义,我最大的担心是,一直向数据库插入数据会降低我的应用程序的速度,我希望更多有经验的开发人员了解这一点,并思考这个“问题” 我试图研究这个主题,但是我得到的只是在数据库中存储数据,并使用SharedRefe

我对android开发和编程都是新手

我正在开发一个应用程序来为每个球员创建足球统计数据,从长远来看,我正在使用SQLite来存储数据。然而,我想知道是否有一种方法,以及它是否有意义,在我的应用程序运行期间存储数据而不将其插入数据库,每次用户试图添加新的统计数据时

此外,我想知道这样做是否有意义,我最大的担心是,一直向数据库插入数据会降低我的应用程序的速度,我希望更多有经验的开发人员了解这一点,并思考这个“问题”

我试图研究这个主题,但是我得到的只是在数据库中存储数据,并使用SharedReferences,我不认为这是我想要的,但是我可能错了


请帮助。

您正在寻找SQlite
SharedReferences
仅用于此-首选项,而不是大量的统计数据


把你的数据库代码放在一个单独的线程中,你就不会注意到你的应用程序有任何慢下来。请回到这里寻求帮助。

我无法直接与android对话,但我在iPhone和桌面应用程序上遇到过类似的设计问题


这取决于应用程序的具体情况,以及最佳方式。如果你的应用程序主要是关于输入播放和保存统计数据,我会在内存中保留一小部分最新统计数据,足以填充用户界面,然后在后台线程上创建一个“数据管理器”,其唯一目的是将这些新添加的统计数据插入数据库。

,我会马上把它放到数据库里。按照android的工作方式,如果你的用户导航到另一个应用程序(甚至可能接到电话),他们已经输入的数据可能会丢失

显然,可以覆盖该意外事件(保存在
onPause
中,等等),但我始终认为尽快将数据放入永久存储器更安全。(请注意,这是一个激烈争论的话题,我只是陈述我的偏好)

立即保存到DB不会影响应用程序的速度(取决于插入的数据类型),而是影响电池寿命。访问永久性存储需要更多的电源,因为处理器还需要执行更多的步骤


如果您在UI线程以外的线程中执行所有DB活动,那么就应用程序速度而言,事务几乎是完全不可察觉的。

如果您使用implement Loader回调,则不会降低应用程序的速度。看一看这张照片。它们可以通过Android兼容性库获得