没有互联网连接时如何将gps位置存储到android中的服务器

Posted

技术标签:

【中文标题】没有互联网连接时如何将gps位置存储到android中的服务器【英文标题】:How to Store gps locations to the server in android when no internet connectivity 【发布时间】:2016-08-06 23:17:50 【问题描述】:

当有互联网连接时,我能够成功地将 gps 位置存储到服务器。但是当没有互联网连接时,我想将一些存储在移动设备中,然后需要推送到服务器。有可能吗?

【问题讨论】:

是的,您可以使用 sqlite db 或共享首选项来存储 gps 位置,然后在互联网可用时推送它 【参考方案1】:

我对您的问题的考虑是,当您有互联网时,您的数据正在保存,当您离线时,您还想保存 GPS 位置,当互联网可用时,它应该与服务器同步。好吗?

为此,您可以创建一个 SharedPreference,它可以在短时间内维持所有 LatLng。并且还定义了一种可以搜索网络连通性的方法。尽快建立连接,您可以将本地存储的值与服务器同步,并且不要忘记在与服务器成功同步时清除 SharedPreference 值..

下次请分享您的代码以便更好地理解.. 快乐编码。

【讨论】:

hi @shanmugam.. 请查看此链接,这将有助于您更好地了解 SyncAdapter.. coderzheaven.com/2015/07/04/sync-adapter-android-simple-example【参考方案2】:

像这样创建一个扩展 BroadcastReciever 的类:

    public class CheckConnectivity extends BroadcastReceiver

    @Override
    public void onReceive(Context context, Intent arg1) 

        boolean isConnected = arg1.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
        if(isConnected)
              //Store your GPS Coordinates when no Connection
             Toast.makeText(context, "Internet Connection Lost", Toast.LENGTH_LONG).show();

        
        else

        //send your GPS Coordinates to Server
        Toast.makeText(context, "Internet Connected", Toast.LENGTH_LONG).show();


        
       
     

并且不要忘记在您的清单中添加权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.INTERNET" />

【讨论】:

以上是关于没有互联网连接时如何将gps位置存储到android中的服务器的主要内容,如果未能解决你的问题,请参考以下文章

无网络时用户位置 GPS 坐标

在没有互联网的情况下使用 Javascript 获取 GPS 位置 [重复]

如何将手机GPS定位的数据通过手机上网功能传送给远处的电脑(电脑连接互联网),使得电脑对手机进行准确定位?

如何将用户的GPS位置与可用的GPS位置进行比较?

没有 WiFi 或 GPS 的 iOS 位置?

如何忽略 android 中的 irelevent gps 位置更新?