微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 如何从服务器获取数据并使用它更新数据库?

我正在实现一个Android应用程序,我无法弄清楚如何解决这个问题:当用户点击更新按钮,我想连接到我的服务器,并检查数据是否有任何更新,如果有,我想从服务器获取数据并更新数据库.我应该使用xml结构检查并从服务器获取更新,还是有更聪明的方法来实现这一点?

解决方法:

是的,这是一种更明智的方法,但它需要在服务器端和客户端上进行一些工作.这是它的工作原理:所有数据都应该可以以JSON或XML格式下载(我更喜欢JSON).所以,你将在服务器中有这样的东西:http://example.com/resource.json.为了知道是否有新版本的数据,你可以做的是在HTTP响应中添加一个头版本(这样你就不用下载了并解析整个资源,以了解是否有新版本).

为了让您检查这些标题,您将拥有以下内容

URLConnection urlConnection = null;
try {
    urlConnection = url.openConnection();
    urlConnection.connect();

    String currentVersionHeader = urlConnection.getHeaderField("your-version-header");
    if( currentVersionHeader == null ) {
        currentVersionHeader = "-1";
    }

    int version = Long.parseLong(currentVersionHeader);

    // then you compare with the old version
    if( oldVersion < version ){
        // download the data
    }
} catch (Exception e) {}

下载和解析JSON资源已经得到了处理,你会在Google和这里找到一堆教程和参考资料.

您没有提供服务器端的详细信息(是PHP?Java ?. NET?),因此我也不会详细介绍如何实现/添加版本标头.我只是根据自己的经验向你解释了做这类事情的最好方法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。