博文

关于Android重力感应器的频率的分析(2011-4-21 5:43:00)

 关于传感器的反映速度的常量

常量名
说明
实际的值
SENSOR_DELAY_FASTEST
在游戏想特别快的反应速度的时候使用
0
SENSOR_DELAY_GAME
游戏用
1
SENSOR_DELAY_UI
用户接口用
2
SENSOR_DELAY_NORMAL
取得倾斜度的时候使用(缺省)
3

 

 

在网上搜索(关键字可以是"Android重力感应"),关于重力感应器的说法大都一致:如下颜色部分。

 

灵敏度分为:

SENSOR_DELAY_FASTEST最灵敏,快的然你无语
SENSOR_DELAY_GAME游戏的时候用这个,不过一般用这个就够了,和上一个很难看出区别(也许是我的手机CPU高?1GHz的。。。)
SENSOR_DELAY_NORMAL比较慢。
SENSOR_DELAY_UI最慢的,几乎就是横和纵的区别

 

而实际上并不一定是这样的。

 

经过认真分析,真机测试和统计分析。得出以下结果。

 

频率分析:
1、SensorManager.SENSOR_DELAY_FASTEST
频率:3hz——4Hz之间,
一般:4Hz。
解释:一秒钟执行4次。

2、SensorManager.SENSOR_DELAY_GAME
频率:30hz——45Hz之间,
一般:38Hz。
解释:一秒钟执行38次。

3、SensorManager.SENSOR_DELAY_NORMAL
频率:30hz——45Hz之间,
一般:38Hz。
解释:一秒钟执行38次。

4、SensorManager.SENSOR_DELAY_UI
频率:13hz——18Hz之间,
一般:15Hz。
解释:一秒钟执行15次。

 

 

希望能给大家一些参考。

当然,我也不能保证所有的手机都是这样的,所以不能保证数据具有泛型。所以只是一个参考。

希望大家多多指教。



阅读全文(1008) | 评论:1 | 复制链接

设置Android模拟器上网的方法(2011-4-5 22:56:00)


设置Android模拟器上网的方法

由于有些电脑上网需要设置代理才能上网,所以简单的启动模拟器,模拟器是不能直接上网的,而且模拟器对于网络部分没有直接设置模拟器的上网代理的程序或者是设置的部分。所以需要额外的处理才行。经过多方面的摸索,才得出一个方法。

下面是设置的步骤:

1、启动adb shell,这个一般是在sdk目录下的tools下的(在1.6之前),但是之后的版本都移到了platform tools目录下了。这个没有关系,一般可以把这个目录添加到系统的环境变量下的PATH后面,这样在只需要在执行里面或者cmd中输入就可以了。
在cmd中输入adb shell,或者是在运行里面直接输入adb shell就可以了。

2、通过运行getprop命令就可以获取系统的配置,主要是查看两个配置,一个是net.dns1,另外一个是net.gprs.http-proxy 。如果这两个的配置都和你pc上网的设置是一样的,那就不需要设置了。如果不一样,就看下一条。

3、通过setprop命令进行设置

设置dns,一般如果是通过路由器上网,可以把 dns设置为路由器的默认网关。192.168.1.1。

setprop net.dns1 192.168.1.1

另外就是设置代理了。如下:

setprop net.gprs.http-proxy 192.168.1.1:8080

如果是其他代理,也是用这条指令,如
setprop net.gprs.http-proxy 10.81.110.1:8080

一般通过这三步就可以实现上网了。

 

另外,有的版本的模拟器在程序的设置里面有个命令的程序,这个和adb shell的功能是一样的,也就是可以通过输入指令来实现配置的修改和设置。原理是一样的,指令也是用一样的。大家可以试一下。


阅读全文(1716) | 评论:0 | 复制链接

WinCE6.0下CMenu创建菜单及其子菜单的实现(2010-7-29 21:36:00)

 (一)、实现Popup菜单。

1、定义宏定义,也就是菜单项

#define IDM_MENU0 WM_USER+200
#define IDM_MENU1 WM_USER+201
#define IDM_MENU2 WM_USER+202
#define IDM_MENU3 WM_USER+203
#define IDM_ITEM0 WM_USER+210
#define IDM_ITEM1 WM_USER+211
#define IDM_ITEM2 WM_USER+212
#define IDM_ITEM3 WM_USER+213
#define IDM_ITEM4 WM_USER+214
#define IDM_ITEM5 WM_USER+215
#define IDM_ITEM6 WM_USER+216
#define IDM_ITEM7 WM_USER+217
#define IDM_ITEM8 WM_USER+218
#define IDM_ITEM9 WM_USER+219
#define IDM_ITEM10 WM_USER+220
#define IDM_ITEM11 WM_USER+221
#define IDM_ITEM12 WM_USER+222
#define IDM_ITEM13 WM_USER+223
#define IDM_ITEM14 WM_USER+224
#define IDM_ITEM15 WM_USER+225
#define IDM_ITEM16 WM_USER+226

2、创建CMenu对象

在头文件中定义,CMenu *m_pMenu;

在OnInitDialog中添加实现


 m_pMenu = new CMenu();
 m_pMenu->LoadMenu(IDR_WinGuoSearch);

#if 0

 m_pMenu2 = new CMenu();
 m_pMenu2->LoadMenu(IDR_WinGuoSearch);
 m_pMenu->AppendMenu(MF_BYPOSITION|MF_POPUP|MF_STRING,(UINT)m_pMenu3->GetSubMenu(0)->m_hMenu,L"测试子菜单");

 m_pMenu->AppendMenu(MF_STRING,IDM_ITEM0,L"升级");
 m_pMenu->AppendMenu(MF_SEPARATOR,IDM_ITEM3,L"");

 m_pMenu3 = new CMenu();
 m_pMenu3->CreatePopupMenu();

 //第二个参数是菜单的句柄HMENU
 m_pMenu3->AppendMenu(MF_STRING,IDM_ITEM6,L"每周更新");
 m_pMenu3->AppendMenu(MF_STRING,IDM_ITEM7,L"没两周更新");
 m_pMenu3->AppendMenu(MF_STRING,IDM_ITEM8,L"每月更新");
 m_pMenu3->AppendMenu(MF_STRING,IDM_ITEM9,L"暂不更新");

 m_pMenu->AppendMenu(MF_BYPOSITION|MF_POPUP|MF_STRING,(UINT)m_pMenu3->m_hMenu,L"更新设置");

 m_pMenu->AppendMenu(MF_STRING,IDM_ITEM2,L"提醒设置");
 m_pMenu->AppendMenu(MF_SEPARATOR,IDM_ITEM3,L"");
 m_pMenu->AppendMenu(MF_STRING,IDM_ITEM4,L"帮助");
 m_pMenu->AppendMenu(MF_STRING,IDM_ITEM5,L"关于");

