Sviluppatori

Primo Webcast Italiano su Intel Realsense

Il primo Webcast di introduzione alla tecnologia Intel Realsense si e' svolto Lunedi' 15 Settembre 2014 per mano di Massimo Bonanni e mia, in qualita' di Intel Software Innovator per Realsense italiani.

La sessione prevedeva la presentazione delle caratteristiche del nuovo SDK ed alcune demo per vedere il Sistema in Azione in anteprima.

Alla fine e' abbiamo presentato il nuovo Realsense App Challenge 2014, la grande competizione aperta a tutti I developer con un montepremi da capogiro: 1 Milione di DOLLARI!

 

Android 开发规范

一、Android 编码规范

1.java 代码中不出现中文,最多注释中可以出现中文

2.局部变量命名、静态成员变量命名

只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写

3.常量命名

只能包含字母和_,字母全部大写,单词之间用_隔开

4.layout中的id命名

命名模式为:view缩写_模块名称_view的逻辑名称

view的缩写详情如下

LayoutView:lv

RelativeView:rv

TextView:tv

ImageView:iv

ImageButton:im

Button:btn

5.activity中的view变量命名

命名模式为:逻辑名称+view缩写

建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view

6.strings.xml中的id命名

quick-cocos2d-x 游戏开发 [13] —— 节点生命周期事件,帧事件等其他事件

在前面已经学过了“触摸事件”,"触摸捕获事件",“按键事件”,此外,quick还有其他几个事件,前面已经列过有这些,

 

预定义的节点事件:

  • cc.NODE_EVENT - enter, exit 等事件
  • cc.NODE_ENTER_FRAME_EVENT - 帧事件
  • cc.NODE_TOUCH_EVENT - 触摸事件
  • cc.NODE_TOUCH_CAPTURE_EVENT - 捕获触摸事件

预定义的层事件:

  • cc.ACCELERATE_EVENT - 重力感应事件
  • cc.KEYPAD_EVENT - 硬件按键事件

预定义的菜单事件:

  • cc.MENU_ITEM_CLICKED_EVENT - CCMenu 菜单项点击事件
 

这里我就简单拿两个来说下,掌握起来都很容易。先看这个cc.NODE_EVENT。

节点事件其实就是节点的几个生命周期,这在cocos2dx c++中一定有所了解。直接看代码吧,

quick-cocos2d-x 游戏开发 [12]—— 硬件按键事件

在quick中,对于按键事件也进行了重新封装,和node的触摸事件一样,也是通过addNodeEventListener来实现。所谓按键事件,主要是针对于android设备中的返回键“back”和菜单键“menu”的响应,在前面的一篇博文中我也简单提过一次,不过咱们还是系统性的来学习一下。

 

首先清楚预定义的层事件有两个,

 

  • cc.ACCELERATE_EVENT     - 重力感应事件
  • cc.KEYPAD_EVENT                - 硬件按键事件

触摸事件属于预定义节点事件,有这么几个,

 

 

quick-cocos2d-x 游戏开发【11】 —— 多点触摸

在前面已经谈过单点触摸的用法了,所以对于多点触摸来说,也是非常简单容易的。

 

多点触摸其拥有added,removed这么两个独有事件。

added  屏幕中增加了一个触点

removed  屏幕中移除了一个触点

 

另外,还有这么一个event.points 屏幕中全部触点信息,

每一个触点依然可以获取到其,

point.x, point.y                         触摸点的当前位置
point.prevX, point.prevY         触摸点之前的位置
point.id                                     触摸点 id,用于确定触摸点的变化

 

结合单点触摸的几个事件,所以多点触摸事件发生时,会有began,added,moved,removed,ended,canclled这些响应事件。

Android 中使用百度定位 sdk 实时的计算移动距离

前段时间因为项目需求,通过百度定位adk写了一个实时更新距离的程序(类似大家坐的士时,车上的里程表),遇到很多技术点,总结了一下发表出来和大家相互学习。直接要求定位具体的位置应该是不难的,只需要引入百度定位adk,并配置相关参数就可以完成,显示百度地图也类似,但是如果需要不断的实时显示移动距离,GPS定位从一个点,到第二个点,从第二个点,到第三个点,从第三个点......,移动距离是多少呢?不得不说,要实现这种需求的确存在一定的难度。

目标:使用百度定位sdk开发实时移动距离计算功能,根据经纬度的定位,计算行驶公里数并实时刷新界面显示。
大家都知道定位有三种方式:GPS 、Wifi 、 基站 .
误差方面的话,使用GPS误差在10左右,Wifi则在20 - 300左右 ,而使用基站则误差在100 - 300左右的样子,因为在室内GPS是定位不到的,必须在室外,
而我们项目的需求正好需要使用GPS定位,所以我们这里设置GPS优先。车,不可能在室内跑吧。


使用技术点:
1.百度定位sdk
2.sqlite数据库(用于保存经纬度和实时更新的距离)
3.通过经纬度计算距离的算法方式

Android 动态布局,并动态为 TextView 控件设置 drawableLeft、drawableRight 等属性添加图标

注:(图中每一个条目和图标都是由代码动态生成)

 

代码动态布局,并需要为每一个条目设置图标,此时用到了 android:drawableLeft="@drawable/icon" 

 

父xml文件:

Android 开发之如何使用 FastJson

在Android开发中,我们Android客户端如果要和服务器端交互,一般都会采用json数据格式进行交互,FastJson是阿里巴巴工程师开发的一个Json处理工具包,包括“序列化”和“反序列化”两部分,Fastjson是一个Java语言编写的高性能功能完善的JSON库。

一个JSON库涉及的最基本功能就是序列化和反序列化。

Fastjson支持java bean的直接序列化。你可以使用com.alibaba.fastjson.JSON这个类进行序列化和反序列化。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库。

    FastJson速度最快,fastjson具有极快的性能,超越任其他的Java Json parser。

    FastJson功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖。

    Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。

Intel® Xeon Phi™ Coprocessor code named “Knights Landing” - Application Readiness

As part of the application readiness efforts for future Intel® Xeon® processors and Intel® Xeon Phi™ coprocessors (code named Knights Landing), developers are interested in improving two key aspects of their workloads:

  1. Vectorization/code generation
  2. Thread parallelism

This article mainly talks about vectorization/code generation and lists some helpful tools and resources for thread parallelism.

  • Sviluppatori
  • Server
  • Intermedio
  • Compilatore C++ Intel®
  • Intel® AVX-512
  • Knights Landing
  • Intel SDE
  • Intel® IMCI
  • Architettura Intel® Many Integrated Core
  • Elaborazione parallela
  • Vettorizzazione
  • Iscriversi a Sviluppatori