如何在安卓应用程序中保存数据

这是关于在应用中保存数据和应用状态系列文章中的***篇。在安卓SDK中有许多机制可以用来保存数据,决定使用哪一种和何时触发该操作常让人困惑。 当创建个人应用程序的时候你想要做的***件、最容易的事就是保存一些用户输入的、明确需要保存的数据。下面是一些常用来持久化存储的方法:

坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都茶艺设计小微创业公司专业提供成都定制网站营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。

  • 数据保存最基本的方法就是保存到外置存储设备的文件上。这种存储可以被用户和所有的应用程序获得,当设备当作外置存储挂在的时候也可以看到。即使 你的应用卸载了该文件也会一直保留,除非你用GetExternalFileDir方法获得保存文件的文件夹。这最适用于被用户编辑过的文件,即使应用卸 载了也***一直保留着,例如图片和文档。
  • 你也可以把文件保存为内部存储,这对于你的应用程序是私有的。这种情况下,用户和其他应用程序都得到这些文件,并且当你应用卸载的时候文件将被删除。这最适用于保存一些简单的数据,避免了处理数据库的开销。
  • 另外,你也可以把用户的配置保存成 键/值对,使用Preference API来创建SharedPreferences文件。你可以创建一个PreferenceActivity或者包含 PreferenceFragment的Activity保存参数配置,他们的布局中都有Preferences 对象来代替View对象。
  • ***,如果你要保存的数据结构很复杂,每个应用都有自己的私有的SQLLite数据库来保存数据。如果你的应用被卸载,这些数据也将被销毁。

另外,有些情况需要保存应用程序的当前状态,因为某个事件被触发。例如:

  • 当设备被旋转的时候,当前的Activity被重新创建,布局也被调整。
  • 当你的应用被用户或者其他应用放到后台去运行的时候,例如手机接到一个电话。另外,用户打开了应用程序的另一个Activity,当前的Activity也会被放到后台。任何在后台运行的Activity当内存不足的时候都可能被回收,当需要的时候再被重新创建。
  • 当用户明确地关闭了应用。

以上的情况,你都需要持久化保存用户输入的数据。当Activity被放到后台或者在销毁的过程中,onPause方法总是被调用,紧接着是 onStop即使UI被完全隐藏。所以***在OnPause方法中保存数据。随后,当用户再次接触之前的Activity,如果它仍在内存中 onRestart,onstart和onResume方法将被调用,如果已经被回收了就需要被重新常见,那么onCreate、onStart、和 onResume将被调用。所以如果你想在所有情况下都再次显示之前的数据,你应该在onResume方法中恢复UI。

如果不需要***的保存数据而只想保存UI的状态,你可以在onSaveInstanceState方法中把数据保存在Bundle中。该方法不能用 来保存数据,因为它不是Activity生命周期的一部分,仅仅当Activity需要重新创建或者被放到后台的时候被UI事件触发,被***销毁的时候该 方法不被调用。所以它仅用于保存一些暂时性View状态。有些数据已经被安卓SDK保存了,但你可能需要保存些额外的信息,例如,假如你有些自定义的控 制,当用户按返回键回到Activity的时候,UI的状态需要被恢复,如果Activity仍在内存中,保存有状态信息的bundle对象可以在 onRestoreInstanceState方法中获得,如果Activity被回收了需要重新创建,可以在onCreate方法中获得bundle对 象。

当前题目:如何在安卓应用程序中保存数据
网址分享:http://www.shufengxianlan.com/qtweb/news20/496320.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联