使用Push和CloudCode服务来构建Android应用程序

本文包含创建 BlueList Android 应用程序的一个演示、示例代码和完整指令。您可应用所学的知识来将 MobileData、CloudCode 和 Push 服务集成到自己的应用程序中。

Code">name: BlueMix 是一款 beta 级产品,随着我们不断让其功能更加完善和更易于使用,它也将不断改进。我们会竭尽全力保持本文最新,但并不总是完全跟得上现状。感谢大家的理解!

您可能已了解 Codename:BlueMix 的一些优势,这是 IBM 用于开发和部署移动和 Web 应用程序的开放平台。BlueMix 中许多预先构建的服务,使构建和增强应用程序变得很轻松。

在本文中,我们将使用 Push 服务扩展一个 Android 应用程序。 本系列的其他文章 介绍了如何向应用程序添加更多基于云的服务。

上一篇文章 已经介绍过,BlueList 应用程序是一个简单的 Android 应用程序。本文将向 BlueList 应用程序添加 Push 和 CloudCode 服务,以便在一个设备以某种方式更新一个列表时,该列表会在所有设备上更新。

在 上一篇文章 中,我们添加了 MobileData 服务,我们持久保存了一个列表中的各项。现在,我们将添加推送通知和 CloudCode,以便在更新列表时获得通知。如果未阅读本系列的上一篇文章,您可从 v1 代码着手,但需要执行 Catch up 任务,然后才能执行添加 Push 和 CloudCode 服务所需的步骤。如果已经阅读完上一篇文章,那么您现在可从现有的代码着手,执行以下步骤来添加 Push 和 CloudCode 服务。如果希望下载并直接使用 v2 代码,则需要执行一些步骤才能让包含 MobileData、Push 和 CloudCode 服务的 BlueList 应用程序正常工作。v2 代码包含本文中对 v1 代码所做的更改。

完成您的应用程序的前提条件

阅读 上一篇文章,我们在上一篇文章中向 Android 应用程序添加了 MobileData 服务。该应用程序是本文的起点。

熟悉 Android 开发。

一个 Android 开发环境。我们使用了带 ADT 的 Eclipse,但您也可以使用自己喜欢的开发环境。

熟悉用来从 JazzHub 下载 v1 和 CloudCode 的 git。

JazzHub 上的 v1 代码(单击上面的按钮)或上一篇文章中的现有代码。

JazzHub 上的 CloudCode 模块。下载此模块,它包含一个 package.zip、package.json 和 itemlist.js。

来自 Google 的一个 GCM Sender ID 和 API 密钥。在 Google 的操作说明 或 我们的操作说明 中了解如何获取此密钥。

备注:您需要一个 Gmail 帐户来执行此任务。

补充任务:如果您跳过了上一篇文章

从 JazzHub 下载 v1 代码,如果尚未下载该代码。

参见 上一篇文章 中的第 1 步.在 BlueMix 上创建 Mobile App Services 包。

执行第 1.1 - 1.10 步,但有一处例外:这次不要删除 configuration.json 文件中额外的行。

执行这些步骤,登录到 BlueMix 上并创建一个应用程序 (BlueList),下载 Android SDK,使用您的 API 密钥更新 configuration.json 文件,并向您的 libs 目录添加 ibmcore.jar 和 ibmdata.jar。

要在添加 Push 服务之前在模拟器中运行此代码来验证您的 Android 开发环境,现在正是时候。您应该能够执行上一篇文章中的第 7 步. 运行应用程序和第 8 步. 在云中查看数据。

如果应用程序成功运行,则说明您赶上了进度,可以添加 Push 和 CloudCode 服务了!

开始之前:获取您的 GCM Sender ID 和 Push 所需的 JAR 文件

获取您的项目编号和 GCM API 密钥

打开 Google Developers Console。

单击 CREATE PROJECT,输入一个项目名称,单击 Create。

从页面顶部复制项目编号。这是您的 GCM Sender Id (Google API Project Number),以后会需要该信息!

单击页面左侧的 APIs & auth。

打开 Google Cloud Messaging for Android。

在 APIs & auth 下,单击 Credentials。

单击 Public API access 部分下的 CREATE NEW KEY。

单击 Server key。

单击 Create。

从 Public API access 部分复制 API 密钥。这是您的 GCM Sender Auth Token (GCM API Key)。以后将需要此信息!

将 gcm.jar 添加到您的项目中

打开 Eclipse,选择 Window > Android SDK Manager。

选择窗口底部的 Show:Obsolete 复选框。

滚动到底部,选择 Google Cloud Messaging for Android Library。

单击 Install 1 Package 并接受许可。

在您的文件资源管理器中找到 <Android_SDK_Location>\extras\google\gcm\gcm-client\dist

将 gcm.jar 文件复制到您项目的 libs 目录中。

将 ibmcloudcode.jar 和 ibmpush.jar 添加到您项目中

找到您在 上一篇文章 中第 1.7 步中下载的 Android SDK。

将 ibmcloudcode.jar 和 ibmpush.jar 文件复制到您项目的 libs 目录中。现在 libs 库中应该包含以下 5 个 jar 文件:

第 1 步. 在 BlueMix 中将 GCM API Key 添加到您的应用程序中

登录到 BlueMix。

假设您已完成 上一篇文章 中的步骤或上面补充的任务步骤,在 DASHBOARD 视图中单击您的应用程序。

单击 Push 服务 Your_app_name:Push。

