云计算在Android应用开发有哪些体现?

  • 回答 (6)
  • 关注 (0)
  • 查看 (332)

随着移动网络速度大大提升,使得云与端应用软件需求量越来越大。“云”无论如何飘必须要“落地”,即必须要有移动终端设备和相应的软件支持,那么云计算在Android应用开发有哪些体现?

jyayfpvrjyayfpvr提问于
艾迦号游戏程序员、《游戏引擎架构》译者回答于

在Android APP开发方面还是有帮助的

Android-app 项目目录结构(以osc/android-app为例)

gradle 需要的配置和脚本有:

  • gradlew/gradlew.bat/build.gradle => 构建脚本。
  • settings.gradle => 子项目。
  • app/build.gradle => 构建配置(设置签名, debug/release, 依赖等等)。
  • gradle.properties(优先于 config/gradle.properties, 当 gradle.properties 不存在时,则尝试读取 config/gradle.properties) => 用户设置 jdk/gradle, 可定义变量。
  • gradle/wrapper/gradle-wrapper.properties => 构建使用的 gradle 的版本(请使用gradle 2.0以上版本)。

关于gradle构建流程:

  1. 判断是否是标准的 gradle 项目。
  2. 读取 settings.gradle 文件,找到子项目的路径。
  3. 读取 gradle.properties 或 config/gradle.properties 文件(确定 keystore。如果 keystore 使用私有项目地址,则使用当前用户身份下载。如果没有设置或者不存在私有项目地址及权限错误,则生成随机签名用来构建)。
  4. 读取 gradle/wrapper/gradle-wrapper.properties 文件, 确定使用的 gradle 版本,下载并解压。
  5. 进入子项目目录。如果没有定义,即为项目根目录。
  6. 读取子项目中 build.gradle 文件,修改其中的 signingConfigs section 和 buildTypes section,以确保使用正确的签名和构建版本。
  7. 构建成功,上传apk。

关于setting.gradle:

关于config/gradle.properties:

gradle 使用的 gradle.properties 必须位于项目根目录,为了不让开发者本地项目中的 gradle.properties 上传到线上仓库, 可将该文件加入到 .gitignore 中,然后在 config/gradle.properties 配置 android 构建需要的 keystore 信息,配置可参考 上图。

私有的 keystore 存储在私有仓库,从而保证了签名文件的安全。如果用户根目录下存在 gradle.properties 文件,则不 再读取 config/gradle.properites。注明: osc/android-app 项目中 config/gradle.properties 使用了绝对路径,用户可设置如下:

RELEASE_STORE_FILE=http://git.oschina.net/your/private-project/blob/ref/path-to-keystore

关于app/build.gradle:

签名设置也可采用如下形式:

//signing files settings
signingConfigs {
    debug {        #相对路径且存在;否则使用Git@OSC的keystore(绝对路径构建失败)
        storeFile file("your_secret.keystore")
        storePassword RELEASE_STORE_PASSWORD
        keyAlias RELEASE_KEY_ALIAS
        keyPassword RELEASE_KEY_PASSWORD
    }
    release {        #网路地址存在;否则使用Git@OSC的keystore
        storeFile file("http://zql.org/zouqilin/gradle_keystore/blob/master/git-gradle-key.keystore")
        storePassword RELEASE_STORE_PASSWORD
        keyAlias RELEASE_KEY_ALIAS
        keyPassword RELEASE_KEY_PASSWORD
    }    test {        #混合形式
        storeFile file("http://zql.org/zouqilin/gradle_keystore/blob/master/git-gradle-key.keystore")
        storePassword "oschina123"
        keyAlias  "alias_name"
        keyPassword "oschina123"
    }
}

设置项目的语言为Android。

进入项目首页会出现【生成apk】按钮。

点击【生成apk】按钮,进入构建页面(使用当前用户的身份拉取私有仓库中的 keystore )。

注意

如果想使用项目中提供的 keystore(私有仓库地址),请选中该复选框!

1.构建过程。

2.构建完成(提供 apk 下载)。

3.生成随机签名(提供签名信息和 keystore 下载,项目中未提供签名,为方便测试,码云为每个项目生成了随机的签名)。

暴躁的蛆宝宝回答于

其实在Android平台中“云端”应用的例子很多,如Android 系统预装的Gmail、日历和Google Map等。

举个例子,Android天气信息查询案例

