- 博客(8)
- 收藏
- 关注
原创 Android ----蓝牙架构
蓝牙: 1、fromwork 2、service 3、driver Bluetooth.apkbluedroid(芯片厂家) fromwork到service直接调用 service到driver利用service调用 fromwork到driver利用AIDL通信 相关代码位置: JB\packages\apps\Bl
2017-01-22 10:40:14
4249
原创 Wifi简介
一、WIFI的基本架构 1、wifi用户空间的程序和库: external/wpa_supplicant/ 生成库libwpaclient.so和守护进程wpa_supplicant。 2、hardware/libhardware_legary/wifi/是wifi管理库。 3、JNI部分: frameworks/base/core/j
2017-01-22 10:30:31
694
原创 Android中View的生命周期
1、在视图被添加到View层次结构中,首先回调的方法是View.onAttachedToWindow(),这标志着它现在可以加载所需的资源。构建自定义视图时,开发者应该重载该方法,并在该方法中加载所有的资源并初始化视图所需的依赖。基本上,所有耗时的初始化操作都应放在该方法中。 2、从View中移除视图时调用View.OnDetachedFromWindow(),在这里需要关注那些需要显式清理的操
2015-07-06 09:37:38
619
原创 UDP协议以及代理服务器
UDP协议:面向非连接的协议。指在正式通信前不必与对方先建立连接,不管对方状态就直接发送。对方是否可以接受这些内容,该协议则无法控制。 适用于:一次性只传输少量数据、对可靠性要求不高的应用环境。 UDP和TCP对比: TCP:可靠,传输大小无限制,但是需要连接建立时间,差错控制开销大。 UDP:不可靠,差错控制开销小,传输大小限制在64K一些,不需要建立连接。
2015-06-18 14:23:55
7707
原创 Timer中schedule的用法
schedule(时间表、进度表) 第一种形式: timer.schedule(new TimerTask() { void run() { //所需要处理的代码 } },0, 200); 第二种形式: timer.schedule(new MyTask(event.getServletContext()), 0, 200); 第一个参数"new MyTask(event.
2014-08-21 19:22:57
1261
原创 在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?
首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该
2013-10-01 19:24:02
606
原创 sizeof()具体用法
sizeof(): 函数功能:计算数据所占有空间的大小。 1:对于指针变量所有sizeof()所得到结果为4; 2:sizeof()所计算的数据所存储的内存空间的大小,用字节数表示: 与strlen()函数比较,sizeof以"\0"为结束判断,计算为'\0'的数组元素,而strlen则不计算‘\0’的数组元素。 注意:当数组作为形参传递过程中,视为指针传递。 void fun(str
2013-10-01 18:45:16
700
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