#endif

3、添加消息映射函数,实现菜单项的事件处理。


 ON_COMMAND(IDM_ITEM0, &CWinGuoSearchDlg::OnUpdateWinGuo)

 
4、显示。

    //显示菜单
    m_pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_BOTTOMALIGN,0,230+25,this,NULL);
效果图如下:
图为点击选项按钮(这个是通过自己绘图,不是系统自带的菜单栏)的事件,在事件里面触发的。是为模拟系统自带的菜单项而做的。效果还不错哦,和系统的一摸一样。
 
(二)利用资源菜单创建Popup菜单的方法。
说明:资源菜单中有菜单栏,菜单栏是主菜单项,每个菜单项下面的菜单都属于Popup菜单,直接获取子菜单就可以当作Popup菜单使用。
 
1、载入资源菜单
 m_pMenu = new CMenu();
 m_pMenu->LoadMenu(IDR_WinGuoSearch);
2、获取子菜单
 
CMenu *pMenu =  m_pMenu->GetSubMenu(0);
 
3、显示菜单
 

    pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_BOTTOMALIGN,0,230+25,this,NULL);
 
4、菜单的事件处理:资源菜单的事件处理可以直接在资源管理器中添加。
这是这类Popup菜单的好处。
也可以直接添加消息映射代码来处理。

阅读全文(1944) | 评论:3 | 复制链接

windows Mobile中GPS中间驱动层相关文档的翻译(一)(2009-3-13 17:35:00)

GPS Intermediate Driver Reference

 

Peng Fude 2008-10-21

 

 

The GPS Intermediate Driver is useful to developers writing applications that use GPS (Global Positioning System) devices as well as to GPS hardware manufacturers. It is useful because it provides an intermediate layer that abstracts the actual GPS device from developers and manufacturers. Ideally, this enables application developers to write code that works with any GPS hardware, and GPS device manufacturers to produce hardware that works with any application.

All of the GPS Intermediate Driver documentation should be useful for both application developers and device manufacturers. With that said, the GPS Intermediate Driver Application Development topic (and subtopics) may be of special interest to application developers. These topics provide information about using the GPS Intermediate Driver from an application. Of most interest may be the Accessing Parsed GPS Data and Accessing Raw GPS Data topics, which explain how to write code that uses GPS Intermediate Driver location data.

GPS中间驱动层对GPS应用程序的开发者和GPS硬件制造厂商很有用的。它有用是因为它把真正的GPS硬件设备从开发者和硬件生产厂商之间抽象出来一个中间层,应用开发者就可以适用于任何GPS硬件设备的程序代码,而生产厂商也可以生产适用于任何应用程序的GPS设备。

所以关于GPS中间驱动层的文档对应用开发人员和硬件生产厂商都有用,在这个基础上,GPS中间驱动层应用开发主题(及其子主题)主要是针对GPS应用开发者而言的,它们主要提供一个应用程序使用GPS中间驱动层的方法和信息,而其中的描述的关于怎么使用GPS中间驱动层来编写代码获取位置信息的关键主题是:获取解析的GPS数据和获取原始GPS数据。

In This Section

GPS Intermediate Driver Benefits

Compares how applications and GPS hardware interact, both with and without the GPS Intermediate Driver.

GPS Intermediate Driver Architecture

Describes how the GPS Intermediate Driver is implemented.

GPS Intermediate Driver Application Development

Explains how to write code that uses the GPS Intermediate Driver.

GPS Intermediate Driver Registry Settings

Provides information about the configurable registry settings used by the GPS Intermediate Driver.

GPS Intermediate Driver Security

Provides security best practice information relevant to the GPS Intermediate Driver.

GPS Intermediate Driver Constants

Contains information on the GPS intermediate driver constants.

GPS Intermediate Driver Enumerations

Contains information on the GPS intermediate driver enumerations.

GPS Intermediate Driver Functions

Contains information on the GPS intermediate driver functions.

GPS Intermediate Driver IOCTLs

Contains information on the GPS intermediate driver IOCTLs.

GPS Intermediate Driver Structures

Contains information on the GPS intermediate driver structures.

 

本节主要内容如下:

Ø        GPS中间驱动层的好处

Ø        GPS中间驱动层的结构

Ø        GPS中间驱动层应用开发

Ø        GPS中间驱动层注册表设置

Ø        GPS中间驱动层安全

Ø        GPS中间驱动层常量

Ø        GPS中间驱动层枚举

Ø        GPS中间驱动层函数

Ø        GPS中间驱动层IOCTLs

Ø        GPS中间驱动层结构体


 

1.   GPS Intermediate Driver Benefits GPS中间驱动的好处

The GPS Intermediate Driver provides benefits to applications that use GPS devices as well as to GPS hardware manufacturers. It does this by providing an intermediate layer that abstracts the actual GPS device from application developers. This intermediate layer also abstracts applications from GPS device manufacturers. Ideally, this enables application developers to write code that works with any GPS hardware, and GPS device manufacturers to produce hardware that works with any application.

GPS中间驱动层不但为使用GPS设备的应用程序提供好处,而且也为GPS硬件厂商提供好处。它提供一个抽象于应用和硬件的一个中间层,这使得应用开发者们可以编写使用于任何GPS硬件设备的程序代码,而GPS硬件厂商可以生产适用于任何应用的GPS硬件设备。

GPS Without the GPS Intermediate Driver

没有GPS中间驱动层的GPS

Without the GPS Intermediate Driver, applications generally access GPS hardware directly through a COM port. Depending on the hardware in the target device, this COM port may be an actual serial port, to which GPS hardware is attached using a serial cable. It can also be a virtual serial port that maps to hardware attached to a Compact Flash, SDIO, Bluetooth, or other peripheral interface.

    在没有GPS中间驱动层的情况下,应用程序一般通过COM串口直接访问GPS硬件设备。这个串口有可能是实际上的串口,也有可能是一个虚拟的串口,当GPS设备使用串口线进行连接的话,它就是实际的串口,但是如果GPS硬件是SDIO、蓝牙、集成GPS芯片或者别的外部接口的话,这个串口就是映射出来的虚拟的串口。

