GVKun编程网logo

Windows10,iOS和Android上的《 Forza Street》视频游戏更(forza street安卓版)

20

对于Windows10,iOS和Android上的《ForzaStreet》视频游戏更感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解forzastreet安卓版,并且为您提供关于10岁少女

对于Windows10,iOS和Android上的《 Forza Street》视频游戏更感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解forza street安卓版,并且为您提供关于10岁少女黑客公布iOS和Android游戏漏洞(图)、android 布局xml中 android:fitsSystemWindows="true"的作用、Androidstudio 报错了 Failed to find target with hash string ''android-25'' in: E:\autoanzuo\adt-bundle-windows-x86-20130917\sdk、Android、iOS和Windows Phone中的推送技术详解的宝贵知识。

本文目录一览:

Windows10,iOS和Android上的《 Forza Street》视频游戏更(forza street安卓版)

Windows10,iOS和Android上的《 Forza Street》视频游戏更(forza street安卓版)

Windows 10,iOS和Android上的《 Forza Street》视频游戏更新包含新内容和新事件

专为iOS和Android智能手机,平板电脑和Windows 10设备设计的《极限竞速》视频游戏今天进行了更新,新增了复古风格的活动,增加了1957年的雪佛兰Bel Air,以及引入了用于购买升级和新车的游戏内商店。

Windows10,iOS和Android上的《 Forza Street》视频游戏更新包含新内容和新事件

这是完整的补丁说明:

• 美国经典活动:从7月22日至8月12日,我们庆祝美国经典汽车时代!参加此特别活动,并添加一系列从50年代,60年代和70年代的汽车到您的收藏中。

• 1957年雪佛兰BEL AIR:在美国经典赛事中,1957年雪佛兰BEL AIR也加入了Forza街。这款经典的街车将为任何车库增色不少!

• RIVALS商店:与Rivals中的其他车手竞争,可获得Rivals Chips奖励。在Rivals商店中使用这些筹码来挑选各种有价值的物品,例如调谐套件,升级零件,史诗级汽车等等!

本质上讲,Forza Street是Xbox控制台上主要Forza视频游戏的移动版本,具有简化的控件和更简单的课程。该游戏虽然不能在主机上玩,但确实提供Xbox成就,并且还支持其三个可用平台之间的在线跨平台多人游戏。

10岁少女黑客公布iOS和Android游戏漏洞(图)

10岁少女黑客公布iOS和Android游戏漏洞(图)

年仅10岁的少女黑客“CyFi”

新浪科技讯 北京时间8月8日早间消息,一名年仅10岁的少女黑客“CyFi”周日在DefCon大会上公布了iOS和Android游戏的一个零日漏洞。

这名来自美国加州的女孩于2011年1月发现了该漏洞,当时她对于农场类游戏感到厌倦。CyFi表示:“在游戏中取得进展很难,因为发展需要很 长时间。因此我想,为什么不能修改时间?”大部分被发现存在漏洞的游戏都有着时间因素。例如在游戏中,玉米的成熟需要10小时,而人为调整手机或平板电脑 时间将加快这一进程,这带来了漏洞。

CyFi并未公布存在漏洞的游戏名单,这使得游戏开发者有时间来解决这一问题。尽管许多游戏会检测并阻止用户的这种操作,但CyFi表示,她发现了这些游戏进行检测的机制。如果将手机与无线网络断开,那么用户的操作将较难被阻止。

CyFi的母亲表示,在CyFi结束DefCon Kids的发言之后,他们将悬赏100美元,授予在24小时内发现最多此类漏洞的年轻黑客。这一奖金由身份保护公司AllClearID赞助。(维金)

android 布局xml中 android:fitsSystemWindows=

android 布局xml中 android:fitsSystemWindows="true"的作用


android 布局xml中 android:fitsSystemWindows="true"的原文解析为:

Boolean internal attribute to adjust view layout based on system windows such as the status bar. If true, adjusts the padding of this view to leave space for the system windows. Will only take effect if this view is in a non-embedded activity.

内置的一个布尔值属性,通过其去调整基于系统窗口的视图布局,例如状态栏,如果该值为真,调整这个视图的内边距与系统窗口的距离,只有该view是non-embedded(非嵌入的)的activity才会产生影响。

即在开放过程中设计应用程序布局时当考虑当系统窗口的影响时,设置该值,如果为true,将自动调整系统窗口布局来适应你自定义的布局。例如:当系统有状态栏,你的应用也存在状态栏时便可以设置为ture。

Androidstudio 报错了 Failed to find target with hash string ''android-25'' in: E:\autoanzuo\adt-bundle-windows-x86-20130917\sdk

