摘要: 函数 1 函数的重载: 函数名相同,参数个数不同 参数个数相同,参数类型不同 函数的签名 重载和指针参数 例如:int temp(int * pnum1,int * pnum2); int temp(long * pnum1,long * pnum2); 重载和引用参数 重载和const参数 2 函数模板 一个简章的函数模版 template<class T> T larger(T a, T b){ //函数体} 创建模版的实例 larger(1.5,2.5); 显示指定模板参数板 larger<long>(num1,num2)... 阅读全文
posted @ 2012-09-03 15:29 retacn_yue 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 使用函数编程 程序的分解 1 函数 定义函数 函数头格式:返回类型 函数名(参数列表) 参数和变元 返回值 return 2 函数的声明 函数的原型 函数的参数传递 按值传送 给函数传送指针 给函数传递数组 常量指针参数 多维数组参数 按引用传送机制 例如:int num=10; int &rnum=num; main的参数 一般格式如下:int main(int argc,char * argv... 阅读全文
posted @ 2012-09-03 15:28 retacn_yue 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 指针 可以使用指针记号操作存储在数组中的数据 可以在函数中访问函数外部的大块数据 动态为新变量分配空间 1 指针的声明: long * pnumber; 2 地址运算符: & 例如:long number=1234L; long * pnumber; pnumber=&number; 3 间接运算符: * 4 指针的初始化 : 可以用变量地址初始化指针,代码如下: int number=10; int * pnumber=&number; 还可以int * pnumber=0; 5 把指针初始化为char类型 可以用字... 阅读全文
posted @ 2012-09-03 15:28 retacn_yue 阅读(132) 评论(0) 推荐(0) 编辑
摘要: while do-while for循环 循环和变时作用域 跳过循环迭代: continue; 循环的中断 : break;第六章 数组和字符串 1 数组的定义 double tempertures[366]; 避免幻数:可以声明一下数组的大小 初始化数组: int sample[]={2,3,4,5,6}; 初始化数组的大小: int sample[5]={2,3,4,5,6}; 取得数组所占用的字节数 : sizeof 数组名 字符数组: char values={'a','b','c','d'}; 自动在数组末尾添加' 阅读全文
posted @ 2012-09-03 15:27 retacn_yue 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 选择和决策 比较数据值 1 关系运算符:< > == <= >= != 2 if语句 嵌套的if语句 不依赖编码的字符处理: 包含<cctype>头文件 3 if-else语句 嵌套的if-else语句 4 逻辑运算符 && 与 全真为真 || 或 全假为假 ! 非 5 条件运算符 逻辑表达式?表达式一:表达式二 6 switch语句 7 无条件分支 goto语句 例如:MyLable: x=1; goto MyLabel; 8 决策语句块和变量作用域 阅读全文
posted @ 2012-09-03 15:26 retacn_yue 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 处理基本数据类型 1 混合表达式 (向上转型) 2 赋值和不同类型 类型1=类型2 尽量避免高类型向低类型转换 3 显示强制转换 static_cast<转换后的类型>{表达式} 老式的强制转换(转换后的类型)表达式 4 确定类型 sizeof();返回一个整数(size_t 就是unsigned int) 5 确定数值的上下限 显示double类型的变量中的最大值,代码如下: std:numeric.limits<double>::max(); 同理max换成mai取得最小值 6 按位运算 移位运算符 <<左移 >>右移 位模式下的逻辑运算 枚 阅读全文
posted @ 2012-09-03 15:26 retacn_yue 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 基本概念第一个程序 helloword/*标准头文件*/#include<iostream>using namespace std;int main(){cout<<"helloworld!\n";return 0;}1 名称c++中可以命名的五种元素 函数 变量 类型 标签 命名空间注:名称不能以数字开头,中间不能有空白字符 包含两个下划线的名称,以一个下划线开头后跟一个大写字母,是标准库的保留字 名称中允许含有16进制字符\Udddd,d表示16进制数2 命名空间using namespace std;cout的全名就是:std::cout // 阅读全文
posted @ 2012-09-03 15:25 retacn_yue 阅读(125) 评论(0) 推荐(0) 编辑
摘要: Android的传感器系统传感器的种类传感器名称Java中的名称本地接口名称数值加速度TYPE_ACCELEROMETERSENSOR_TYPE_ACCELEROMETER1磁场TYPE_MAGNETIC_FIELDSENSOR_TYPE_MAGNETIC_FIELD2方向TYPE_ORIENTATIONSENSOR_TYPE_ORIENTATION3陀螺仪TYPE_GYROSCOPESENSOR_TTYPE_GYROSCOPE4光线(亮度)TYPE_LIGHTSENSOR_TTYPE_LIGHT5压力TYPE_PRESSURESENSOR_TTYPE_PRESSURE6温度TYPE_TEMP 阅读全文
posted @ 2012-09-03 15:23 retacn_yue 阅读(846) 评论(0) 推荐(0) 编辑
摘要: Gps(globalPositionSystem全球定位系统)和定位部分除此之外还有利用基站(cell)定位的AGPS等设备定们系列统的基本架构主要数据来源有两个:GPS定位和network定位(基于cell和wifi热点的定位)定位部分的结构如图定位系统的驱动层Network定位的底层驱动和适配层实际上就是RIL和wifi框架的组成部分Cell定位就是利用基站的cellID以及LAC实现Wifi则是利用热点的相关信息如名字mac地址ip地址实现GPS设备分为硬GPS和软GPS硬GPS上电就可以直接输出NMEA数据软GPS需要主控芯片控制其运行状态,需要主控方进行计算才能得到NMEA数据GPS 阅读全文
posted @ 2012-09-03 15:22 retacn_yue 阅读(1500) 评论(0) 推荐(0) 编辑
摘要: 蓝牙部分蓝牙协议栈1.11.22.02.13.0异步数据和语音传输采用的协议:逻辑链路控制和适配协议(L2CAP)、服务发现协议(SDP)、串口模拟协议(RFCOMM)主要控制接口由主机控制接口层体现,他是蓝牙协议里软硬件之间的接口在HCI之上的是蓝牙的上层应用框架,每个应用模式为一个profile,如无线立体声耳机A2DP(AdvancedAudioDistributionProfile)等蓝牙的基本架构自上而下包括以下内容:Linux内核的蓝牙驱动程序Linux内核的蓝牙协议层Bluez蓝牙在用户空间的库Bluez适配层Android.bluetooth包中的各个类(蓝牙在框架层的内容)蓝 阅读全文
posted @ 2012-09-03 15:21 retacn_yue 阅读(406) 评论(0) 推荐(0) 编辑
摘要: Android的联接部分Wifi部分Wifi的基本架构自上而下包括的一些内容:Linux内核的标准wifi驱动程序和协议Wap_supplicant可执行程序(WAP应用层认证客户端)Wifi的HALWIFI的JNI接口Wifi的java框架Wifi的相关应用Wifi的结构图如下:Wifi的本地实现(主要包括wap_supplicant和wap_supplicant适配层)WAP是wifiprotectedAccessWap_supplicant是WAP应用层认证客户端,负责认证完成相关的登陆和加密工作,他是一个开源的代码路径为:\external\wpa_supplicant文件名为:wpq 阅读全文
posted @ 2012-09-03 15:19 retacn_yue 阅读(345) 评论(0) 推荐(0) 编辑
摘要: Android电话部分综述主要部分:呼叫短信数据连接SIM卡电话本电话部分分为以下几层:Modem驱动RIL(radiointerfacelayer)电话服务框架应用层Modem通信模块Chip-on-board在Modem硬件上一般使用两个渠道:一个是用于AT命令:一般使用UART或USB方式,AT命令由Hayes公司发明以AT开头,用于完成调制解调器之间的交互另一个用于数据传输:通过usb方式传输数据如果基带与应用处理器集成一般通过共享内存方式传输本地的RIL代码本地代码的路径:\hardware\ril部分文件;include:RIL头文件Libril:RIL库,最终生成libril.. 阅读全文
posted @ 2012-09-03 15:18 retacn_yue 阅读(386) 评论(0) 推荐(0) 编辑
摘要: android的多媒体系统多媒体系统的结构和业务多媒体系统的宏鸡观结构应用层,java框架层,c语言层,硬件抽像层,其中输入输出由HAL层,处理环节由packetView的OpenCore实现,多媒体业备有以下几种:musicPlayer(音频播放器)viderPlayer(视频播放器)Camera(照相机)soundRecord(录音机)videoCamera(摄像机)Mediametadata(媒体元信息)核心是媒体的播放和录制,分别由下层的OpenCore的PVPlayer和PVAuthor来实现多媒体的java类:\frameworks\base\media\java\android\ 阅读全文
posted @ 2012-09-03 15:16 retacn_yue 阅读(1938) 评论(0) 推荐(0) 编辑
摘要: android中的audio系统Audo系统主要分如下几个层次:1.Media库提供的Audio系统本地部分接口2.audioFlinger作为audio系统的中间层3.audio的硬件层提供底层支持4.audio接口通过JNI和java框架提供给上层Audio的系统结构如下图代码分布如下:1audio的java部分路径为:/frameworks/base/media/java/android/media例:audioManager2Audio的JNI部分(最终生成库libandroid_runtime.so)/frameworks/base/core/jni3audio的框架部分头文件部分. 阅读全文
posted @ 2012-09-03 15:12 retacn_yue 阅读(594) 评论(0) 推荐(0) 编辑
摘要: Android的GUI系统AndroidGUI系统综述C语言部分包括:pixelFlinger(下层工具库)头文件/system/core/include/pixelflinger其生成的动态库libpixelflinger.so只连接 C语言库libcutilsFormat.h提供像素格式的定义, Pixelflinger.h提供接口功能的定义 源代码/system/core/libpixelflingerLibui(GUI的框架库)头文件:/system/core/libpixelflinger/ui源代码:/f... 阅读全文
posted @ 2012-09-03 15:07 retacn_yue 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 第四章android的底层库和程序知识点:Android.mk的书写规则在android中增加可执行程序、动态库、和静态库的方法Init.rc启动角本的使用方法Binder机制的工作原理使用binder在程序中构建IPC的方法Android的系统进程底层库和程序的结构1增加本地程序和库的方法要增加的库和程序跟路径没有关系,只和它们的android.mk文件有关系Android.mk和makefile有所不同,android.mk主要包含一些系统公共有宏android.mk中选项的路径Build/core/config.mk各个选项的默认值Build/core/base_rulles.mk编译程 阅读全文
posted @ 2012-09-03 15:05 retacn_yue 阅读(1191) 评论(0) 推荐(0) 编辑
摘要: android的linux内核和驱动程序Androidr专用驱动Ashmem:匿名共享内存驱动Logger:轻量级的log驱动Binader:基于operBinder系统的驱动,为android提供IPC支持AndroidpowerManager:电源管理器LowMemoryKiller:缺少内存时,杀死进程AndroidPMEM:物理内存驱动Android使用的设备驱动Framebuffer驱动是标准和显示设备驱动,对于PC系统就是显卡驱动设备节点通常是/dev/fbxFramebuffer驱动的主要头文件:include/llinux/fb.h核心实现:drivers/video/fbme 阅读全文
posted @ 2012-09-03 15:03 retacn_yue 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 1.android的系统架构(linux2.6内核)Linux操作系统及驱动本地代码框架Java框架Java应用程序Android的程序库系统c库多媒体库:packetVideo的openCoreSurfaceManager:提供2D和3D的无缝融合libWebCore:web浏览器引擎SGL:Skia图形库,,2D图形引擎3Dlibraries:基于OpenGLES1.0API的实现FreeType:位图和矢量字体显示Android的运行环境dalvik虚拟机和java基础库Android应用程序框架ViewscontentProvidersresourceManagerNotificati 阅读全文
posted @ 2012-09-03 15:01 retacn_yue 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 给root设定密码后,仍可以sudo su 切换到root用户 d rwx r-xr-x 文件权限第一位:d是目录文件 l是链接文件 -是普通文件 p是管道文件第二到四位: 表示这个文件的属住拥有的权限 r读,w是写,x是执行第五到七位: 表示和这个文件的属主同在一个组的用户所具有的权限第八到十位:表示其他所有用户所具有的权限 修改文件权限常用方法sudo chmod 600 ××× (只有所有者有读和写的权限)sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)sudo chmod 700 × 阅读全文
posted @ 2012-09-03 14:59 retacn_yue 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 屏幕大小: small normal large extra large屏幕密度(单位dpi) low dedium high extra high 常见: QVGA HVGA WVGA800 手机基本的屏幕 QVGA=320*240 WQVGA=320*240 WQVGA2=400*240; WQVGA3=432*240; HVGA=480*320; VGA=640*480; WVGA=800*480; WVGA2=768*480; FWVGA=854*480; DVGA=960*640; PAL=576*520; NTSC=486*440; SVGA=800*600.1 分包建立不同皮肤. 阅读全文
posted @ 2012-09-03 14:48 retacn_yue 阅读(220) 评论(0) 推荐(0) 编辑