Applications interact directly with the GPS hardware by calling CreateFile World Wide Web linkto obtain a handle to the device. With most GPS devices, this connection is exclusive, so only one application at a time can interact with the GPS hardware.

    应用可以通过调用CreateFile接口获取设备的一个句柄来和GPS设备直接进行交互,对于大多数GPS设备来说,这个连接是独占的,所以,一次只能一个应用程序在访问GPS设备。

Applications then call ReadFile World Wide Web linkrepeatedly to retrieve GPS location data encoded using the National Marine Electronics Association (NMEA) standard. The NMEA standard is a common interchange format used throughout the GPS industry. Each application then parses the NMEA strings into meaningful data, like the current latitude and longitude of the GPS hardware. For more information about the NMEA standard, see this NMEA Web site.

    然后,应用程序通过重复调用ReadFile来读取NMEANational Marine Electronics Association国家航海电子协会)标准编码的GPS位置数据,应用通过解析NMEA字符串得到有用的位置信息,比如说GPS设备的经度、纬度。NMEA标准是一个国际统一的标准,是一个GPS行业内交换数据的一个统一格式。关于NMEA标准的更多信息,请访问NMEA的网站(this NMEA Web site)。

Benefits of the GPS Intermediate Driver

GPS中间驱动层的好处

With the GPS Intermediate Driver, applications use the GPS Intermediate Driver instead of interacting with the GPS hardware directly. The GPS Intermediate Driver is the only code that interacts directly with GPS hardware.

    有了GPS中间驱动层,应用程序通过调用GPS中间驱动层直接和GPS设备进行交互,而GPS中间驱动层则是唯一和GPS硬件设备之间进行交互的代码。

The GPS Intermediate Driver provides two main advantages:

  • Enable multiple applications to use GPS hardware at the same time. The GPS Intermediate Driver makes it appear that each application has its own dedicated GPS hardware.
  • Remove the need for applications to parse NMEA strings to obtain meaningful data. The GPS Intermediate Driver internally parses the NMEA strings obtained from the GPS hardware and makes the parsed information available through a friendly API that contains structures like GPS_POSITION and calls like GPSGetLocation. Applications can also use a backward-compatible stream/ReadFile interface. This ability provides an easy way for existing applications to use the GPS Intermediate Driver without requiring modification.

GPS中间驱动层有两个主要的优点:

1、使得多个应用程序能够在同一时间内使用GPS设备,看起来好像每个应用程序有他们自己的专用GPS设备

2、去除掉应用程序自己解析NMEA字符串来获取有用GPS数据的需要,因为中间驱动层把从GPS设备获取到的NMEA字符串解析好,并且把解析后通过一个API接口提供给所有的应用,应用程序可以通过调用GPSGetLocation函数获取一个GPS_POSITION的结构体,来获得解析后的GPS数据。当然,应用程序也可以使用向后兼容的流式接口(ReadFile)来获取GPS数据,这为一些已经存在的程序提供了使用GPS中间驱动层而不需要重新修改的方便。

The GPS Intermediate Driver is built with backward-compatibility in mind. This means that, for most applications and GPS hardware, the GPS Intermediate Driver can be injected transparently. From the perspective of the application, it is still communicating with actual GPS hardware, through CreateFile, ReadFile, and CloseHandle World Wide Web linkcalls. Similarly, the GPS hardware still has a single client, but this client is now the GPS Intermediate Driver, instead of a single application that directly uses GPS data.

    GPS中间驱动层是基于向后兼容思想下创建的,这样的话,对于大多数的应用程序和GPS设备,GPS中间驱动层是透明的,对于应用程序来说,它依然是通过调用CreateFileReadFileCloseHandle等函数来和GPS设备进行交互,同样的,对于GPS设备来说,GPS设备依然只有一个终端用户,不过这个终端用户现在变成了GPS中间驱动层,替代了单个直接访问GPS设备数据的引用程序。

2.   GPS Intermediate Driver Architecture GPS中间驱动层结构

The GPS Intermediate Driver works by injecting itself between applications and GPS hardware. To an application, the GPS Intermediate Driver appears like GPS hardware. To GPS hardware, the GPS Intermediate Driver appears like a single client - it requests GPS information. This abstraction layer provides multiple benefits to developers. For more information about these benefits, as well as a brief comparison between the model used by the GPS Intermediate Driver and a model where an application interacts directly with GPS hardware, see GPS Intermediate Driver Benefits.

    GPS中间驱动层工作在应用程序和GPS硬件设备之间,对于一个应用程序,GPS中间驱动层就像是一个GPS设备,对于GPS硬件设备,GPS中间驱动层就像是一个唯一需要获取GPS信息的客户程序。这个抽象出来的层给开发者们提供了很多的好处,关于这些好处的描述,以及有无GPS中间驱动层的两种模式的比较,可以参考GPS中间驱动的好处一章。

The GPS Intermediate Driver is implemented as a normal Windows CE device driver. It is loaded into the device.exe process like all device drivers, even though it doesn't interact with device hardware directly. Instead, it uses another device driver - the one provided with or used by the GPS hardware - which then interacts with the actual hardware.

    GPS中间驱动层是作为一个普通的Windows CE的设备驱动程序来实现的,虽然它不是直接和硬件设备打交道,但是它就像其他的设备驱动程序一样,被device.exe进程装载运行的。相反,它需要调用另外一个驱动程序——一个有GPS硬件设备提供的或者使用的,直接和真正的GPS硬件设备交互的驱动程序。

For example, suppose that, without the GPS Intermediate Driver, an application interacts with GPS hardware by calling CreateFile World Wide Web linkand passing "COM1:" as the first parameter. With the GPS Intermediate Driver, the application no longer connects directly to the GPS hardware. For the application to retrieve data using the GPS Intermediate Driver, it must first configure the GPS Intermediate Driver to connect to the GPS hardware using COM1. You can do this using the GPS Intermediate Driver Control Panel application (if present on your target device), or by manipulating the registry. For detailed information about configuring the GPS Intermediate Driver, see Configuring the GPS Intermediate Driver.

