全国服务热线:4006-028-024 成都热线:028-86633922
新闻中心网站专题联系我们
行业新闻 建站经验 网站建设资讯 手机网站资讯 微信开发资讯 APP开发资讯 商城网站资讯

成都手机网站建设:谷歌公布 Google I/O 2017 for Android源代码

发布人:桔子科技    发布时间:2017-09-08 11:42:12    分享到:

Google公布I/O 2017 for Android源代码

近日,谷歌公布了官方 Google I/O 2017 for Android 应用的源代码。

谷歌官方表示,今年的应用对现有功能做出了实质性的修改,同时增加了几项新功能。它还扩展了技术栈,以便可以利用Firebase。谷歌重点介绍了该应用的几个显著改变以及它们的设计考虑。

 

2017版最突出的一项新功能是会议预订系统,该系统旨在帮助节省现场参会者的时间并提供简洁顺畅的会议体验。注册的参会者可在会前或大会期间预订会议并加入等待列表;预订可以快速进入会场,而不必排上漫长的队伍。预订数据与参会者的大会胸卡同步,这样,会议工作人员可以使用启用NFC的手机核实预订数据。预订功能不仅大受欢迎,预订数据也帮助会议工作人员在I/O会前或大会期间改变会议室大小,以适应实际的座位需求。

 

此预订功能是使用Firebase Realtime Database (RTDB)和Cloud Functions for Firebase来实现的。RTDB可在不同用户设备之间轻松同步,我们只需要在代码中实现一个侦听器来接收数据库更新。RTDB还提供开箱即用的离线支持,即使是在旅行期间网络连接断断续续时,也能获取会议数据。一个云函数在后台处理用户的预订请求,使用事务来确保状态的正确性(防止顽皮的用户预订太多座位!)并与会议胸卡系统通信。

在往届大会中,我们使用ContentProvider作为所有应用数据之上的抽象层,这意味着,我们必须确定如何将RTDB数据集成到ContentProvider。我们需要在两个本地数据缓存方案之间权衡考虑:

1)通过ContentProvider访问的现存本地SQLite数据库,

2)RTDB创建的本地缓存,用于支持离线访问。我们决定将所有应用数据集成到ContentProvider中:一旦RTDB中更改了用户的预订数据,我们即会更新ContentProvider,使之始终成为应用数据的单一可信来源。这意味着,我们需要只在Session Detail Activity这个屏幕中保持对RTDB的开放连接,在这里,用户可以主动管理他们的预订。在应用的其他部分显示的预订数据由ContentProvider提供支持。在离线模式下,或者如果到RTDB的连接断断续续或者延时严重,我们只需从ContentProvider获取用户预订数据的最近已知状态。

我们还必须设计出好的方案,将RTDB集成到整个IOSched同步逻辑中,尤其是由于RTDB提供的同步模型与我们之前在该应用中使用的先ping再fetch的方法大不相同。我们决定继续使用Cloud Endpoints在各个设备之间同步用户数据并与网络和iOS客户端同步(数据本身存储在数据存储区中)。

 

尽管RTDB提供开箱即用的数据同步功能,我们还是希望确保用户的预订数据在所有设备上都是最新的,即使应用未在前台运行。我们使用一个云函数将RTDB预订数据集成到同步流中:一旦RTDB中更改了用户的预订数据,该函数即会更新端点,而这会触发向所有用户设备发送一个Firebase云消息传递下行消息,随后即会计划数据同步。

 

今年的应用还提供了一个资讯流的功能,向用户每小时通报I/O上的进展动态(该应用的大多数用户都在远程,资讯流是他们了解大会的窗口)。资讯流也由RTDB驱动,通过简单的CMS将数据推送到服务器。我们使用一个云函数来监控RTDB资讯流数据,当在服务器上更新资讯流数据时,该函数将向客户端发送一个云消息传递下行消息,后者会以视觉形式通知用户存在新的资讯流项目。

在2015年和2016年,我们一直采用MVP架构的IOSched,今年,我们继续使用该架构。这种架构很好地分离了关注问题,方便测试,并且总体上使我们的代码更整齐,更易于维护。对于资讯流功能,受到Android架构蓝图的启发(https://github.com/googlesamples/android-architecture),我们决定试验一种更轻量级的MVP实现方法,该方法提供必要的模块化,同时又非常容易概念化。其目标兼具教育性和实践性:我们希望为开发者示范一种备用的MVP模式;我们还希望展示一种适合我们对此功能的需求的架构。

IOSched首次大量使用了Firebase Remote Config。在过去,我们发现自己无法在大会之前或大会期间通知用户非会议数据的更改:WiFi信息、巴士时刻表、拼车折扣代码等。强制应用更新并不可行;我们只希望更新应用内的默认值。使用远程配置可以轻松解决我们的这个问题。

最后,我们设计出一套三层系统,用于通知用户上述更改:

通过云消息传递和数据同步(先ping再fetch模型)传达大会数据和用户数据更改。

资讯流数据更改通过RTDB进行控制。

对应用内常量的更改通过远程配置进行控制。

未来计划

尽管我们公布了2017年代码,未来几个月我们仍有工作要做。我们将要更新代码,以遵循后台处理的现代模式(并使我们的应用兼容“O”),未来,我们将采用Android的架构组件来简化应用的总体设计。开发者可以在GitHub上跟踪此代码的更改情况

本文是成都网站建设公司、成都网站设计制作公司、成都APP开发公司、成都响应式网站建设、成都VR全景制作-桔子科技公司为您整理!
成都网站建设,成都网站设计,成都网站制作,成都网页设计,成都网站建设公司 ,成都网站设计公司,成都网站制作公司,成都网页设计公司,网站建设网站制作网站设计网页设计成都响应式网站建设、成都响应式网站制作、成都响应式网站开发、成都全景制作、成都VR全景制作成都手机网站建设,手机网站建设,成都APP开发,APP开发,成都建网站,成都做网站,成都商城网站建设,集团网站建设,网站建设,高端网站建设,品牌网站建设,成都平台网站建设,成都响应式网站建设,成都微信网站建设,成都微商城网站建设,成都微信营销,成都微信小程序开发、成都网站优化,成都网络公司。

下一篇:成都手机网站建设:Android手机芯片中发现新漏洞!上一篇:成都手机网站建设:手机网站简洁的页面为什么很重要

最新案例
手机/微网站
  1. [成都]成都微信公众平台开发和微信公众平台建设
  2. [成都]成都微信网站建设:企业如何借助微信生态链加快自身变革
  3. [成都]成都微信网站建设:得小程序者得天下
  4. [成都]手机网站建设:移动端的返回顶部悬浮按钮还需要存在吗?
  5. [成都]成都手机网站建设:androidbeta项目是什么
  6. [成都]成都手机网站建设:2016 Android 开发:7日立秋 凉气始肃
网络营销
  1. 餐饮app发展的新趋势:餐饮美食APP制作方案
  2. 成都APP开发:智能音响app开发能为用户带来什么
  3. 成都APP开发:为什么近年来电竞软件开发开始升温
  4. 成都APP开发:为什么马拉松app开发在中国出现井喷式发展
  5. 成都APP开发:​开发成都停车APP
  6. 成都APP开发:企业取名app开发为企业提供专业的取名技巧

  • 电话:4006-028-024 028-86633922

    邮箱:Service@orangeapp.cn

    成都市成华区崔家店路789号上城国际1-24-9号

qqsina