网络、互联网:连接了整个世界
WWW 万维网 Web
网络分类:有线 无线
有线:光纤 网线 WIFI(家里使用的无线路由器)
无线:移动基站 移动网络 WIFI(手机热点分享) 移动互联
移动互联:推动世界的发展 又是技术的创新、创业的大好时机。
移动互联的发展的霸主:摩托罗拉(被google收购)-->诺基亚-->苹果-->苹果+android-->苹果+android+微软(未知)
无线网络的发展
1g: 模拟蜂窝网络
第一代移动通信技术使用了多重蜂窝基站,允许用户在通话期间自由移动并在相邻基站之间无缝传输通话。
GSM
2g:数字网络
第二代移动通信技术区别于前代,使用了数字传输取代模拟,并提高了电话寻找网络的效率。这一时期手机用户数量急速增长,
预付费电话流行。基站的大量设立缩短了基站的间距,并使单个基站需要承担的覆盖面积缩小,有助于提供更高质量的信号覆盖。
因此接收机不用像以前那样设计成大功率的,体积小巧的手机成为主流。这一时期短信功能首先在GSM平台应用,后来扩展到
所有手机制式。铃声等付费内容成为新的利润增长点。
GSM(全球移动通信系统)
全世界最流行的移动通信标准制式。由于内部兼容,国际漫游变得更容易。全球2G网络中80%为GSM制式,覆盖212个国家
/地区的30亿人口。
CDMA是在数字技术的分支--扩频通信技术上发展起来的一种崭新而成熟的无线通信技术
3g:高速IP数据网络
第三代移动通信技术的最大特点是在数据传输中使用分组交换(Packet Switching)取代了电路交换(Circult Switching)。几年
前,用于在计算机上访问移动互联网的USB加密狗问世。电路交换使手机与手机之间进行语音等数据传输;
分组交换则将语音等转换为数字格式,通过互联网进行包括语音、视频和其它多媒体内容在内的数据包传输。
WCDMA (联通)
CDMA2000(电信)
TD-CDMA(中国移动) 最差
4g:全IP数据网络
到4G时代,java.lang.AbstractMethodError电路交换将完全消失。所有语音通话将通过数字转换,以VoIP形式进行。因此在4G
网络进行通话,将可以依靠有线或无线网络而不一定需要移动信号覆盖。
TD-LTE(中国移动) 最先引入
FDD-LTE(联通、电信)
5g:第五代移动电话行动通信标准
xg:(未来)
特点:1 速度越来越快 2 功能越来越多
Android:机器人
Android是Google公司2007年发布基于Linux2.6免费开源的操作系统。(记住)
英文描述:
Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK
provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
鲁宾说,“我们开发Android的最初目的是开发一款相机平台,但它后来成为了手机平台。”他表示,他们最初的计划是开发一支
持云存储技术的相机平台。谷歌(微博)2005年8月份收购了Android,鲁宾也因此加盟谷歌。
(1)开放手机联盟成立
2007年11月5日,34个联盟成员宣布成立开发手机联盟。(保证android是一个可持续的产品)
(2)发布第一版Android SDK
2007年11月12日宣布发布第一版Android SDK。
(3)Android开发者竞赛
2008年4月17日举办Android开发竞赛,在规定的时间内提交了1788件作品,推动了Android开发应用的速度。
(4)Android Market上线
2008年8月28日,为Android平台手机提供软件分发和下载的Market正式上线,迅速积累了大量的应用。
(5)T-Mobile G1上市
2008年9月23日,第一款基于Android的手机上市。
(6)Android 1.0 SDK release 1发布
2008年9月23日,Android 1.0 R1 SDK发布,标志着Android系统趋于稳定和成熟,越来越多的开发者加入Android开发阵营中。
(7)Android被宣布开发源代码
2008年10月21日,Android被宣布开放源代码。
上图就是android 系统升级的过程
当然显示android现在目前已经升级了5.1
android的每个版本的命名都是吃的,android的升级的速度也是非常的快半年就升级一次,差不多是苹果的2倍,每次升级都在原来的基础之前进行了一些变化。当然对我们程序来说就是增加了一些新的API.
Android2.x的时候都是针对手机设备
Android3.0是专门针对平板电脑
Android4.0实现了三合一(手机、电视、平板)
当然大家不要简单的认为android就只能用于 (手机、电视、平板) android可以用于所有的设备
比如:汽车、无人飞机、电饭煲、空调、手表、眼镜、mp3....智能家居
android慢慢的也在吞噬嵌入式的市场。
android是一个平台、一个生态圈。
层叠式系统。
1写出android的四层架构图
applicaitons :应用程序层
application framework :应用框架层(api层)
libraries:(库 c库) 都是c的开源框架。
android runtime : dalvik vm (达尔维克虚拟机) 每一个应用程序都是运行在该虚拟机里面。
linux kernel(内核) 驱动 他是android工程师添加的。进程间通讯。ipc c代码
2 写出android里面的核心应用
Home(桌面) Contacts (联系人) phone(电话) browser (浏览器)
1 为什么不是jvm 而要搞一个dalvik vm ?
jvm 在设计上是考虑pc 不是移动设备
dalvik特点:1 速度快 2 功耗低 (在移动设备上)
2 区别:
1 识别的文件不同 jvm:.class 文件 .jar (压缩文件很多.class) dalvik vm:.dex文件 只是一个文件
一次加载所有的内容
2 架构不同
jvm:基于堆栈(内存条) dalvik vm:基于寄存器(cpu)
dvm:16M 20M(可能被手机定制商修改)
art(android runtime) :android 4.4才开始有的。
在应用程序安装的时候,就把.dex文件编译成为系统所能识别的文件。
android系统设计不是很好。基于虚拟机,这样会导致系统的内存被虚拟机大量的消耗。(每个应用都有单独的虚拟机)
ios android 是一家。
unix --> linux
在android5.0的时候已经全面使用art
环境的搭建:
过去:jdk 1.5、 eclipse、 adt插件 、 sdk开发工具集
现在:jdk google公司 提供了开发工具包 adt
看自己安装的jdk是32位还是64位的:直接解压
温馨提醒:可以进入eclipse目录 右键eclipse.exe发送一个快捷方式到桌面方便于操作
注意:所有的软件已经安装 不要放置在中文目录 或者有空格的目录
sdk (software develop kits) 软件开发工具集
add-ons:google map
docs:文档
extras:额外:升级后的一些支持包 希望在低版本中也可以使用。
platforms:开发平台
platfrom-tools:平台工具
aapt:把应用程序打包成apk的工具
adb 工具:android debug bridge 安卓调试桥 连接 手机、模拟器
sample:例子
sources:源码(只是部分的源码) 关联源码
system-images:镜像文件 安装系统
tools:工具
android设计者为了减低开发人员的成本,还设计了模拟器用来模拟真实的手机。
第一步 点击红色区域
第二步 选择New
第三步 创建模拟器
第四步 启动模拟器
也许是看到模拟器不是这样:主要你选择的模拟器可能不是2.3的系统。
android模拟器是比较消耗内存,建议大家最好是4G的内存。
android模拟器的启动的时长也是比较长的(第一次启动时长是最长的,如果电脑不是太好的,耐心等待)
温馨提醒:如果电脑不是很好的 最好是选择版本比较低的系统这样消耗的内存会少点 学习没有影响
如果要想快一点也是可以的,可以安装加速器
注意:电脑是i5(标准版) 可能会导致蓝屏死机
如果你的电脑使用的是中文用户名可能导致模拟器无法启动
添加ANDROID_SDK_HOME 环境变量,从变量名上看最好把ANDROID_SDK_HOME指向Android SDK目录,然后启动AVD
一定要重启eclipse 作用:就是改变模拟器存放的位置
ddms(Dalvik Debug Monitor Server):是android开发的一个很重要的透视图
开发eclipse 在最右边就可以看到
设备列表
日志
模拟器控制台
文件列表
个人习惯:把这个常用的窗口直接显示在java透视图
在eclipse的操作栏选择window-->show views
右键计算机-->属性-->高级系统设置-->环境变量-->选择path
把adb.exe命令所在的路径配置好
这样就可以在cmd窗口使用adb命令
l adb devices 列出所有的设备
l adb shell 挂载到linux的空间
l adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk
l emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称)
l adb pull
l adb push
这些命令都是可以提升出来的 只要在cmd窗口输入adb 回车
linux的指令:
ls 列表文件
pwd 获取当前所在的目录地址
cd 进入那个目录
有的时候我们会发现你启动模拟器,但是你却在devices列表里面看不到模拟器,或者你运行应用会再启动一个模拟器。
原因:
1你的电脑里面安装了一些手机辅助软件或者能够自动连接手机的软件
如:豌豆荚 360手机助手 暴风影音
这些软件会杀死eclipse里面的adb.exe
如果出现的这样的问题:最好卸载这些软件 或者 来到进程列表找到对应的进程杀死
2 adb 主动超时 在4.x 最常见
只能把模拟器关闭 再重启
3 adb掉线
第一步 新建android工程
第二步 输入工程的信息
android系统里面不可能出现两个包名相同的应用。
把res目录下所有的资源映射到R.java文件 方便于编程
应用程序的图片 和 名称
android是基于组件的开发 :基于4大组件 activity service broadcastReceiver provider
j2ee也是基于组件的开发:基于3大组件 servlet filter listener
快捷键:alt +/ 自动提示
ctrl + O 类列表
crlt + T 查看类的继承关系
一个界面就是一个Activity.
res/layout下面的就是布局文件
图像显示 xml显示
打包:
window的安装 .exe
释放的空间
/data/app apk存放的目录
/data/data/包名 安装的目录
vertical:垂直方向
horizontal:水平方向
开发中不要使用。
拨号的组件需要权限。 该组件对外暴露的时候他要求这样的权限
1 准备真实的手机
2 给手机安装驱动
3 打开开发者模式 允许USB调试
4 run as
如果是长度的单位:dp dip
文字的大小 sp