例如:假如没有GPS中间驱动层,应用程序通过调用CreateFile并且传递" COM1:"作为第一个参数直接和GPS硬件设备进行交互,在有GPS中间驱动层的情况下,应用程序不用直接访问GPS硬件设备。如果一个应用程序需要使用GPS中间驱动层获取GPS数据,那么必须先配置好GPS中间驱动层,使得它能够使用“COM1:”直接访问GPS设备。你可以通过使用GPS中间驱动程序控制面板程序(如果在你的设备上有的话)来实现配置,也可以直接修改注册表来实现。关于配置GPS中间驱动层的详细信息,可以参考配置GPS中间驱动层章节。

Once the GPS Intermediate Driver knows where to find the actual GPS hardware, applications can use the GPS hardware through either of two interfaces:

  • Parsed mode, using the GPS Intermediate Driver API. This interface enables developers to retrieve GPS data without calling CreateFile and ReadFile World Wide Web link. Instead, they call GPSOpenDevice, GPSGetLocation, and GPSCloseDevice. For more information about this interface, see Accessing Parsed GPS Data.
  • Raw mode, using the Windows CE stream device driver interface (CreateFile/ReadFile/CloseHandle World Wide Web link). The information provided by each ReadFile call is the data as it was retrieved from the GPS hardware. Applications are responsible for parsing the NMEA strings themselves. This interface provides backward compatibility by supporting applications that expect to interact with GPS hardware directly through a stream interface. For more information about this interface, see Accessing Raw GPS Data.

一旦GPS中间驱动层知道了访问GPS硬件设备的接口,应用程序就可以通过以下两种模式来使用GPS设备:

1、解析模式:使用GPS中间驱动层的API接口。开发者们可以不需要调用CreateFile ReadFile来获取GPS数据,而直接调用调用GPSOpenDeviceGPSGetLocationGPSCloseDevice等来获取数据,详细描述请参考章节Accessing Parsed GPS Data

2、原始模式:使用Windows CE的流式设备驱动接口(CreateFileReadFileCloseHandle)。通过ReadFile函数读取到的GPS数据和直接访问GPS设备获取到的数据是一样的。这种模式下,用户需要自己编写代码来解析NMEA字符串。这种模式能为那些之前使用流式接口访问GPS设备的应用程序提供向下兼容的接口。关于原始模式的详细信息参考章节Accessing Raw GPS Data

Internally, the GPS Intermediate Driver reads location data from the GPS hardware and provides it to application developers that call either GPSGetLocation or ReadFile. It tracks which data has been provided to each client, so that the act of one client obtaining location information does not mean that another client cannot obtain the same data. The fact that the GPS Intermediate Driver may be handling multiple connections is completely transparent to the applications using the GPS Intermediate Driver.

     在内部,GPS中间驱动层从GPS硬件设备读取定位数据,并且把这些数据提供给那些通过GPSGetLocation 或者 ReadFile函数调用获取位置信息的应用程序。它可以分发数据给每一个获取终端用户,所以这样看来,一个终端用户获取到位置信息并不代表别的终端用户无法获取到相同的数据。GPS中间驱动层可以处理多个连接对于应用程序使用GPS中间驱动层是完全透明的。


阅读全文(2391) | 评论:3 | 复制链接

近况(2007-11-20 20:15:00)



    这几个月,整个人都处于一种忙碌的状态,很少有时间静下来,即使有些时候自己闲下来了,也是只想着休息,没有那么多的时间来考虑其他的事情。

    前段时间有个同学离开了公司,到北京去寻求新的发展,可能是受到的刺激太大了,同出来一起毕业的同学们,一个个都发展得很好,进的公司也是鼎鼎有名的大公司,薪水就更加不用多说了。在这样的情况下,我们的工作也就相形见拙,薪水也比同学们低很多,而且关键的是,大家都看不到什么希望,没有什么好的前途阿。这也就难怪他会愤然出走,离开这里了。

    想想真是舍不得,我们一起出来实习,一起工作,现在也差不多两年时间了,平时住一起,吃一起,玩一起,活得也算是有些滋味,这样说走就走了,心里老觉得不是滋味,总觉得少了些什么东西。日子依旧是在上下班和吃饭睡觉间过着,只是已经物事人非,不同往日矣。

    渐渐入冬,成都的天气变得并不是很明显,只是感觉有些凉意,这样穿着一下子就由夏天进入了冬天。在成都的日子很好过,这里的人悠闲,重享受,冲劲不足,悠闲有余,也许成都就是这样的一个城市,一方水土养育了一方人。人人都说成都是一个来了就不想走的城市,又有人说“少不入川,老不离蜀”。这当中又包含着一些什么意味呢,我想大家也是略知一二的。可是我才刚刚毕业就来到了成都,埃,我心怎想,又怎是一两句话说得清楚的。

  近期负责一个项目,做的是手机方面的应用开发。功能也是比较趋近于行业应用一类的,就像是车务通之类的一些应用。这可是弄得我有些手足无措。不是因为技术有多难,其实这个平台我们已经很熟悉了,也不是因为需求有多么复杂,毕竟我们已经有过这方面的一些经验,其实关键的问题就在交流上面。这确实很难。作为合作的项目吧,由于双方不在一起,很多简单的问题就成了整个项目进程的一个关键因素,就连一点小小的指令数字,要想达成共识都需要多个文档,反复多次的邮件才能完成。这样下来,我终于知道交流在一个团队中的重要性了。

  虽然比较忙,自己也是忙中偷闲看看电视什么的,住的地方什么都没有,只有一部破电脑在那里,网络也没有连接上,作为搞IT的来说确实有些悲哀。幸好同事有个电视卡没有用,借来就充实充实眼球拉。

      最近喜欢看一部电视剧《福贵》,描述的是中国自建国前期到改革开放这些年来,农民的生活,以及那个时代的各种事件给农民带来的种种影响。我看了觉得很亲近,感觉剧中描述的生活就是家乡过去几十年的生活的写照。甚至,我还觉得里面的主人公福贵有些像我爸爸,家珍像我妈妈,至少,他们身上有很多共同的东西。到情深处,还不免留下几滴清泪——感动啊!

    闲时也就不免感叹:

演离合悲欢当代岂无前代事;
观抑扬顿挫座中常有剧中人。


阅读全文(2280) | 评论:4 | 复制链接

无线承载方式与协议(2007-8-23 9:58:00)

无线承载方式与协议

 

目前主要的通信承载方式有GSMGPRSCDMAUSSDWAP。它们有共性也有差异。差异主要在空中接口方面。

1GSM

