适用于在线和离线模式的Android应用?

时间:2014-08-27 05:20:25

标签: android offlineapps offline-mode

我是Android的新手,并制作了一个应用程序,可以将数据提取并发布到服务器,并在在线模式下正常工作。但是,当没有互联网连接或网络故障时,我也想让它在离线模式下工作。当网络可用时,它还应该对服务器数据库进行更改(更新)。我做了很多R& D但没有得到有用的信息。

请有人指导我一些有用的步骤,示例代码(如果可能)或任何链接以使应用程序处于离线模式。

5 个答案:

答案 0 :(得分:9)

  • 您需要在线和离线定义两种应用模式
  • 监控应用中的网络连接事件以确定离线/在线模式,您需要为此编写BroadcastReciever
  • 在线模式连接到您的服务器并交换您此时需要执行的任何数据。
  • 同时在离线模式下,如果需要,可以持续存储数据

答案 1 :(得分:5)

你所问的实际上是非常复杂的。

我花了很多时间尝试解决这个问题,并在http://forbesmyester.github.io/SyncIt/的SyncIt项目中发布了我的工作。

有:

我建议您开始阅读本地版本控制组件,然后转到连接监视组件。

答案 2 :(得分:3)

使用SQLite数据库。没有互联网时,将数据保存在数据库中。然后在互联网回来时与服务器同步数据。

http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

答案 3 :(得分:2)

您可以在Android应用程序中使用SQLite数据库。在离线状态下,您可以保存本地数据库中的所有内容,当应用程序在线时,您可以将本地数据库与服务器数据库同步。

对于在Android应用程序中创建SQLite本地数据库,您可以在github中检查以下示例代码(示例项目)

https://bitbucket.org/kavi707/grocery_items_app/src

干杯...

答案 4 :(得分:1)

这里没有互联网就无法获取数据。但是可以使用旧数据。从Internet下载数据后,将其存储到数据库中。 大多数人建议SQLite database。我的建议使用任何数据库(SQLite or SQLCipher)。在上传数据之前,只需将其插入数据库并从数据库发布。因为一旦网络故障数据不会丢失。

Broadcast Receiver

此广播接收器用于通知您网络更改。连接网络后写下您的邮政编码。也许这里也可能出现网络故障。但数据仍在数据库中,因此不会丢失。