android基础Day01

来源:互联网 发布:mac版qq游戏 编辑:程序博客网 时间:2024/05/21 10:41


(了解)2g/3g/4g技术

   网络、互联网:连接了整个世界

   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:机器人

   AndroidGoogle公司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 theJava programming language.

 

   鲁宾说,“我们开发Android的最初目的是开发一款相机平台,但它后来成为了手机平台。”他表示,他们最初的计划是开发一支

   持云存储技术的相机平台。谷歌(微博)20058月份收购了Android,鲁宾也因此加盟谷歌。

  (1)开放手机联盟成立

     2007115日,34个联盟成员宣布成立开发手机联盟(保证android是一个可持续的产品)

  (2)发布第一版Android SDK

     20071112日宣布发布第一版Android SDK

  (3)Android开发者竞赛

     2008417日举办Android开发竞赛,在规定的时间内提交了1788件作品,推动了Android开发应用的速度。

  (4)Android Market上线

     2008828日,为Android平台手机提供软件分发和下载的Market正式上线,迅速积累了大量的应用。

  (5)T-Mobile G1上市

     2008923日,第一款基于Android的手机上市。

  (6)Android 1.0 SDK release 1发布

     2008923日,Android 1.0 R1 SDK发布,标志着Android系统趋于稳定和成熟,越来越多的开发者加入Android开发阵营中。

  (7)Android被宣布开发源代码

     20081021日,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  (浏览器)

(了解)dalvik虚拟机和jvm的区别

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模式

art(android runtime) :android 4.4才开始有的。

在应用程序安装的时候,就把.dex文件编译成为系统所能识别的文件

android系统设计不是很好。基于虚拟机,这样会导致系统的内存被虚拟机大量的消耗。(每个应用都有单独的虚拟机)

ios        android  是一家。

unix  -->   linux

android5.0的时候已经全面使用art

 

 

(掌握)android开发环境的搭建

环境的搭建:

过去:jdk  1.5eclipse、   adt插件 、    sdk开发工具集

 

现在:jdk  google公司  提供了开发工具包adt    

  

看自己安装的jdk32位还是64位的:直接解压

 

温馨提醒:可以进入eclipse目录  右键eclipse.exe发送一个快捷方式到桌面方便于操作

 

 

注意:所有的软件已经安装  不要放置在中文目录 或者有空格的目录  

 

(掌握)SDK目录结构

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使用

ddms(Dalvik Debug Monitor Server):android开发的一个很重要的透视图

开发eclipse 在最右边就可以看到

 

 设备列表

  日志

  模拟器控制台

  文件列表

个人习惯:把这个常用的窗口直接显示在java透视图

eclipse的操作栏选择window-->show views

 

 

 

(了解)adb环境变量配置

右键计算机-->属性-->高级系统设置-->环境变量-->选择path  

adb.exe命令所在的路径配置好  

这样就可以在cmd窗口使用adb命令

 

(了解)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 <remote> <local> 把文件从手机导出到电脑

l adb push <local> <remote> 把文件从电脑导入到手机

这些命令都是可以提升出来的 只要在cmd窗口输入adb回车

 

linux的指令:

ls 列表文件

pwd 获取当前所在的目录地址

cd   进入那个目录

 

 

(掌握)adb异常

有的时候我们会发现你启动模拟器,但是你却在devices列表里面看不到模拟器,或者你运行应用会再启动一个模拟器。

原因:

   1你的电脑里面安装了一些手机辅助软件或者能够自动连接手机的软件

   如:豌豆荚 360手机助手 暴风影音

   这些软件会杀死eclipse里面的adb.exe  

   如果出现的这样的问题:最好卸载这些软件   或者 来到进程列表找到对应的进程杀死

 

   2 adb 主动超时 在4.x最常见

    只能把模拟器关闭 再重启

  

   3 adb掉线

   

 

 

 

 

(掌握)Android开发Eclipse工程的目录结构

1新建工程

第一步 新建android工程

 

第二步 输入工程的信息

 

android系统里面不可能出现两个包名相同的应用。

2工程目录结构

 

res目录下所有的资源映射到R.java文件  方便于编程

3运行效果

 

 

 应用程序的图片  和  名称

4清单文件

 

android是基于组件的开发   :基于4大组件  activity  service  broadcastReceiver  provider

j2ee也是基于组件的开发:基于3大组件  servlet  filter listener   

快捷键:alt +/  自动提示   

ctrl +  O  类列表

crlt + T 查看类的继承关系

 

一个界面就是一个Activity.

5Activity

 

6布局文件

res/layout下面的就是布局文件

 

图像显示               xml显示

 

(了解)apk生成和安装的流程

 

 

打包:

 

 

window的安装  .exe  

释放的空间  

 

/data/app  apk存放的目录

 

 

/data/data/包名   安装的目录

 

(掌握)常见布局(线性,相对,表格,绝对,帧布局)

1线性布局

 

vertical:垂直方向

horizontal:水平方向

2相对布局

 

 

 

3帧布局

 

 

4表格布局

 

 

5绝对布局

开发中不要使用。

 

 

(掌握)电话拨号器

 

 

 

 

拨号的组件需要权限。   该组件对外暴露的时候他要求这样的权限

 

(掌握)点击事件的四写法

1 java代码

 

 

2 xml配置

 

 

(掌握)短信发送器

1界面效果

 

2核心Api

 

 

3 方法参数分析

 

4编码实现

 

 

(了解)真实手机的部署程序的方法

1 准备真实的手机   

2 给手机安装驱动

3 打开开发者模式  允许USB调试

4 run as

 

(了解)常见单位dip px

如果是长度的单位:dp    dip   

文字的大小 sp

 


 

 

0 0