GSM是一种电路交换(CSD)系统,采用的是时分多址(TDMA技术。它是把一个频段分给8个用户使用,即使用户不使用自己的信道,仍然要占用此信道,其他用户不能使用。这就造成频段的浪费。

根据 GSM 规范,在移动的基站上分为 26 个载频,每个载频又时分成 8 个信道(也就是8个用户),共有 1648 个物理信道。而在这些物理信道上又根据实际情况需要,分出若干个信道作为信令信道。通常一个物理信道可设置 8 个逻辑信道 SDCCH 8 SACCH 。一个 SDCCH 信道用于一次语音通话的建立。而在通话开始后,此信道便被释放。通常话路建立时间大约在 2 3 秒钟左右。

2GPRS

GPRS是一种分组交换系统,是在GSM网基础上发展起来的。它只是在GSM网上加了两个节点SGSNGGSN,其原理如图:

 

 

由图可看出,当信息到了BSC后,由BSC判断收到的请求是GSM业务还是GPRS业务,如果是GSM业务,就直接转到MSC去执行相应的业务;如果是GPRS业务,在由分组控制单元转到相应的业务上去。

增加的两个节点是SGSNGGSN

SGSN(服务节点)MSC处于统一层,它的主要作用是纪录移动台的当前位置信息,并且在移动台和GGSN之间完成移动分组数据的发送与接收。

GGSN(网关节点)相当与一个路由,把分组数据进行相应的处理,再发送到目的网络,如PDNInternet上。来自Internet标示有移动台地质的IP包,有GGSN接收,在转发到SGSN,继而传送到移动台。

GPRS实际上是将数据分割成许多独立的数据封包,然后将这些数据包一个个的发出去,就类似与Internet上的TCP/IP协议。GPRS 基于报文交换,多个用户可以共享一个相同的传输信道,每个用户只有在传输数据的时候才会占用信道,这就意味着所有的可用带宽可以立即分配给当前发送数据的用户,这样用户有更多的间隙发送或者接受数据。

GPRS 也存在着缺点:

一是实际应用中速率比理论值要低;

二是转接时延,由于GPRS分组发送数据,这样数据无线传输过程中可能发生分组数据的丢失,有关标准组织引入了数据完整性和重发策略,由此产生了潜在的转接时延;

三是不同业务的互相干扰,实际应用中不同业务会互相干扰;

四是发生丢包现象;

五是调制方式不是最优。GPRS采用基于GMSK的调制技术,相比之下,EDGE基于一种新的调制方法8PSK,允许无限接口支持更高的速率。

3CDMA

CDMA 是基于码分多址技术的数字移动电话系统。与使用时分多路的GSM 技术不同,CDMA 并不给每一个通话者分配一个确定的频率,而是让每一个通信都使用全部的频率,使大量用户能够共享同一个无线频率。CDMA 系统为每个用户分配各自特定的地址码,彼此之间是互相独立、互相不影响的,由于有不同的地址码来区分用户,所以对频率、时间和空间没有特定的限制,利用公共信道来传输信息。

CDMA 的优点在于:

一是系统容量大建网成本低,CDMA 网络覆盖范围大,所需基站少,降低了建网成本。CDMA 移动网的容量比GSM 要大4~5 倍;

二是系统容量配置灵活,CDMA 是一个自扰系统,所有移动用户都占用同一个带宽和频率,传输信号之间就会有干扰。如果能控制住用户的信号强度,在保持高质量通话的同时,我们就可以容纳更多的用户;

三是采用CDMA 系统的软切换和自动跟踪多径信号技术,软切换技术“先连后断”,可降低切换时通话中断的可能性。通话语音质量好,接通率高; 

四是频率规划简单,保密性好,要窃听通话,必须要找到码址,要找到CDMA 码址的伪随机码是很困难的事;

五是发射功耗小,无线辐射能量低,所以又被称为”绿色手机”;

六是能支持多种业务:CDMA 采用宽带技术,支持短消息、语音信箱、自动漫游、呼叫转移、呼叫等待、三方会谈、主叫号码显示、传真和数据通信等多项业务。

CDMA 技术虽然出世较迟,但由于技术上的独特之处, 在北美、南美和韩国得到了广泛的使用。

 

4USSD

USSD即非结构化补充数据业务,是一种新型基于 GSM 网络的交互式数据业务,它是在 GSM 的短消息系统技术基础上推出的新业务,和短消息业务构成互补,实现无缝整合应用,克服了短消息易用性、交互性差的缺点。

USSD 与短消息 SMS 系统相比,存在着一定的差别。主要体现在以下三个方面:

1 在传输信道的应用上,非通话态下 USSD SMS 使用相同的信令信道即 SDCCH ,数据传输速率大约为 600bits/s ;而在通话态时, USSD 使用 FACCH 信令信道,数据传输速率大约为 1000bits/s ,比 SMS 传输速率高。      

2在连接的建立上, USSD 是面向连接的系统,因此每次消息发送不需要重新建立信道,而且在通话态下使用快速随路控制信道 FACCH ,而 SMS 在物理承载层没有会话通道,只是一个存储转发系统。简言之,AB发短信,实际上是发给短信中心(SMSC)的,然后短信中心在转发给B。而USSD是直接建立连接的,USSDC相当与一个中继,把信号放大,并不承担储存和转发。由此可见,USSD是实时的,而短信是有时延的。所以当USSD接收端没开机或上电等,那么信息将丢失,而短信则不会。

3 在应用程序的开发上, USSD 使终端用户与网络运营商定义的应用之间,通过对话的方式交换数据。 USSD 目前阶段为 Phase II ,其主要特点在于手机和网络侧均可发起 USSD 会话,即 NI MI ,网络侧发送的数据能够在终端上显示,在终端上键入的字符串能够传送到网络中运营商指定的应用中心, USSD 提供的这种交互手段,使得它业务开拓方面的能力要远远强于 SMS 系统。

5WAP

WAP(无线通讯协议)的实质是一种基于Internet协议,但简化了的Internet协议。目的是为结局在数字移动电话、因特网或其它个人数字助理机(PDA)、计算机应用之间进行通讯而制订的开放全球标准。

6、比较

WAP GSM、GPRS、CDMA 是有区别的,打个比喻WAP业务 是在马路上行驶的汽车,WAP协议相当与交通规则。GSM网络相当于普通马路,行驶不很顺畅;GPRS网络相当于一级公路,速度得到提高;而行驶在

CDMA网络 的高速公路上数据传输速度最高。此外,他们上网方式也不同,用WAP上网就如在家中上网,先“拨号连接”,而上网后便不能同时使用该电话线;但GPRS 就较为优越,下载资料和通话是可以同时进行的;CDMA 就更为优越,是高速高质量高安全的网络。无线短信服务在 WAP 技术支持下应用于上述三种无线承载方式的效果也不同。随着技术、网络的不断发展,无线服务将更加多样、丰富及综合应用在企业、公司乃至整个社会。

 


阅读全文(3418) | 评论:1 | 复制链接

给新人程序员的八点建议(2007-8-8 12:22:00)


 

网址:http://news.csdn.net/n/20070710/106274.html

他结合自身经历,对许多刚踏入程序员行列的新人程序员,他给出了以下八点建议……

今年已经是陈皓在程序员行业里的第十个年头了。总结这十年,毕业的头两年,陈皓在银行中昏昏沉沉中度过,“这是我最失败的时候,两年的时间几乎完全白费了”。后来在上海的两年,我拼命地学习看书,并不断总结所做的项目,这个阶段是我补课的阶段,也是我量变的阶段。到了北京的这五年,是我从量质向质变转换的阶段。

拼命看书

刚毕业的时候,陈皓也像很多刚毕业的学生一样,根本没有对自己的职业进行过比较好的规划。“还记得当时什么都没有想,就是想做一些实际的事情,好好的专研一些技术。实在没有别的什么想法。”在毕业头三年中(1998年到2001年),不要说是对未来的职业有所规划,对所学的技术也是毫无规划。

离开银行后到上海加入了一家专做银行的系统集成的公司,发现自己和别人的差距非常的大,所以开始拼命地看书和学习,在到上海的头一年中,看了四、五十本书,研究的技术包括PB, delphi, SQL, HTML, CSS, DHTML, java, Perl, CGI, ASP, PHP, JSP, XML, UML, MFC, Lotus Notes, Unix, Oracle, Informix, C++, ActiveX, ODBC, ADO, .NET, COM, 乃至CISCO路由器的配置,Photoshop, 3DMAX……陈皓学得很杂很泛,完全没有目的,只是觉得别人懂的自己也要懂。”

“看了许多许多的书,完全没有好好想想自己应该走什么方向。现在回头看来也不知道是好还是不好。”

也许是看的书太多,懂的东西太多,后来有机会参与了一次全国性质的项目。后台是AIX+InformixC开发,前台是用PBPFC做界面,通过IBMCICS这个中间件连通前后台。在开发这个项目的一年时间里,陈皓对Unix/C/C++以及分布式系统有了非常深刻地认识,并深深地迷上了它们,同时对大型软件工程的流程和管理有了非常深刻的了解。

这个项目对陈皓的影响非常大,除了技术上的收获之外,更让陈皓逐渐确定了自己的规划。

技术之外

2002年底,北京一家做分布式计算/网格计算平台的加拿大公司对我产生了兴趣,经过5轮面试陈皓拿到了offer,又一次开始了我的奔走——从上海来到了北京。

新的公司让陈皓的Unix/C/C++得到了非常大的巩固,“这个公司也让我这个土狼学到了很多很多,特别是认识和观念上。”特别是在带领一个team对公司欧洲用户做Customer Service方面的工作时,陈皓学到了很多客户管理的知识,英语能力、与人沟通的能力以及对软件的认识得到了完全的升华。

陈皓开始使用一种和以前完全不一样的方法去思考问题——从用户的角度对问题进行思考。“此时,技术方向对我来说已不重要,技术对我来说已经变得非常简单,因为技术只需要看书看文档就可以获取。”陈皓开始用全新的方式思考如何管理一个团队,如何制造一个成功的软件,如何管理客户。并由此有了更进一步的职业规则——成为一个成功的技术主管、建立一个成功的团队、开发一个成功的软件产品。

给新人程序员的八点建议

走过弯路,有过迷茫,回首九年陈皓感慨万千。今天,我对许多刚上路的朋友都会说,人生的规则很重要,从上大学时就要好好规划。”他结合自身经历,对许多刚踏入程序员行列的新人程序员,他给出了以下八点建议:

1.       在大学的时候尽量多地进入公司参与实际工作,一方面积累工作经验,另一方面,提前认识工作和自己,以便毕业时更准确地把握自己的方向。

2.       从毕业开始到毕业后至少5年内,踏踏实实地专研技术,这是一个积累过程,千万不要把心思放在钱和职位上。钱和职位只是能力的附属品,不要让其喧宾夺主。

3.       从毕业后3年到7年的时间,注意学习工作当中的方法以及相关的管理和流程,不但要知其然,还要知其所以然。

4.       30岁以前,踏踏实实地学习。学技术,学做人,学做事。30岁以后再谈自己的发展。

5.       毕业后的前5年主要是量的积累,要不停地积累知识和方法。毕业后的510年主要是质变,应该着重于思维和想法的更新。后五年应该有很强的包容能力和接受新东西的能力,千万不要太过固执和坚持自己的想法。

6.       换工作要“承前启后”,前面的工作会成为后面工作的一个基础,而后面的工作又会成为前面工作的一个很自然的延续。

7.       不要只把心思放在技术上,技术是hard skill,只要下工夫就一定会掌握。更要注意与人沟通等为人处事的soft skill上。hard skill像一个大树的根,而soft skill则像一个大树的枝叶。树根是你的根基,能让你站得很稳,而枝叶能让你向天空伸展,获得发展。

8.       对于程序员来说,应该始终记住,技术不是主要的,主要的是通过技术能够解决什么样的问题。一定经常想要解决什么的问题,要满足什么样的需求,而不是要用什么样的技术。

 



阅读全文(3499) | 评论:4 | 复制链接

职业规划就像软件工程(2007-8-8 11:20:00)


    以下的这篇文章和下一篇我将要贴出来的文章都是摘自CSDN网络上的,我看了之后深有感触,所以就打算贴出来,同时也就以此两篇文章表达一下我这段时间经常在考虑的一些问题。

个人的职业规划就像软件工程。我们都知道软件项目最大的敌人是需求的不明确和需求的大面积变更,同样,在个人的职业规划中,自我需求的不明确和需求的变更也是非常危险的,尤其是在职业计划实施了四五年后需求的变动

 网址:http://news.csdn.net/n/20070706/106194.html

电信、银行等行业一直是许多人非常向往的工作单位,清差厚禄,旱涝保收,陈皓却不以此为然。所以当记者采访他的时候,他连用了两个字来形容他离开银行的成就感。

陈皓毕业后的前两年就职于云南省工商银行,从事银行电信内全国性业务系统开发。后来在全球最大的网格计算/分布式平台软件公司从事研发工作,熟悉Unix系统以及C/C++语言,擅长大型系统软件需求分析、设计、架构、实施和维护,目前是某全球金融信息数据处理公司的技术主管。  

 

随波逐流  

回想当初,陈皓颇有感慨。还在大三的时候,他就被系里优先推荐给了工行。那时他参与了系上的一个项目(用HTML+JAVA开发一个在线教学课件),由于当时国内根本买不到HTMLJAVA的书,而学校也没有上网条件,所以关于HTMLJAVA对系里的老师都是比较新的东西,当开发完成后,系里对此评价比较高。因此就在大三下学期把陈皓推荐给了工行。

由于早早地被银行预定,所以陈皓的大四生活很自由,整个一年他基本是在一家很小的软件公司打工度过的。 就是在那家公司工作的经历,让陈皓后来产生了离开银行的念头。

那家公司主要做些MIS系统,陈皓不仅获得了一定的实际工作经验和能力的锻炼,还习惯了软件公司高节奏、快学习、充满挑战的环境和氛围。这造成了他毕业后到银行工作时极度的不适应——效率低下,工作毫无激情,工作当中充满了相当复杂的人际关系和政治斗争。

最主要的是,由于初到银行,很多技术和产品从未见过,而主要实施却由外面公司来完成,银行自己内部中有经验的人又不愿意与人分享知识。虽然可以拿很多红包,整天也很清闲,不是看报纸就是打游戏,但陈皓感觉到那并不是自己喜欢的工作,没有任何激情和斗志可言。和大四时在那个软件公司中的技术氛围相比,完全就是天壤之别。

所以在银行工作的这两年,陈皓天天都在彷徨和思想斗争,因为没有自己的职业规划,所以,浪费了至少两年的时间。最后,陈皓打定信念,决意离开去寻找自己的道路。 

 因为我是在一个相对比较闭塞的城市(昆明),所以,我要离开银行的决遭到了父母、同学、朋友、同事,几乎是身边所有人的反对。但最终,我还是一意孤行离开了银行,远走他乡到上海这座大城市去寻找自己的人生道路。”  

从此,我走上了一条不可回头,并和以前完完全全不一样的道路。从国企到民企再到外企,从打杂到程序员再到高级程序员到team leader到技术主管,从小酒店MIS到企业OA到全国性的大系统到世界领先的分布式计算平台集群软件,若干年过去了,经历了高速的发展和获得了很多不同的经历,但唯有当时选择离开银行这件事情让我至今都为之兴奋。迄今为止,这是我自己觉得最最有成就感的事情。

 正如陈皓所说,也许,最让一个人感到最有成就的事情,不是他做成了什么,而是他选择了什么” 

 

认识自己   

 

多年打拼后,陈皓虽已是技术主管,但走的那些弯路,浪费的两年时间,一路中的心酸让他明白了很多道理。今天,我对许多刚上路的朋友都会说,人生的规则很重要,从上大学时就要好好规划,这对国人来说尤其重要。因为对于国人来说,人生的头20年都是被别人规划的,导致了自己根本不会给自己做规划。这点是相当危险的。

人生短暂,属于自己黄金的时间不多,如果把太多的时间浪费在寻找道路和方向上,很有可能会导致一事无成,要及早确定自己的规划,然后照着这个规划坚定不移的去执行。陈皓认为,做规划时最重要的是两个方面:一是清楚地认识自己的能力、优势和性格;二是确定自己的专业和想从事的行业。只有在确定这两方面后,才能做出自己的职业规划。 

 两方面看起来很简单,但认识自己并不是一件容易的事情。陈皓认为应当从下面十五个方面审视和认识自己,帮助自己确立人生规划:

A)所掌握的知识,

