摘要:
一.交流的对等性 交流双方要对问题有充分的认识和了解,彼此要对自己的理解进行充分而详细的表述,交流过程中不能因为职位的高低不同而左右对方的客观表述。二.交流的有效性 交流的主题要明确,最终双方要达成共识,没有共识的交流是无效的,不能做到软件实现中。三.交流的时效性 交流的问题要有前瞻性,这样才能对后续开发具备指导意义。四.交流的规范性 交流过程过程中要注意记录,交流的内容要提前准备,要双方提前了解,过程中不要跑题,准备的资料要标准规范。五.交流的成本 交流是有成本的,因此同类问题最好能够一次性解决,形成决议。六.交流的范围 交流的范围要界定清晰,边界的输入、输出、内部的逻辑规则、数据规则是讨论 阅读全文
摘要:
广播通知(Toast Notifications)广播通知是在窗口表面弹出的一个消息。它只填充消息展现需要的空间,并且用户当前的Activity依然可见和可交互。通知自动的渐入渐出,不接受交互事件。下面图1显示一个例子是闹钟应用的广播通知,一旦闹钟被打开,就会在你设置的提醒时间显示一个广播通知。图1广播通知能够由Activity或Service创建和显示。如果你创建了一个源自Service的广播通知,它会显示当前有焦点的Activity的前面。如要需要用户对通知做出响应,请考虑使用状态栏通知。基础首先,用makeText()方法实例化一个Toast对象。这个方法需要三个参数:1.应用程序的Co 阅读全文
摘要:
有几种类型的场景可能会要求你把应用程序中发生的事件通知给用户。有些事件需要用户响应,而有些则不需要。例如:1.当像文件保存完成的一个事件发生时,就应该显示一个短消息,提示用户保存成功了。2.如果应用程序正在后台运行,并且需要用户的关注,那么应用程序就应该创建一个允许用户方便响应的通知。3.如果应用程序正在执行用户必须等待的工作(如装载文件),那么应用程序就应该显示一个悬停的进度对话框。每种通知任务都能够使用以下三种不同的技术来实现:1.广播通知,主要针对来自后台的短消息;2.状态栏通知,主要针对来自后台的并要求用户响应的持续性提醒;3.对话框通知,主要针对Activity相关的通知。广播通知( 阅读全文
摘要:
首先看命令定义:72 extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);7374 U_BOOT_CMD(75 reset, 1, 0, do_reset,76 "Perform RESET of the CPU",77 ""78 );使用U_BOOT_CMD向系统添加了一条reset命令,当我们输入reset命令时,执行do_reset函数。42 int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * 阅读全文
摘要:
看门狗的作用我想大家都应该清楚,S3C2440看门狗定时器它不仅可以当作看门狗来使用,还可以当作普通的定时器来使用。S3C2440看门狗电路模块框图:看门狗电路采用PCLK作为时钟源,PCLK通过两个分频器之后才是看门狗定时器的工作时钟。那看门狗定时器的时钟到底是多少呢,有如下计算公式:t_watchdog= 1/[ PCLK / (Prescaler value + 1) / Division_factor ]prescaler value和division factor的取值是通过看门狗的控制寄存器WTCN来设置的,prescaler value取值范围为0~255,division fa 阅读全文
摘要:
skia默认生成的是vs2010的工程项目,是因为,skia下需要用到windows sdk7.0的的一些头文件。其实可以自己改08的包含目录就可以编译了。下面说说怎么修改让支持08编译打开gyp_skia,默认是2010,修改成即可 阅读全文
摘要:
370 #ifndef __HAVE_ARCH_STRLEN371 /**372 * strlen - Find the length of a string373 * @s: The string to be sized374 */375 size_t strlen(const char *s)376 {377 const char *sc;378379 for (sc = s; *sc != '\0'; ++sc)380 /* nothing */;381 return sc - s;382 }383 EXPORT_SYMBOL(strlen);38... 阅读全文
摘要:
240 #ifndef __HAVE_ARCH_STRCMP241 /**242 * strcmp - Compare two strings243 * @cs: One string244 * @ct: Another string245 */246 #undef strcmp247 int strcmp(const char *cs, const char *ct)248 {249 unsigned char c1, c2;250251 while (1) {252 c1 = *cs++;253 c2 = *ct++;254 ... 阅读全文
摘要:
164 #ifndef __HAVE_ARCH_STRCAT165 /**166 * strcat - Append one %NUL-terminated string to another167 * @dest: The string to be appended to168 * @src: The string to append to it169 */170 #undef strcat171 char *strcat(char *dest, const char *src)172 {173 char *tmp = dest;174175 while (*dest)176... 阅读全文
摘要:
91 #ifndef __HAVE_ARCH_STRCPY92 /**93 * strcpy - Copy a %NUL terminated string94 * @dest: Where to copy the string to95 * @src: Where to copy the string from96 */97 #undef strcpy98 char *strcpy(char *dest, const char *src)99 {100 char *tmp = dest;101102 while ((*dest++ = *src++) != '\0')103 阅读全文