【问题标题】:How to make android app work in offline mode如何让安卓应用在离线模式下工作
【发布时间】:2014-06-03 06:32:33
【问题描述】:

我想知道当用户失去网络连接时如何让我的应用离线工作。

当用户未连接 wifi 或移动数据时,我需要使用 JSON post 方法将数据发布到服务器。

我正在使用以下代码使用广播接收器检测网络状态,但不知道在此之后如何进行。
请协助我继续进行。

public class UpdateReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        ConnectivityManager connectivityManager = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetInfo = connectivityManager
                .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        boolean isConnected = activeNetInfo != null
                && activeNetInfo.isConnectedOrConnecting();
        if (isConnected) {
            Log.e("NET", "connected" + isConnected);

        } else {
            Log.e("NET", "not connected to internet" + isConnected);
        }
    }
}

【问题讨论】:

  • 为什么不把数据保存在sqlite数据库中,然后当WiFi或移动数据打开时,您可以将其发布到服务器
  • @Diffy 感谢您的回复。是这样吗??任何执行任务的示例代码?我知道进行 sqlite 设置。但不知道如何处理它来广播接收器
  • 您是否可以使用广播检查您的网络何时开启?
  • 是的,我可以检查连接性。这很好用

标签: android networking broadcastreceiver android-wifi


【解决方案1】:

this 帖子中,给出了如何从 sqlite 数据库中获取数据。然后您可以使用this 方法将数据发布到服务器。您可以在您的

中编写所有这些代码
if(isConnected){


}

【讨论】:

  • 谢谢。我需要为特定活动执行此操作
  • 您希望我详细说明哪个代码?获取数据还是发布数据?
  • 获取和发布数据对我来说很熟悉。我需要详细说明 if(isConnected){} 语句
  • 这就是你在你的问题中写的。 If(isConnected),表示它会检测网络是否连接,你说它的工作正常
  • 实际上我需要以先进先出的方式发送数据。例如:如果我输入 10 个数据意味着我输入的第一个数据应该发布
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多