B)问题的解决能力、判断能力和分析能力,

C)对待困难的心态,

D)团队合作能力,

E)表达能力和语言组织能力,

F)创造和创新能力,

G)沟通能力,

H)自己的性格内向还是外向,

I)是否有坚韧不拔的专研精神,

J)自己的弱点和性格上的缺陷,

K)学习能力,获得知识的能力,

L)领导组织能力,

M)目前自己能够进入的企业,

N)目前自己在社会中的地位,

O)目前自己的竞争实力。  

职业规划就像软件工程

确定了自己的行业和专业领域后,接下来的事情应该是1)努力掌握这个行业的知识,2)用最短的时间了解这个专业和行业更为具体的各个子方向。然后在实际过程中再认识自己。比如,选择了计算机行业,应该尽量地尝试软件、硬件、网络、娱乐、媒体等计算机行业不同方向的工作,如果从事软件,又分Web、系统、项目、ERPCRM、数据库、嵌入式……,在工种上又分开发、测试、技术支持、流程管理,项目管理,系统架构,售前,售后……。当然,我们并不需要去尝试所有的工作或工种才能知道自己适合什么,我们完全可以向从事不同方向的人咨询并结合自我认识来做出判断。

在这个过程中,迷茫的摸索可能是很难避免的。能够及时得到前人的指点可能会是一个捷径,征求前人的建议可以起到参考的作用,快速原型(快速尝试)或许也是好的办法。因为人与人不同,他人的路并不一定适合自己,适合自己的路还要自己去规划,别人是帮不上忙的。