Androidstudio 报错了 Failed to find target with hash string ''android-25'' in: E:\autoanzuo\adt-bundle-windows-x86-20130917\sdk


Caused by: java.lang.IllegalStateException: Failed to find target with hash string ''android-25'' in: E:\autoanzuo\adt-bundle-windows-x86-20130917\sdk
	at com.android.builder.sdk.DefaultSdkLoader.getTargetInfo(DefaultSdkLoader.java:166)
	at com.android.build.gradle.internal.SdkHandler.initTarget(SdkHandler.java:171)
	at com.android.build.gradle.BasePlugin.ensureTargetSetup(BasePlugin.java:718)
	at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:600)
	at com.android.build.gradle.BasePlugin.lambda$null$3(BasePlugin.java:555)
	at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:81)
	at com.android.build.gradle.BasePlugin.lambda$createTasks$4(BasePlugin.java:551)
	at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:91)
	at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:80)
	at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42)
	at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230)
	at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149)
	at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
	at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:324)
	at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:234)
	at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140)
	at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
	at com.sun.proxy.$Proxy26.afterEvaluate(Unknown Source)

 

Android、iOS和Windows Phone中的推送技术详解

Android、iOS和Windows Phone中的推送技术详解

推送并不是什么新技术,这种技术在互联网时代就已经很流行了。只是随着进入移动互联网时代,推送技术显得更加重要。因为在智能手机中,推送从某种程度上,可以取代使用多年的短信,而且与短信相比,还可以向用户展示更多的信息(如图像、表格、声音等)。

推送技术的实现通常会使用服务端向客户端推送消息的方式。也就是说客户端通过用户名、Key等ID注册到服务端后,在服务端就可以将消息向所有活动的客户端发送。

实际上,在很多移动操作系统中,官方都为其提供了推送方案,例如,Google的云推送、IOS、Windows Phone7/8也都提供了类似的推送方案。不过这些推送方案的服务器都在国外,有一些推送服务(如Google的云推送)在国内由于某些原因不太稳定,所以国内近几年涌现出了很多专门为国人打造的推送服务。

本文将从各种流行移动操作系统入手介绍推送技术的各种实现方式。当然,我们的主要目的是讨论Android的推送技术。

一、iOS的推送技术

Apple为IOS提供了很完美的推送方案,其基本原理是Apple提供了自己的推送服务器,叫APNS(Apple Push Notification Service,苹果推送通知服务器)。而客户端设备(IPhone、IPad等)直接与APNS建立长连接。不过向客户端设备发送的消息并不是由APNS产生的,而是在需要发送消息的用户自己提供的服务器(称为Provider)中产生的,然后Provider将消息传送给APNS,最后由APNS将消息传送给客户端设备。也就是说,消息最开始由Provider产生,然后Provider将消息传送给APNS,最后再由APNS传送给客户端设备。消息传递的过程如图1所示。

在发送消息到客户端设备接收到消息的过程中,始终伴随这一个令牌的传送(device token)。要想使用APNS提供消息服务,应用程序需要先向IOS注册需要提供的一个必要的信息就是与当前设备有关的device token,IOS在接收到devicetoken后,会向APNS查询这个device token是否在APNS上注册了(所有的IOS设备在第一次使用时都需要向苹果服务器注册一个账号,否则无法从AppleStore下载应用,当然更无法使用推送服务了),如果已经注册,APNS会直接向应用程序返回这个devicetoken。应用程序获得这个devicetoken后,表示APNS已经允许向自己推送消息了,接着还需要将该device token发送给推送服务器(Provider)。到这里应用程序已经成功将自己注册到APNS中了。现在就可以通过Provider产生要推送的消息,然后Provider会将消息发送给APNS服务器,最后APNS服务器会直接向应用程序发送消息。这个过程比较复杂,不过看一下图2的描述就会对这一过程更加了解了。每一个流程描述前面的数字表示发送的时间先后顺序。

二、Windows Phone的推送技术

微软为Window Phone提供的推送方案与IOS类似,也需要自己准备推送服务器(可以称为Cloud Service)。只是表示设备的ID变成了Uri。在Window Phone中有一个Push Client Service(PCS)。所有需要推送服务的应用程序都需要与Push Client Service通信。下面是Window Phone推送的基本步骤,读者可以与图3对照来看这一过程。

第1步:应用程序会向Push Client Service请求一个Push Notification URI(①)。

第2步:如果当前Window Phone设备已经在微软服务器注册了,Push Client Service会从MPNS(Microsoft Push Notification Service ,微软推送通知服务)获取Push Notification URI,并返回给应用程序,表示推送服务可用(②和③)。

