如火般的风马: 快速迁移本地项目到Bluemix云平台
来源:互联网 发布:控制算法工程师 编辑:程序博客网 时间:2024/05/01 01:33
傍晚办公室里柔和的灯光映衬下, Sonos里面想起了老郑悠扬的新歌《风马》。
自由的奔跑
在梦中的世界
永远不停息
……
老郑的这首《风马》不禁让笔者感慨起移动互联网快速发展下的拼搏与迷茫。 如何快速的将想法变成可以发布的项目, 确实困扰了很多的初创团队。 今天笔者就来简单的分享一下自己团队的经验的一部分,由于项目很多东西还处在保密研发阶段, 这里笔者参考国外的一些用例来给大家介绍一下。
首先,来介绍一下我们为什么要把项目迁移到云平台。 其实对于我们团队来说原因比较简单, 人少, 钱少, 资源少,所以需要抱大腿, 找个成熟, 稳定, 工具多构建简单的平台对于我们来说比较关键,同时不再需要担忧安装软件或处理虚拟机镜像或硬件等问题,还有就是安全问题等运维的各个方面。 同时还有原因是我们团队的人都是从IBM, 诺基亚等外企出来的, 所以不自觉的就会把国外的比较成熟的云平台来考虑, 同时以后我们所面向的客户会有很多来自海外的用户, 不如一步到位找个国际化的平台提供商。 综上各种原因, 最终大家选择了Bluemix云平台。这里要提的是很多人在初次用IBM Service的时候很容易被吓到, 为什么这么多选项和内容。 其实这也是专业的一种表现。:)
简单的介绍一下什么是Bluemix和Cloud Foundry(已经很了解的朋友可以跳过这一部分了)
Bluemix 是 IBM 基于 Cloud Foundry 的开放云架构实现,使您能够快速创建、部署和管理云应用程序。因为 Bluemix 基于 Cloud Foundry,所以您可利用运行时框架和服务的一个不断成长的生态系统。除了提供更多框架和服务之外,Bluemix 还提供了一个仪表板来创建、查看和管理应用程序和服务,并监视应用程序的资源使用情况。Bluemix 仪表板还提供了管理组织\空间和用户访问的能力。
Cloud Foundry 是一个开源的平台即服务 (PaaS)(这个对于笔者很重要, 因为笔者有开源情节, 没办法, 被以前老大灌输太多了),它允许您在云上快速创建和部署应用程序。由于它的开源根基,Cloud Foundry 并不是特定于供应商的,不会将您禁锢在专用软件或云基础架构中。Cloud Foundry 抽象出了运行云所需的底层基础架构,使您可以将精力集中在构建云应用程序的工作上。Cloud Foundry 的美妙之处在于它提供了选择。开发人员和组织可以选择:
开发框架:Cloud Foundry 支持 Java™ 代码、Spring、Ruby、Node.js 和自定义框架。
应用服务:Cloud Foundry 提供了对 MySQL、MongoDB、PostgreSQL、Redis、RabbitMQ 和自定义服务的支持。
云:开发人员和组织可选择在公共云、私有云、VMWare 和基于 OpenStack 的云中运行 Cloud Foundry。
然后咱们再简单谈谈如何具体的构建:
今天我们这里主要会用到的是Bluemix面的Mobile Data服务。
Mobile Data 是一个简单的数据存储服务。您可以使用 Mobile Data 服务来存储需要从移动客户端创建和持久保存的对象。
Bluemix Mobile架构如下, 当然其中的很多实现并没有看上去那么简单:
准备工作:
1. 搭建自己的Android开发环境, 可以使用Eclipse+ADT或者的Android Studio。 说实在的笔者一直还是不太适应Android Studio, 但是没办法, 大势所趋, google都这么干了,所以只能适应。
2. 一个注册好的Bluemix 账号。 这里还是建议大家在使用之间对Bluemix有个大概的了解。 IBM文档是出奇的全, 所以大家可以找到很多线上线下的资源去参考。
具体的步骤
云端的setup
登陆到Bluemix云平台。
如果您是第一次登陆, 可惜先熟悉一下整个界面
首先您如果还没有自己的Space, 需要新建一个自己的space。这样方便以后的管理
新建一个app template, 这个是一个比较友好和简单的界面, 所有步骤都有说明和指导
然后点击MOBILE
你可以选择Mobile或iOS8。这点点击Mobile, 其中sdk下载地址 https://www.ng.bluemix.net/docs/#starters/mobile/index.html#index
点击Continue, 然后输入App名字
然后这个app 模板就建好了
本地Android Setup:
1.. 下载android样例, 下载地址为https://www.ng.bluemix.net/docs/starters/mobile/index.html#samples。 或者可以通过git clone:
git clone https://hub.jazz.net/git/mobilecloud/bluelist-mobiledata。 Android项目在 bluelist-mobiledata-android下
2..导入Android项目:
Eclipse:
a. 点击File > New > Project….
b. Android > Android Project from Existing Code
c. 点击浏览选择要导入的项目
d. 点击Copy projects into workspace
Android Studio:
a. 点击File > Import project.
b. 把项目放在android的root文件夹下
c. 点击ok
3.. 下面我们单从Eclipse来说, 将下载的SDK中的lib文件ibmbluemix.jar、ibmdata.jar 和 ibmfilesync.jar复制到libs里面。
4.. 然后再将 applicationID、applicationSecret 和 applicationRoute 值复制到项目的 assets 文件夹中的project.properties 文件中。
5.. 在 AndroidManifest.xml 中添加网络访问权限
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.GET_ACCOUNTS" /><uses-permission android:name="android.permission.USE_CREDENTIALS" /><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE" />
6.. 初始化SDK并注册服务
a. 定义两个常量,使用它们从 bluelist.properties 文件中读取数据。
b. 在创建应用程序时,读取 bluelist.properties 文件来获取应用程序 ID。在 onCreate 方法中执行以下编辑:
c. 创建 Android 应用程序时,初始化 SDK,初始化服务,并注册 Item 规范。在 onCreate 方法中,在读取 properties 文件的代码之后执行以下编辑:
7.. 通过扩展 Mobile Data 的 IBMDataObject,并将此类标注为IBMDataObjectSpecialization,集成 IBM Mobile Data for Bluemix 服务。一定要记得添加NAME 字符串,以后会将它用作一个用来访问对象的键。
8.. 编辑 getName() 和 setName() 方法,以便使用 Mobile Data 服务的 getObject 和setObject 方法。与对象关联的值通过键来引用。您可使用 setObject(, ) 设置值,使用 getObject() 来检索它们。然后再组织导入
9.. 然后在MainActivity类中,
a. 实现 listItems 方法来从 IBM Mobile Data for Bluemix 服务读取数据项。我们将按不区分大小写的字母顺序来排序这些项。创建 listItems 作为 MainActivity 类的方法。
b. 在 onCreate 方法中设置 ArrayAdapter 后,调用 listItems() 在列表中填充已使用 IBM Mobile Data for Bluemix 服务存储的项。c. 更改 createItem 方法,以便使用一个 IBMDataObject 类实例创建新项。在该实例上调用 Mobile Data 的 save() 方法,并使用 continueWith() 方法来处理错误或加载更新的列表。d. 对 deleteItem 方法执行一些更改。它现在将在 IBMDataObject 类的一个实例上调用 Mobile Data 的 delete() 方法。delete() 方法返回一个 Bolts Task,用于检查任务是成功还是失败了。
10.. 在EditActivity中更新服务数据,finishedEdit 方法将在要更新的 IBMDataObject 的实例上调用 Mobile Data 的save() 方法。实现 continueWith() 方法来处理所有错误。
11.. 然后点击运行程序, 具体步骤这里就不赘述了。
12.. 最后去云平台上查看数据就可以了。
这里参考了IBM的很多资源, 只是给大家抛砖引玉来介绍一下啊, 知道大家在刚开始的时候肯定会像我们一样根本不知道如何操作。 我们团队现在也在不断的实践中, 希望将来大家可以使用我们的云穿戴设备。 具体的就不透漏啦, 欢迎大家多和我们一起探讨, 同时也和诸位IBM的大牛们学习。
- 如火般的风马: 快速迁移本地项目到Bluemix云平台
- Bluemix云平台实践:DevOps
- Bluemix云平台实践: 命令行的艺术CF CLI
- 基于Bluemix云平台的一个文本转语音应用
- 应用程序迁移到云平台的最佳实践
- IBM公有云PaaS平台BlueMix介绍
- Bluemix云平台实践:蓝色启程
- Bluemix云平台实践:注册试用
- Bluemix云平台实战日志:VitualMachine root
- Bluemix使用与其他云平台对比
- 用IBM Bluemix搭建云平台流程
- Django快速搭建博客 第二节 项目迁移到pycharm
- db2的项目迁移到oracle
- Qt4的项目迁移到qt5
- eclipse到Android Studio的项目迁移
- eclipse到Android Studio的项目迁移
- 将本地的mongodb迁移到阿里云的mongodb上
- 本地svn迁移到git
- makefile.am和makefile.in
- 在微信里面打开APP下载链接
- 第九章:MongoDB管理维护sharding
- nagios全攻略(一)----准备阶段
- DNS劫持和DNS污染的区别
- 如火般的风马: 快速迁移本地项目到Bluemix云平台
- iOS第三方数据库FMDB使用方法
- Leetcode 34 Search for a Range
- Eclipse格式化的时候,换行控制调整
- Grade 编译 Android 解决 Error:more than one library with package name
- 【HE美国服务器】24G内存/1TB/100M 599元/月
- 德州扑克高级技巧
- 第四章
- solr-4.10.0