要经常性地跳出自己再来看自己,客观地分析自己的优势和劣势。让自己和别人掂量掂量自己到底几斤几两,了解到自己的长处和特点,然后才能知道自己适合做怎么样的事和并调整自己的职业路线,这是一个肯定到否定再到肯定螺旋上升的进化过程。当度过对自己对社会的陌生期后,才有谈得上对自己人生和职业的规划。 

个人的职业规划就像软件工程。我们都知道软件项目最大的敌人是需求的不明确和需求的大面积变更,同样,在个人的职业规划中,自我需求的不明确和需求的变更也是非常危险的,尤其是在职业计划实施了四五年后需求的变动和改变。只有需求确定以后,才谈得上个人的职业设计的HLDHigh Level Design)和LLDLow Leave Design),以及具体实现。此后随着自身的日益成熟,可以随时为自己的Bug打补丁(Patch)改进自己的职业生涯的设计和实施细则(Enhancement),并为自己加上更多更强的能力(New Feature Requirement)。最终达到软件版本的升级。  

 


阅读全文(3237) | 评论:0 | 复制链接

欢迎参加Qtopia Greenphone开发者挑战赛(2007-6-18 20:26:00)

    很久没有来上网了,Blog也有一段时间没有更新了,这段时间真的是太忙,忙着手机的开发,研究Qtopia,研究嵌入式Linux,研究导航软件的移植,研究GPS的实现,研究学习软件的架构......等等,等等,总之事情太多了。

    没有想到一段时间没有来上网,博客已经发生了很大的变化,整个IT界也在快速地变化着,感觉自己就要落伍了。得赶紧学习新的知识来充实自己,真如人们所说的那样,或到来学到老阿。