第3步:应用程序需要将Push Notification URI发送给自己的推送服务器(Cloud Service)(④)。

第4步:如果需要推送消息,Cloud Service会将消息发送到MPNS,然后MPNS会将消息发送给Push Client Service,最后由Push Client Service将消息传送给应用程序(⑤、⑥和③)。

三、Android的推送方案

Android的推送方案就比较多了,也比较乱。例如,有Google官方提供的C2DM(Android Cloud to Device Messaging);第三方的推送服务(如极光推送);还有通过各种协议实现的推送服务端程序(如Androidpn),用户通过这些服务端程序可以搭建自己的推送服务器。这些推送技术会在本节后面的部分详细介绍,本节先来介绍一下Android中经常使用的各种推送技术。当然,这些推送技术也能用于其它的移动设备,但由于Android的官方推送服务(C2DM)在国内使用上有一些问题,所以基于Android的第三方推送服务较其它系统多,因此这里主要针对Android来介绍。

通常推送技术会使用如下两种方式实现。

1. 轮询(Pull)方式

2. 持久连接方式(服务端Push方式)

轮询方式就是客户端以一定的时间间隔不断查询服务端是否有新的消息。这种方式必须自己实现与服务器之间的通信机制,例如消息队列等。而且还要考虑轮询的频率,如果太慢可能导致某些消息的延迟,如果太快,则会大量消耗网络带宽和电池。所以大多数推送服务都不会使用轮询方式。

持久连接方式也就是Push方 式,对于客户端来说,是一种被动的方式,而主动权在服务端,当有消息时,服务端会向所有注册到推送服务器的客户端推送消息。这种推送方式的好处是可以保证 实时性,而且客户端实现简单。当然,也会有不足,例如,如果大量的客户端与服务端保持长连接时,会消耗服务器的资源。不过在未推送消息时,这些长连接就成 了空闲连接,通常这种连接主要消耗的是内存资源。例如,200万用户可能会消耗数十GB的内存。因此搭建这种推送机制时要使用性能好的服务器。

持久连接的实现有很多方式,例如,可以使用XMPP作为通信协议。XMPP的主要优势是协议成熟、强大,可扩展性强。XMPP更多地用于IM系统中,后面要介绍的Androidpn也是用了XMPP协议。

XMPP也有明显的缺点,例如,协议很复杂,如果吃透XMPP协议可能需要很长时间,还有就是由于XMPP是基于XML的,从而造成了数据冗余、这样会造成移动设备费流量、耗电等弊病。

除了XMPP,还可以使用MQTT协议,这种协议的主要优势是简洁、小巧、可扩展性强,从而带来了省流量、省电等优点,而且有C++版的服务端组件rsmb。缺点是协议不够成熟,而且实现较复杂,而且rsmb不开源,部署硬件的成本较高。

尽管C2DM服务在国内可能不太稳定或有一些地区不可用,但还是有必要介绍一下C2DM的原理。不过对于在国内使用的应用最好使用第三方的推送服务,或自己假设推送服务器。

C2DM和IOS的APNS以及Window Phone的MPNS大同小异。还需要自己准备一台推送服务器,并通过如下步骤实现消息的推送。

第1步:移动设备上的C2DM服务需要与Google官方的C2DM服务器交互,验证当前设备是否在C2DM服务器上注册了,如果已经注册,C2DM服务器会返回一个注册ID给客户端的C2DM服务。(①和②)

第2步:客户端的C2DM服务会与自己的推送服务器交互,将账号和C2DM服务器返回的注册ID传给推送服务器。(③)

第3步:如果要推送消息,推送服务器会将注册ID和要推送的消息先发送到C2DM服务器,然后C2DM服务器会直接将消息推送给客户端(手机、平板电脑的设备)(④和⑤)。

读者可以对照图4来理解这3个步骤。

除了使用官方的推送方案外,现在国内涌现出多个第三方的推送方案,例如,极光推送(JPush)、百度推送等。读者也可以用一下,这些同时通常是免费的(可能推送多媒体数据需要收费)。

我们今天的关于Windows10,iOS和Android上的《 Forza Street》视频游戏更forza street安卓版的分享就到这里,谢谢您的阅读,如果想了解更多关于10岁少女黑客公布iOS和Android游戏漏洞(图)、android 布局xml中 android:fitsSystemWindows="true"的作用、Androidstudio 报错了 Failed to find target with hash string ''android-25'' in: E:\autoanzuo\adt-bundle-windows-x86-20130917\sdk、Android、iOS和Windows Phone中的推送技术详解的相关信息,可以在本站进行搜索。

本文标签: