热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何将数据从服务器发送到Android?

我正在开发一个项目,我希望我的服务器将一些数据发送到我的应用程序(不需要从移动设备调用Web服务).它就像一个操作移动应用程序以添加数据的Web面板.因此,当用户在网站中添加数据并

我正在开发一个项目,我希望我的服务器将一些数据发送到我的应用程序(不需要从移动设备调用Web服务).它就像一个操作移动应用程序以添加数据的Web面板.因此,当用户在网站中添加数据并单击添加时,它应该将该数据添加到移动应用程序(如果移动设备连接到互联网).它也像向Android应用程序发送命令.
我计划使用推送通知(GCM),但推送通知不是一个好选择,因为我希望用户知道我们正在移动应用程序中添加数据.即使应用程序未处于活动状态或已打开,它也应添加.

我想我有3个选项

>在服务器和移动设备之间建立会话启动客户端服务器通信
>使用SMS发送命令,然后根据要求调用Web服务
>每隔15-20秒调用一次Web服务以检查是否有任何更新. (即使在背景中)

如果我有任何其他选择来实现这一点,请建议.

解决方法:

我真的不知道你从哪里得到你的信息,但你和MD都错了,GCM是最好的选择.

从你的问题:


I planned to use Push Notification (GCM) for this, but push

notifications will not be a good option as I dnt want user to know

that we are adding data in mobile app.


GCM与向用户显示通知相关,但它不是它的功能.

GCM是“Google Cloud Messaging”.它只会向您的应用发送消息.此消息在BroadcastReceiver中接收.从此BroadcastReceiver内部,您可以执行所需的任何操作,例如与服务器同步信息.

我将为GCM展示BroadcastReceiver的可能示例实现.

这是一个简化的例子,而不是一个完整的实现:

public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle b = intent.getExtras(); // you send those extras from your server
int type = b.getInt("type");
switch(type){
case TYPE_SYNC:
// start a `Service` to sync data from your server
break;
case TYPE_ADD_DATA:
long id = b.getLong("id");
String name = b.getString("name");
String descr = b.getString("descr");
// call code to add id, name, descr to your local data
break;
case TYPE_NOTIFICATION:
String title = b.getString("title");
String message = b.getString("message");
// call code to make a notification with title and message
break;
}
}
}

在此示例中,您的服务器可以发送3种不同类型的GCM.

> TYPE_SYNC:将使您的应用启动后台服务,该服务将连接到服务器并同步信息
> TYPE_ADD_DATA:将直接在消息内发送数据并直接添加到设备存储中(可能是SQLite)
> TYPE_NOTIFICATION:这是用户收到任何通知的唯一选项.其他两个选项对用户是透明的.

要获得完整的实现以及如何正确使用WakefulBroadcastReceiver,请查看官方文档:http://developer.android.com/google/gcm/client.html


推荐阅读
author-avatar
搁浅几世琉璃
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有