前段时间查资料的时候看到一个新闻,是关于一个比赛的,开始觉得很兴奋,可惜后来一看时间,哦,差不多都快过完了,总觉得很可惜,没有能参加这次比赛,所以,我把这次的一些要求列于下面,希望能够起到对以后有些激励的作用吧。因为我觉得,我们应该时刻地接受到新的东西,接触那些新鲜的元素,补充我们的血液,让我们的生活更加的精彩。

(下面的一个通过时摘于奇趣中文网的,链接地址为:http://www.trolltech.com/lang/cn/developer/gpdevchallengecn

奇趣中文网:http://trolltech.com/lang/cn/

欢迎参加Qtopia Greenphone开发者挑战赛!

  • 展示您的才智,您的创造力,以及您在Linux方面的高超技能!
  • 您可以获得一定数额的奖金, Qtopia Greenphone手机一部,以及参加2007年奇趣科技开发员大会的机票和入场券,更能有机会一展自己的风采!

我们非常想了解您在开放式移动电话软件方面的见解。也许您已经拥有了对个人、公司或社区都有益的美妙创意。我们相信您一定拥有各种奇思妙想,让我们一起拭目以待吧。另外,我们认为好的创意就应该受到嘉奖,因此我们准备了一系列奖品。

类别

释放您的创造力吧!比赛没有类别的束缚,您可以自由选择一款最适合自己的类别。

比赛进程 1

  • 最佳原创应用程序
  • Qtopia应用程序之一的最佳改进或重新编译
  • 最佳端对端服务
  •  “无法分类”类别中的最佳作品
  • 最佳用户界面经验

比赛进程 2

  • 最佳开源应用程序
  • 最佳商业应用程序

注册报名(英文)

注册报名时间将截止到2007年6月29日。报名时,您将收到一封参赛资格确认函,以通知您是否适合参赛。报名当然是越早越好!符合参赛条件的报名者将会收到详细的通知,告诉您如何提交参加赛程1的参赛作品。现在就报名


赛事进程表

日期 赛事
2007年6月29日
报名参赛截至日
2007年6月29日
提交赛程1的参赛作品截至日
2007年7月16日
宣布赛程1的获胜者,并且寄出Qtopia Greenphone手机奖品
2007年9月17日
提交赛程2的参赛作品截至日
2007年9月20日
开始进行大众投票
2007年10月1日
宣布赛程2(决赛)的获胜者

我们为您准备的奖品!

比赛进程 1

赛程1的五个项目中分别选出5位参赛者,作为赛程1的获胜者(共25名获胜者)。每位获胜者都将获得:

  • 带有社区版软件开发工具包的Qtopia Greenphone手机一部
  • 晋级第二阶段的比赛

获奖参赛作品将于2007年7月16日公布。

比赛进程 2

赛程2的两个项目中分别选出1位参赛者,作为赛程2的获胜者(共2名获胜者)。每位获胜者都将获得:

  • $5000.00美元的奖金
  • 参加2007奇趣科技开发员大会的机票和入场券
  • Qtopia Greenphone 软件开发工具包专业版
  • 作为决赛冠军人物刊登在奇趣科技刊物上

评审员与评选标准(英文)

赛程1与赛程2的评选标准
我们的评审小组将根据下列标准和得分值审评每一项参赛作品。关于更多详细信息,请参阅《开发者挑战规则》。

  • 适用性:参赛的应用程序是否符合开发者挑战的项目类别之一?(30%)
  • 方便使用性与文档编制:参赛作品无须打印文档如何直观方便地使用?(30%)
  • 实用性:参赛作品如何有效执行对终端用户有用的功能(终端用户可以是消费者、开发者、IT人士或另外的程序员)(20%)。
  • 性能与效率:参赛作品如何以最有效的方式实现功能。(10%)
  • 原创性:参赛作品的独特性。(10%)欢迎参加Qtopia编程大赛。英文)

Qtopia Greenphone 开发者挑战赛概述

奇趣科技将举办具有两轮赛事的Greenphone 开发者挑战赛。在第一轮比赛中,仅对前1,000份收到的合格参赛作品进行评选,参赛作品必须符合五个比赛项目的其中之一(比赛项目请参见以下第四章节)。第一轮比赛的参赛作品将在Qtopia虚拟帧缓冲器 (“QVFb”) 上进行演示。参赛作品必须包括一副屏幕截图,html 文件描述(参见html模板),以及用于x86/qvfb 的ipk 文件。应用程序的开发必须在两个月内完成。

从挑战赛的第一轮比赛中将选拔出二十五(25)位获胜者晋级第二轮比赛,并且每位获胜者将颁发一部Qtopia Greenphone 手机。在第二轮比赛中最后获胜的参赛作品将在实际的Qtopia Greenphone 电话中进行演示。第二轮的参赛作品必须包括一副屏幕截图,html 文件描述(参见html 模板),以及用于Greenphone 的ipk 文件。应用程序的开发必须在两个月内完成。第二轮比赛将选出两名(2)获胜者作为整场挑战赛的冠军:一名获得最佳开放源应用程序奖,另一名获得最佳商业应用程序奖。


大众投票评选

奇趣科技将把赛程第二阶段的参赛作品内容和快照公布于众,便于大众投票评选。如果您想在大众评选开始时参与大众评选,那么请写邮件通知我们,邮件地址:press@trolltech.com,请在主题栏内注明"Notify Me"。另外,开发员挑战赛的参赛人员不能参加大众评选活动。


开发员挑战赛的常见问题 (中文)

阅读全文(3122) | 评论:3 | 复制链接

光反射(智力)答案(2007-1-13 16:19:00)

1、

2、

3、

4、

5、

6、

7、

8、

9、

10、

11、

12、

13、

14、

15、

16、

17、

18、

19、

20、

21、

22、

23、

24、

25、

 


阅读全文(3632) | 评论:0 | 复制链接