- Android系统
- Android四层体系架构
- 系统核心层(Linux Kernel)
- 执行层c/c++函数库层(Libraries)及Android Runtime
- 应用程序框架层(Application FrameWork)
- 应用程序层(Applications)

- Android环境搭建
| JDK(JavaDeveloperKit) |
Java开发包。提供Java类库,Java的运行环境
|
|
Eclipse
|
集成开发环境 IDE。提供 编译、调试功能 |
|
SDK (SoftDeveloperKit)
|
Android 的软件开发包,提供Android开发的各种类库、开发工具、运行环境等
|
|
ADT plug (Android Developer Tools)
|
Eclipse 的插件,用于关联SDK、提供开发工具
|
sdk目录结构介绍
- tools , platform-tools 开发工具
- platforms 开发版本
- samples 官方提供的例子
- sources SDK源码
- docs 文档
- Android 运行环境
|
|
AVD
|
Genymotion
|
Android 手机 |
|
CPU
|
PC机上模拟器的ARM CPU
|
PC机的x86CPU |
手机硬件
|
| 运行速度 | 极慢 |
快
|
快
|
|
连接开发环境方式
|
本地连接
|
网络连接 |
本地连接
|
| 推荐 | 3星 | 4星 |
5星
|
|
adb install APK路径
|
安装APP (可以直接把APK放在 \data\app目录中)
|
|
adb uninstall 包名
|
卸载APP
|
|
adb devices
|
启动adb,检查设备
|
|
adb kill-server
|
停止 adb
|
|
adb connect IP地址
|
连接网络上的设备
|
- Android项目的目录结构
- src (开发人员源码放置目录)
- gen(自动生成R.java,所有的资源文件都会在R.java文件中以final static 内部类的形式被注册。所以可以通过R..id,R.layout等形式来访问资源。)
- assets(资产目录。在这个目录中放置的资源文件,不会在R.java文件中被注册。一般程序中的音频或视频文件可以放置在这个目录下。)
- bin(编译后的class等文件在此目录。系自动生成 APK)
- libs(第三方Jar包)
- res(资源文件。是Android编程中最重要的目录。所有的资源都定义在这个目录下。)
- drawable(图片放置的目录)【android中资源的文件名[a-z0-9_.],不能数字开头】
- layout(布局文件放置的目录)
- menu(菜单文件放置的目录)
- values(字符串、尺寸等文件放置的目录)
- AndroidManifest.xml (Android清单文件——是Android开发中非常重要的文件。
- 该文件中定义了本App的版本号;
- 适用的手机操作系统最大及最小的兼容版本号;
- 整个项目中每写一个组件(Activity、Service、Broadcast),都需要在该清单文件中注册;
- 运行本程序的权限等等。
- 是否在R.java文件中被注册;
- res所放的文件类型是规定好的;而assets目录下放置的文件类型不限制;
- 访问方法不同。res中文件使用R.内部静态类.id来访问;而assets中的文件通过IO流来访问。
- assets 与 res/raw 目录下的资源在编译打包时,不会被编译成二进制文件,所以一般在该目录下放置 音频、视频等文件
- Android学习方法
- 给自己定一个目标
- 多敲,多练,定期复习
- 一遍抄、二遍改、三遍动手实践
- 好记性不如烂笔头(笔记本)
- 学会总结(重点、问题)
- 查文档、提高英语阅读能力
- 抽查默写关键代码
- 什么是Activity
在一个android应用中,往往是由多个Activity组成的
- String资源
- Android中主要使用Java中的技术
- 多线性
- 网络操作
- IO流
- 集合
- 反射
- 回调模式
- bulid模式
- 单例模式
- 拓展知识 MVC开发模拟
MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器。一个逻辑模型可以对于多种视图模型,比如一批统计数据你可以分别用柱状图、饼图来表示。一种视图模型也可以对于多种逻辑模型。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,这与《设计模式》中的观察者模式是完全一样。
MVC好处:从用户的角度出发,用户可以根据自己的需求,选择自己合适的浏览数据的方式。比如说,对于一篇在线文档,用户可以选择以HTML网页的方式阅读,也可以选择以pdf的方式阅读。从开发者的角度,MVC把应用程序的逻辑层与界面是完全分开的,最大的好处是:界面设计人员可以直接参与到界面开发,程序员就可以把精力放在逻辑层上。而不是像以前那样,设计人员把所有的材料交给开发人员,由开发人员来实现界面。在Eclipes工具中开发Android采用了更加简单的方法,设计人员在DroidDraw中设计界面,以XML方式保存,在Eclipes中直接打开就可以看到设计人员设计的界面。
Android中界面部分也采用了当前比较流行的MVC框架,在Android中:
1) 视图层(View):一般采用XML文件进行界面的描述,使用的时候可以非常方便的引入。当然,如何你对Android了解的比较的多了话,就一定可以想到在Android中也可以使用JavaScript+HTML等的方式作为View层,当然这里需要进行Java和JavaScript之间的通信,幸运的是,Android提供了它们之间非常方便的通信实现。
2) 控制层(Controller):Android的控制层的重任通常落在了众多的Acitvity的肩上,这句话也就暗含了不要在Acitivity中写代码,要通过Activity交割Model业务逻辑层处理,这样做的另外一个原因是Android中的Acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。
3) 模型层(Model):对数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算等操作也是必须放在的该层的。就是应用程序中二进制的数据。
在Android SDK中的数据绑定,也都是采用了与MVC框架类似的方法来显示数据。在控制层上将数据按照视图模型的要求(也就是Android SDK中的Adapter)封装就可以直接在视图模型上显示了,从而实现了数据绑定。比如显示Cursor中所有数据的ListActivity,其视图层就是一个ListView,将数据封装为ListAdapter,并传递给ListView,数据就在ListView中现实。

浙公网安备 33010602011771号