Android基础第一天

来源:互联网 发布:淘宝p2p 编辑:程序博客网 时间:2024/06/05 09:28

Android基础第一天

1.   Android系统架构

应用层

           包括系统内置的应用和用户自己安装的应用

 

应用程序框架层

           Android系统中的每个应用都依赖框架提供一系列服务和系统

                    活动管理器(ActivityManager):用来管理应用程序生命周期并提供常用的导航回退功能.

                    丰富而又可扩展的视图(Views):可以用来构建应用程序,它包括列表(lists),网络(grids),文本框(textboxes),按钮(buttons),甚至可嵌入web浏览器

                    内容提供器(ContetProviders):使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据.

                    资源管理器(ResourceManager):提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles).

                    通知管理器(Notification  Manager):使得应用程序可以在状态栏中显示自定义的提示信息.

 

系统运行库层

           分为Libaries程序库和AndroidRuntime库

          

Linux内核层

           Android的核心系统服务依赖于Linux内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型.Linux内核也同样作为硬件和软件之间的抽象层.

2.   Android的版本迭代

从最开始的1.6版本到现在的7.0版本

注意:目前android市场上基本2.3版本以下包含2.3版本的android手机已经很少了,市场占有率很低大概2~3%,所以大部分android应用都是直接从4.0以上系统开始进行开发兼容了

3.   两种虚拟机

Dalvik是Google公司自己设计用于Android平台的java虚拟机.它执行的是已转换为.dex(即Dalivik Executable)格式的java应用程序的运行,.dex格式是专为Dalivik设计的一种压缩格式,适合内存和处理器速度有限的系统.

 

Dalvik和标准JVM的差别:

         Dalvik基于寄存器,而JVM基于栈.

         基于寄存器执行时.花费的时间更短.

 

         Dalvik虚拟机运行的是其专有的文件格式Dex;Dex文件格式可以减少整体文件尺寸.提高i/o操作的类查找速度

4.ART虚拟机

         ART模式:Androidruntime,谷歌从Android4.4系统开始新增的一种应用运行模式,可以实现更为流畅的Android系统体验,相比Dalivik模式中出现的耗电快、占用内存大、即使是旗舰机用久了也会卡顿严重等现象,ART 模式中这种问题得到了很好的解决,通过在安装应用程序时,自动对程序进行代码预读取编译,让程序直接编译成机器语言,免去了Dalvik 模式要时时转换代码,实现高效率、省电、占用更低的系统内存、手机运行流畅。

 

         缺点:

         在安卓4.4 系统中,安装应用的时间比安卓4.4 以下版本系统更长,这主要由于应用安装过程中需要先执行编码导致,并且安装应用更占存储空间(ROM)。

5.SDK的目录结构

l  add-ons 这里面保存着附加库,比如GoogleMaps

l  build-tools 编译需要用到的工具

l  docs 开发的离线文档

l  extras 额外工具,模拟器加速器,向下兼容的jar包

l  platforms 开发需要的平台,每个平台的android.jar在对应的文件夹里面

l  platform-tools 开发调试的工具 adb.exe 一个重要的调试桥

l  sources android.jar的源码

l  system-images 模拟器创建需要的镜像

l  tools 开发辅助需要用到的工具,模拟器.exe

 

6. Android工程目录结构

         通过下图可以清晰的对比了解到主要大部分的目录结构作用

需要记住:  src   res目录下的layout   gen AndroidMainfest.xml

7. 常见ADB命令

adb devices :列出当前连接上所有设备

adb installxxx.apk :将xxx.apk 安装到模拟器上

adb uninstall 包名 :卸载应用

adb push <本地路径> <远程路径> :将本地文件上传到模拟器上

adb pull <远程路径> <本地路径> :将模拟器上文件下载到本地

adbkill-server :杀死adb 进程

adbstart-server :启动adb 进程

adb shell :进入Linuxshell 命令行

 

 

8. ADB挂掉的三种解决办法

利用eclipse重启adb:DDMS Devices点击向下的小箭头 Reset adb

使用adb指令:adbkill-server 杀掉adb调试桥,然后运用adb start-server或adb devices 重启adb,如果不管用,找到任务管理器干掉adb的进程然后重启Eclipse

干掉占用了5037端口号的其他应用程序 : dos 命令行 输入 netstat-aon|findstr “5037”找到监听这个端口号的PID 在任务管理器干掉对应的程序

9. Android五大布局

         (1)    LinearLayout线性布局

                            线性布局LinearLayout是根据指定朝向orientation水平Horizontal 或者垂直Vertical 方向排列的布局,其最大的特点是可以给子控件按照权重weight属性分配空间

         (2)    RelativeLayout相对布局

                   相对布局RelativeLayout允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。

特点:以某个控件为参考,来放置其他控件的位置

         (3)    FrameLayout帧布局

                            一层覆盖一层,后面的可以覆盖前面的

         (4)    AbsoluteLayout(被Google 废除)绝对布局

         (5)    TableLayout(被GridView 替代) 表格布局

 

0 0
原创粉丝点击