2G,即第二代通信技术,技术实现上可以分为TDMA和CDMA。
Time division multiple access (TDMA)
TDMA 是一种共享媒介网络上的通道入口技术。时分多址是把时间分割成周期性的帧(Frame)每一个帧再分割成若干个时隙向基站发送信号,在满足定时和同步的条件下,基站可以分别在各时隙中接收到各移动终端的信号而不混扰。同时,基站发向多个移动终端的信号都按顺序安排在予定的时隙中传输,各移动终端只要在指定的时隙内接收,就能在合路的信号中把发给它的信号区分并接收下来。
Code division multiple access (CDMA)
CDMA也是一种通道传输技术, 又称码分多址,是在无线通讯上使用的技术,CDMA允许所有使用者同时使用全部频带(1.2288Mhz),且把其他使用者发出讯号视为杂讯,完全不必考虑到讯号碰撞 (collision) 问题。CDMA中所提供语音编码技术,通话品质比目前GSM好,且可把用户对话时周围环境噪音降低,使通话更清晰。就安全性能而言,CDMA不但有良好的认证体制,更因其传输特性,用码来区分用户,防止被人盗听的能力大大增强。 Wideband CDMA(WCDMA)宽带码分多址传输技术,为IMT-2000的重要基础技术。
CDMA系统是基于码分技术(扩频技术)和多址技术的通信系统,系统为每个用户分配各自特定地址码。地址码之间具有相互准正交性,从而在时间、空间和频率上都可以重叠;将需传送的具有一定信号带宽的信息数据,用一个带宽远大于信号带宽的伪随机码进行调制,使原有的数据信号的带宽被扩展,接收端进行相反的过程,进行解扩,增强了抗干扰的能力。CDMA系统属于自干扰系统。CDMA系统只接收地址码一样的部分,其他部分变成噪音。
在编译so文件的c或cpp文件之前中加入以下代码,就可以在android中的log显示日志内容
#include <android/log.h>
logcat的级别:
ANDROID_LOG_UNKNOWN,
ANDROID_LOG_DEFAULT,
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
ANDROID_LOG_SILENT
__android_log_write(ANDROID_LOG_WARN,”biqian”,”neirong”)
2.如果要用log,那就要把 liblog给引进来。Android.mk中加LOCAL_LDLIBS := -llog
3.如果不加第二步,直接编译,就会报 __android_log_write 方法undefined.
怎么回事呢?关键是在设置编译选项上面。
在Android.mk文件里,可以指定一个LOCAL_LDLIBS的参数。如果不指定,那么编译的时候,只会引入默认的几个重要的lib,比如libc之类的。
如果要用log,那就要把 liblog给引进来。
网上很多的写法是 LOCAL_LDLIBS := -llog ,这在build static lib的时候没什么问题。如果是build shared lib,就会报个 cannot find -llog的错误。意思是找不到liblog.so这个库文件。
因此需要改成 LOCAL_LDLIBS :=
-L$(SYSROOT)/usr/lib -llog 才可以正常编译。
其中-L参数是指定了搜索lib的路径。
下面是一个android.mk的内容的例子:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE
:= TestNdkNetwork
LOCAL_SRC_FILES :=
HttpConnection.cpp
LOCAL_LDLIBS :=
-L$(SYSROOT)/usr/lib -llog
include $(BUILD_SHARED_LIBRARY)
注:以下所有以$开头的,为命令行操作,$之后的是命令, #号之后是注释
1.克隆一个仓库
然后进入仓库目录,运行如下命令来忽略git对于文件权限的检查
然后设置你的帐户和邮箱
2.抽取⼀一个分支以及切换到⼀一个分支(切记,要得到⼀一个分支,应该先抽取它,把它抽取到 本地,生成⼀一个本地分支)
命令格式 git checkout 本地分支名 origin/远程分支名,通常,本地分支名和远程分支名⼀一 样,当然,也可以不⼀一样。
3.查看分支,注意,*号在那个分支名前面,就说明你目前处在那个分支下。
查看本地分支:
查看所有分支,包括你仓库中的远程分支:
更新你本地仓库的所有分支和远程仓库的分支保持⼀一致,主要是 删掉本地仓库中与远程仓库相比较,已经不存在的分支:
4.本地仓库分支的创建和删除
5.更新仓库但不将修改合并分支的修改
6.更新仓库且将修改合并到本地分支,这个最常用,相当于svn up
7.查看状态,是否有提交,删除,更新等信息,如果看到大批文件权限有更新,请使用“git config core.filemode false” 来忽略权限检查
8.提交,注意:提交仅仅是将你的修改提交到你本地的仓库,而非远程
如果之前未使用 git add 将修改的文件加入暂存区,可再加⼀一个参数 -a 来将所有未暂存的修 改提交
9.推送到远程仓库,只有将你的修改或分支推送到远程仓库,其它人才能从该远程仓库获取
命令格式 git push origin 本地分支名:远程分支名,本地和远程分支名可以不⼀一样,远程分支 名是推送到远程仓库的分支名
10.删除远程仓库中的分支