在 Push 服务的 Configuration 选项卡下,单击 Google Cloud Messaging 下的 EDIT。

填入您之前从 Google 获得的 GCM API Key 和 Google API Project Number,单击 SAVE。

时间: 2024-09-18 13:20:10

使用Push和CloudCode服务来构建Android应用程序的相关文章

构建 Android 应用程序一定要绕过的 30 个坑

本文讲的是构建 Android 应用程序一定要绕过的 30 个坑, 学习领域有两类人 - 一类是那些通过艰苦努力一步一步学习的人,一类是学习别人的经验教训走捷径的人.在此,我想分享一些自己的经验给大家: 添加使用第三方依赖库前,请再三思考,它绝对是一个慎重的决定; 如果用户看不见有些界面, 请一定不要绘制它!; 除非真的需要,否则不要使用数据库; 应用程序中 65k 方法数的限制很快就能达到,我意思是真的很快!不过 multidexing 能拯救你; RxJava 是对 AsyncTask 和其

用PHP编写Android应用程序

Google的开源Android移动操作系统正在席卷全球智能手机市场,和苹果不一样,它对那些想将应用程序提交到iPhone App Store的开发人员有着严格的指导方针和要求,Google的Android平台非常开放,甚至还可以用PHP编写Android应用程序,Irontech创建了一个运行在Android上的PHP移植程序,结合Android的脚本层(Scripting Layer for Android,SL4A),你就可以构建PHP Android应用程序了. 在这篇文章中,我们将介绍

使用PHP开发Android应用程序技术介绍

Google的开源Android移动操作系统正在席卷全球智能手机市场,和苹果不一样,它对那些想将应用程序提交到iPhone App Store的开发人员有着严格的指导方针和要求,Google的Android平台非常开放,甚至还可以用PHP编写Android应用程序,Irontech创建了一个运行在Android上的PHP移植程序,结合Android的脚本层(Scripting Layer for Android,SL4A),你就可以构建PHP Android应用程序了. 在这篇文章中,我们将介绍

Android应用程序签名概述

在Android 系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系. 1. 为什么要签名 如果只能用一句简单的话语来回答这个问题的话,我会说:"这是Android系统所要求的". 应用程序签名是一个这样的过程,即使用私有密钥数字地签署一个给定的应用程序,以便达到如下3个目的: ◆识别代码的作者 ◆检测应用程序是否发生了改变 ◆在应用程序之间建立信任 基于这一信任关系,应用程序可以安全地共享代码和数据.如果一个 permis

gradle构建android项目详解

1.用Gradle构建 1.1 工程结构 如图所示,这是一个不能更普通的Android的Gradle工程了. 根目录下面的settings.gradle当中主要是用来include子模块的,比如我们这个工程有一个叫作app的子模块,那么settings.gradle的内容如下: include ':app' 根目录下面的build.gradle包含一些通用的配置,这些配置可以在各个子模块当中使用. gradle.properties文件包含的属性,会成为project的properties的成员

智能客户端-使用 NHibernate 和 Rhino 服务总线构建分布式应用程序

有很长一段时间,我的工作内容几乎都是 Web 应用程序.当我要构建一个智能客户端应用 程序时,起初我觉得非常困惑,不知该如何构建这样的应用程序.怎么处理数据访问?智能客 户端应用程序与服务器之间如何通信? 而且,我那时已经投入很多,拥有一些能够显著减少开发时间和成本的工具,而我真的希望 可以继续使用这些工具.我花了一段时间来深入考虑各种细节问题,在这期间,我一直在想如 何让 Web 应用程序更简单些呢,当然我需要先知道如何处理这样的应用程序. 智能客户端应用程序有利有弊.从有利的一面看,智能客户

智能客户端:用NHibernate和Rhino服务总线构建分布式应用程序 第2部分

在 2010 年 7 月刊的<MSDN 杂志>中,我开始介绍为借阅图书馆构建智能客户端应用程序 的过程. 我将该项目命名为 Alexandria,并决定使用 NHibernate 进行数据访问,使用 Rhino 服务总线实现与服务器之间的可靠通信. NHibernate (nhforge.org) 是一个对象关系映射 (O/RM) 框架,而 Rhino 服务总线 (github.com/rhino-esb/rhino-esb) 是构建在 Microsoft .NET Framework 上的开

用AJAX调用SOAP Web服务:构建Web服务客户机

ajax|web|web服务|客户机 [导读]本文介绍如何使用异步 JavaScript 和 XML (Asynchronous JavaScript and XML, AJAX) 设计模式来实现基于 Web 浏览器的 SOAP Web 服务客户机. AJAX 已普遍用于许多知名的 Web 应用程序服务,例如 GMail.Google Maps.Flickr 和 Odeo.com.通过使用异步 XML 消息传递,AJAX 为 Web 开发人员提供了一种扩展其 Web 应用程序价值和功能的途径.这

用AJAX调用SOAP Web服务:构建Web服务客户机(2)

ajax|web|web服务|客户机 WS.Call 对象公开了以下三个方法: •add_handler.向处理链添加请求/响应处理程序.处理程序对象在调用 Web 服务的前后被调用,以支持可扩展的预调用处理和后调用处理. •invoke.将指定的 SOAP.Envelope 对象发送给 Web 服务,然后在接收到响应后调用回调函数.当调用使用文本 XML 编码的文档样式的 Web 服务时,请使用此方法. •invoke_rpc.创建一个封装 RPC 样式请求的 SOAP.Envelope,并将