首先是UI部分,这个系统中采用的UI控件主要是ListView控件,除了UI以外,开发这个系统的核心问题还有3个:从哪里可以获得这些数据;采用什么技术获得;获得数据后如何解析。

从哪里可以获得这些数据,也就是信息数据的来源,这里的信息可以分为中国主要城市名称和某个城市当前的天气信息两部分。后者与其他的Android数据库应用系统略有不同,这里的某个城市当前天气信息是不可能从本地手机数据库中获得的。道理很简单,就是这些数据是实时动态变化的,是无法预知的,因此只能从“别人”那里获得,这里“别人”就是常说的“云计算”中的“云”。“云”能够按需求提供给我们所需要的数据。在案例中使用Google公司提供的天气信息服务。对于前者而言,由于这些数据是固定的,因此可以把数据硬编码到程序中或者放到手机端的数据库中,但本案例中数据的来源,是Google公司提供的世界城市信息服务。采用什么技术获得数据呢?解决这个问题的关键是使用什么样的“云”(服务器端),由于上述的两个Google服务都采用HTTP协议,因此可以采用Java的一些支持HTTP协议的网络通信技术。除了可以使用HTTP协议外还有很多技术可以使用,例如:Socket和Web Service等,但是这些都要依赖于“云”开放什么形式的API。获得数据后如何解析?这个问题也要依赖于使用的“云”,一般而言,“云”都会提供多种形式的数据以满足不同用户的需求。在本例中采用的两个Google服务,它们返回的数据格式有JSON和XML,可以针对这些格式采用不同的技术进行解析。云与端的应用技术主要是网络通信。

qzuser回答于

Google 正式发布最新版 Android 平台——Android 9 Pie,腾讯云终端安全团队在第一时间升级应用加固方案,完成  Android9 Pie  的适配工作,腾讯云终端安全团队均在第一时间升级应用加固方案,使应用加固方案与最新版 Android 系统完美适配

腾讯云终端安全团队为保证应用加固方案的稳定和可靠,在方案上线前均会经过严格测试:

1、与谷歌、小米、华为、vivo等主流厂商(厂商排名不分先后)以及安卓绿色联盟深度合作,共同完成应用加固方案的兼容适配工作;

2、云端百台热门机型+人工真机测试,经过严格测试后方案才会进行线上部署。

腾讯云终端安全团队出品的应用加固方案,作为QQ、应用宝、王者荣耀助手等腾讯超级 APP 的加固方案,始终致力于为国内外开发者提供优质、可靠、稳定的加固方案。

弹指之间好奇心很强的宅男回答于

利用云计算创建的Android应用优势

  1. 快速访问:用户可通过移动设备和平板电脑设备完全访问信息,无论其位置如何。

  2. 高安全性:云服务器用户之间拥有极其严格的安全隔绝机制,具有极好的安全性,可以放心地将信息存储在云环境中。

  3. 添加新功能:在上线新功能时,使用云计算的Android应用可保持始终持续运行而不会中断大批量的更改,因此可以更好地在更改和改进应用的同时实现最好的运行管理。

  4. 灵活性:如果正在使用云存储创建的Android应用,则可以在世界任何地方使用它。即使没有自己的手机,只要连接到互联网,可以使用任何移动设备。

  5. 低成本:部署在云服务器等云计算基础设施中,前期成本较低。

  6. 更新信息:可以将所需的应用同步在云上,因此可以获取各种活动的最新数据。由于云技术,一个用户所做的任何更改都会立即反映给其他用户。

刺猬Christian.CS.真理使人得自由.回答于

在Android体系结构中,Linux内核负责管理电源管理、内存管理、安全设置等任务,应用程序框架级包括与设备基本功能直接通信的模块。如果Android应用是使用云技术创建的,则可以使复杂的云应用程序在用户所在的位置运行。开发人员可以轻松地创建由云技术支持的Android应用,并享受云技术带来的好处,如更快的上线时间、可承受性和敏捷性。由于以移动为中心的应用程序和界面是最新的技术趋势,与传统方法相比,创建基于云环境的应用是更好的方法。在云环境的帮助下,可以创建具有创新性、可靠性和用户友好性的应用程序。由于云基础架构由服务提供商管理,应用程序开发人员可以完全专注于创建最佳应用程序。

lailaiqong回答于

现在的微信、QQ等大型软件用的不都是腾讯云的计算支持

扫码关注云+社区

领取腾讯云代金券